RODE NT1-A : Kondensatormikrofon statt dynamisches Gesangsmikrofon

Voraussetzungen

  • Normaler Gesangsmikroständer vorhanden
  • Audiointerface mit Phantomspeisung vorhanden
  • Hallarmer Raum vorhanden
  • Preis: 185 EUR

Preis

  • Mikrofonpreis: 185 EUR
  • Versteckte Kosten (Schallwand): 57,10 EUR

Packungsinhalt

  • Puffschutz
  • Spinne
  • XLR Kabel
  • CD „Studio Secrets“
  • Staubschutzhülle

Bericht

In der Vergangenheit habe ich viel über die Vorteile von Kondensatormikrofonen bei Aufnahmen von Gesang gelesen.

Im Internet sah ich einige positive Rezensionen über die Kondensatormikrofone RODE NT1-A, RODE NT2-A, RODE NT-1000 und RODE NT-2000. In Forenbeiträgen wurde das RODE NT-2000 mit besseren Klangeigenschaften anstelle des NT1-A oder NT2-A gepriesen, wobei das NT1-A angeblich bei der Aufnahme von Akkustikgitarren gute charakteristische Eigenschaften aufweisen soll.


Im Special der Zeitschrift KEYS 02/2015 wurde es in einer Übersicht der zehn bezahlbaren Alround-Studio-Arbeitstiere folgendermaßen beschrieben:
„Preisgünstig und im Klang auf eine positive Art und Weise so durchschnittlich, dass man es vor fast jedes Instrument hängen kann. Auch in der Nachberabeitung verhalten sich die Signale gutmütig. Als Sprechermikrofon bietet es einen angenehm steuerbaren Nahbesprechungseffekt und ausreichend Brillanz. Viel Mikro für wenig Geld, dazu kommt die für den Preis gute Verarbeitung.“

Nahbesprechungseffekt: Bei jedem Mikrofon, das über eine Richtwirkung verfügt, kommt es zum so genannten Nahbesprechungseffekt. Je näher die Schallquelle, etwa ein Sprecher, an die Membran des Mikrofons tritt, desto stärker werden die tiefen Frequenzen wiedergegeben – je nach Mikrofontyp und Abstand um bis zu 15 dB. Dies führt besonders bei Sprechern und Sängern zu einem allgemein als wärmer und dichter empfundenen Klang. Diese Form der Klangfärbung funktioniert aber auch bei anderen Signalen, wie etwa Gitarrenlautsprechern

Das RODE NT1-A verfügt also laut KEYS über gute Eigenschaften zur Aufnahme von Sprache und Instrumenten. In einigen Foren las ich, dass es auch für Gesang super geeignet sei, was allerdings auch von der Individualität der Stimme abhängt. Durch die Richtcharakteristik (goldener Punkt ist die Membranrichtung) existiert hier auch der Nahbesprechungseffekt.

Ich stand also letzte Woche im Musikhaus „Mollenhauer“ in Fulda, welches sich bei mir gleich um die Ecke befindet und das NT1-A als einziges RODE Mikro im Angebot hatte. Allerdings hat mich der Preis und die mangelende Professionalität meinerselbst beim Singen davon abgehalten, ein besseres Aufnahmemikro zu besorgen.
Da ich eigentlich nicht unbedingt zu den Niedrigverdienern gehöre, gerne mal etwas ausprobiere und gleichzeitig ungern Geld zum Fenster rausschmeisse, entschied ich mich also das gute Stück für 185 EUR zu kaufen. Im Internet gab es noch eine weitere Version der NT1-A Box, in der ein Ständer enthalten war. In Forenbeiträgen wurde über diesen Ständer negativ berichtet. Er würde leicht umkippen und instabil auf den Füßen stehen. Nun stellte sich für mich als erstes die Frage…

Lässt sich das Mikrofon an einem normalen Gesangsmikroständer montieren?

… also kaufen oder nicht kaufen….? Leider hatte ich keine Wahl, ich musste das Mikrofon kaufen! Also zack – Geld rausgehauen und ab nach Hause…

Als ich daheim ankam, konnte ich gleich meine erste positive Erfahrung machen:

Das Mikrofon passt mit der Nuss in einen Standardgesangsmikroständer!

Montiert sieht das gute Stück mit dem Puffschutz und der Spinne also so aus:

20160605_144459.jpg

Als nächstes suchte ich auf meinem Line 6 KB37 also den Schalter, der die Phantomspeisung aktiviert. Dieser befindet sich in Form eines Schiebeschalters auf der Rückseite des Gerätes (neben dem Schiebeschalter für aktive/passive Speisung).

Line-6-TonePort-KB37-3

Die Phantomspeisung von 48 Volt wird über das Mikrofonkabel zum Kondensator geführt und ermöglicht das „Aufladen“ des Konsensators. Der Kondensator besteht aus 2 Platten, dessen „Kapazität“ sich bei Vergrößerung und Verkleinerung des Abstandes ändert. Eine Platte ist beweglich, ähnlich wie die Membrane bei einem dynamischen Gesangsmikrofon, nur das diese Beschaffenheit wesentlich natur- und detailgetreuer Aufnahmen mit brillianten Höhen ermöglichen soll.

Mein erster Aufnahmeversuch war allerdings sehr ernüchternd. Obwohl ich mich in einem kleinem Raum befinde, hallen die mit Rauhfasertapete bekleisterten Wände relativ stark. Das ist eine Detailtreue, die jede Aufnahme mit einem dynmaischen Gesangsmikro besser klingen lässt. Im nächsten Schritt nahm ich bei meiner Line 6 Software, die zusätzliche Charaktereigenschaften v0n Gesangsverstärkern und Mikros nachbilden soll alle Einstellungen dahingehend, das fast keine Effekte mehr vorhanden waren – Nachbearbeitung ist hier scheinbar besser. Also: Alle Effekte aus POD-Farm rausgenommen und ein bischen Gain mit Verstärker drauf hört sich hier am Besten an. Allerdings war der Raumhall immer noch detailiert auf den Aufnahmen zu hören. Ein dynamisches Mikro hat so etwas nie aufgezeichnet. Ich umschlung mich mit einer Decke, und deckte mich und das Mikrofon zu. Diese Aufnahme klang schon besser. Allerdings ist das sehr umbequem. Die Stelllampe in meinem Räumchen sollte nun als Bettdeckenhalter dienen – also fehlte mir noch eine weitere Bettdecke die ich dann von meiner Frau klaute. Ich hing sie über die Lampe und ging in eine Ecke, in der ich direkt gegen Büroordner singen konnte. Das war schon besser. So… was jetzt? So kann das nicht bleiben!

Ich studierte nun die beigelegte CD „Studio Secrets“, in der ein Tontechniker aus Detroit mit dem NT1-A und 2 Musikern klangliche Veränderungen demontriert, anhand der folgenden Parameter:

Raumanteil Natürlicher Equalizer Reduktion von Gesangsgeräuschen
  • Hohe Distanz zum Mikrofon
  • Niedrige Distanz zum Mikrofon
  • Frontales Einsingen (mit dem goldenen Punkt in Sichtrichtung Sänger)
  • Seitliches Einsingen (durch seitliches Drehen -> der goldene Punkt ragt zur Seite)
  • Mit Puffschutz
  • Ohne Puffschutz

Nun bestellte ich 3 mm dicke 2000mm x 1000mm-Noppenschaummatten im Musikhaus Mollenhauer, die ja bekanntlich eine gute Schallisolierung bieten sollen. Die erste Matte nagelte ich mit kleinen Reiszwecken an die Wand, die zweite Matte wollte ich an einer Stellwand festkleben, so dass ich den Raum künstlich verkleinern und trotzdem gegen eine Akkustikwand singen kann. Dafür ließ ich mir im OBI eine 2m x 1m Meter Sperrholzrückwand (wie sie z.B. in einem typischen IKEA-Schrank verwendet wird ) zuschneiden. Mit 3 2-Meter Latten, von denen ich mir eine zwecks Querverstrebung halibieren ließ, verstärkte ich die dir Rückwand. Hierdurch erhielt ich eine transportable, leichtgewichtige 2m x 1m Wand.

Das Ergebnis sieht so aus:

wp-1465899595647.jpeg

wp-1465899569961.jpeg

Die Kosten hierfür betrugen:

Ort Artikel Anzahl Gesamtpreis
OBI Sperrholzrückwand inklusive Zuschnitt auf 1m x 1m 2 7,50 EUR
OBI 2m Latte 3 5,10 EUR
OBI Kleine Spak’s Schrauben 100 2,50 EUR
Musikhaus 2m x 1m Noppenschaum 2 42 EUR
Total: 57,10 EUR

Hier noch ein kleines, effektives Update mit 2 St. 1mx1m-Schaumstoffmatten, welches zusätzlich den Hall von Boden und Decke reduziert. Das Ergebnis lässt sich hören.
Man kann die Wand sowie die Decke ohne Befestigung aneinanderstellen.

20160618_160537.jpg

Zusätzlich benutze ich jetzt noch eine Stelllampe, mit der ich auf einem Brett meine Bettdecke hinter mich hänge. Der Raum sollte übrigens nicht völlig absorbieren, sondern den störenden Nachhall reduzieren, der von glatten Wänden reflektiert wird. In einem interessanten Videobeitrag von Musotalk „Stimme zu Hause aufnehmen“ wird darüber gesprochen, dass es aber nicht das Ziel ist 100 Prozent des Raumes zu absorbieren, nachdem der Vorschlag eines Rekordinghelms mit Noppenschaum gemacht wurde.

Das Video befindet sich hier:

Als Kommentar unter einem Musotalk Video gab es auch: Ich benutze 3 alte Mikrofonständer und behänge diese mit Decken (nochmal als Alternative falls alte Decken und Mikroständer da sind).

Microsoft SQL Server: Enable SQL Server Autentication (mixed mode) / Login für SQL User mit Connectionstring ermöglichen

Problem

Der SQL Server erlaubt keine Zugriffe über einen Connectionstring.
Microsoft SQL Server does not allow

Analyse

Also Standardauthentifizierungsmethode ist „Windows Authentication“ ausgewählt. Man benötigt „SQL Authentication„, was als „mixed mode“ im Microsoft SQL Server Kontext genannt wird.

Vorgehensweise

1.) Öffnen Sie Microsoft SQL Server Management Studio Express und klicken Sie mit der rechten Maustaste auf den Server Knoten.

schritt1

2.) Im Navigationsmenü auf der linken Seite wählen Sie den Punkt „Security“ aus und sehen die folgenden Einstellungen, in denen Sie „mixed mode“ aktivieren können, um Zugriffe per Connectionstring grundsätzlich zu erlauben.

schritt2

Äbblwoi – Hals hie nei – SoundCloud

Listen to Äbblwoi – Hals hie nei by Björn Karpenstein #np on #SoundCloud

Isch kipp mir jetzt den Äbblwoi
einfach in den Halse nei
und wenn er uffgestoße is
hon isch in de Handkäs g’biss
Hey Herr Werd der Kruch is leer
bring mir schnell en neuje her
Ma Fraa is mer jetz fortgeloffe
isch hab nämlich voll g’soffe

N Äbbelsche
N Bembelsche
Äblwoi,
Halse nei,
Im Summer in der größten Hitz
Mim Bembel isch im Schadde sitz

Ihr Leit macht leer des Äblfoss
ihr wuiht doch ohch de saure Sposs
Es fegt de Mage, labt die Schnut,
Es Stöffsche is für alles gut
So laut de ärztlische Befund
des Stöffsche is ja so g’sund
Nur ne eschte Hessenaas
passt hinei ins Schobbeglas

N Äbbelsche
N Bembelsche
Äblwoi,
Halse nei,
Im Summer in der größten Hitz
Mim Bembel isch im Schadde sitz

N Äbbelsche
N Bembelsche
Äblwoi,
Halse nei,
Im Summer in der größten Hitz
Mim Bembel isch im Schadde sitz

Komplette IDE mit PHP- und Javascript-Debugging unter Windows unter Verwendung von Wampserver [v3.0.0] und „Eclipse for PHP Developers“ (Eclipse PDT) MARS.2 [v4.5.2]

Problem

Für das Debugging von PHP Webanwendungen wird eine PHP Debuggingumgebung benötigt.

Ansatz

Die kostenlose Anwendung WAMPSERVER (hier v.3.0.0) wird mit „Eclipse for PHP Developers“ (MARS.2) konfiguriert, um das Debugging zu ermöglichen.

Vorgehensweise

  • Download von Wampserver unter http://www.wampserver.de
  • Installation als Administrator (rechte Maustaste „als Administrator ausführen“)
    • z.B. in c:\dev\wamp
  • Download von „Eclipse for PHP Developers“ unter http://www.eclipse.org
  • Entpacken von „Eclipse for PHP Developers“ in ein gewünschtes Verzeichnis

Lösung

Nachdem der Wampserver gestartet wurde und unter der URL http://localhost erreichbar ist, kann bereits mit der Konfiguration von Eclipse begonnen werden.

  1. Eclipse starten
  2. Workspace direkt im WWW root auswählen (bspw. bei Installation in c:\dev\wamp)
    workspace
  3. Mit OK bestätigen
  4. Im Menü „Window -> Preferences“ wählen
    menu_window_preferences
  5. PHP Executable hinzufügen
    PHP_Executables
  6. PHP Executable angebenTab_PHP_Executable
  7. Unten auf den Button „Next->“ klicken (nicht im Screenshot da Edit-Dialog)
  8. Debugger angeben -> XDebug auswählen!Tab_Debugger
  9. Mit okay bestätigen
  10. Einstellungen unter Menu->Preferences->Debug überprüfen (ist der angelegte Debugger aktiviert?).einstellungen_debug
  11. Web Browser angeben (ich empfehle Google Chrome)eclipse_preferences_webbrowser
  12. Neues PHP Projekt anlegen
    neues_php_projekt
  13. Folgende Einstellungen tätigen neues_php_projekt_auswahl
  14. Rechtklick auf das neu angelegte Projekt -> New -> PHP Fileneues_php_projekt_datei_hinzufuegen
  15. Die Datei beispielsweise index.php benennen new_phpfile_index_benennen
  16. Test-Sourcecode in index.php einfügen
    <?php
    	$i=0;
    	$i++;
    	$i=$i+1;
    	print $i;
    ?>
    
  17. Breakpoint setzen (Doppelklick links neben die Zeile)
    debug_configuration_index_Debugger2
  18. Debug Configuration für die Website anlegen (rechts neben die Debug Wanze klicken -> Debug Configurations)
    debugger_wanze
  19. Debug Configurations -> PHP Web Application -> index -> Server
    debug_configuration_index_serverDie Startdatei /Bier.de/index.php entspricht auch dem Aufruf über http://localhost/Bier.de/index.php, da wir den Workspace im c:\dev\wamp\www-rootverzeichnis angelegt haben.
  20. Debug Configurations -> PHP Web Application -> index -> Debugger
    debug_configuration_index_Debugger
    Wenn „Break at First Line“ ausgewählt ist, hält der Debugger automatisch bei der ersten Zeile an. Dies ist nicht immer gewünscht!
  21. Debug Button klicken
  22. Bestätigen dass auf die PHP Debug Perspektive gewechselt wird
  23. Für das Javascript-Debugging Empfehle ich dringend den ausgereiften Chrome Javascript Debugger zu verwenden. Dieser lässt sich in Chrome folgendermaßen starten:
    chrome-debugger1
  24. Hier kann man Breakpoints setzen und den Objektbaum jederzeit einsehen:
    chrome-debugger2

 

 

 

 

IBM Doors DXL: Set and delete Permissions on objects

Problem

Einem Object obj sollen Permissionrechte gegeben oder genommen werden.

Ansatz – Approach

* unsetAll(obj) – löscht alle User Berechtigungen / clears all user permissions set for the specified argument.
* setImplied(obj, permission) – Vererbt Kindern, die vom Element erzeugt werden, zusätzliche Rechte / sets the extra access control propagated by create for children of the resource.
* set(obj,permission,null) – Berechtigung für Everyone Else vergeben / sets the „Everyone else“ permission

Lösung – Solution

Hier einige Beispiele

// Gib Every Else alle Rechte
Permission allPermissions=read|create|modify|delete|control;
set(obj, allPermissions, null);

// Lösche alle Rechte außer Everyone else
unsetAll(obj); 

// Gib den Gruppen ChangeControlBoard, Admin, RequirementsManager alle Rechte
set(obj, allPermissions, \"ChangeControlBoard\");
set(obj, allPermissions, \"DB_Admin\");
set(obj, allPermissions, \"RequirementsManager\");

// Gib der Gruppe NDS_Team read-Berechtigung 
Permission readCreatePermissions=read|create;
set(obj, readCreatePermissions, \"NDS_Team\");

// Das Objekt soll zusätzlich zu den bestehenden Rechten die Modify Rechte vererben. 
Permission modifyPermission=modify;
string errMess=setImplied(obj, modifyPermission);
if(!null errMess)
{
   ack errMess;
}
		
// Lösche alle Berechtigung von everyone else außer read
Permission readPermission=read;
set(obj, readPermission, null);		

JIRA SQL: Get Issue count of Issue Types and Issue status of alle JIRA projects / Anzahl der Issues pro Issue Type / Status pro Projekt

Problem

Für alle JIRA Projekte soll die Anzahl der Issues pro Issue Type und Issue Status ermittelt werden.

Ansatz – Approach

SQL Database Query

Lösung – Solution

SELECT project.pname 'Project', issuetype.pname 'Issue Type', issuestatus.pname 'Status', COUNT(project_key.PROJECT_KEY+'-'+CAST(issuenum AS VARCHAR(5))) 'Count'
FROM jiraissue
INNER JOIN project_key ON jiraissue.PROJECT=project_key.PROJECT_ID
INNER JOIN project ON CAST(project.ID as nvarchar)=project_key.PROJECT_ID 
INNER JOIN issuestatus ON issuestatus.ID=jiraissue.issuestatus
INNER JOIN issuetype ON issuetype.ID=jiraissue.issuetype  
GROUP BY project.pname, issuetype.pname, issuestatus.pname 

Microsoft IIS 7: Windows Authentication fehlt / missing (Single-Sign-On einstellen)

Problem

Eine Seite soll für Windows Authentication konfiguriert warden, im Bereich IIS unter dem Punkt „Authentication“ soll ein Punkt „Windows Authentication“ sein. Dieser ist nicht vorhanden.

Voraussetzungen

Es wird eine Windows Server Variante verwendet (nicht Windows 7 Home Editions)

Ansatz – Approach

Die Server-Rolle muss nachinstalliert warden.

Lösung – Solution

1.) Den Server Manager starten
server_manager_starten

2.) Einen Rollenservice auf dem IIS-Unterpunkt hinzufügen
Add_Role_Services

3.) Auswahl der Authentifizierungsmethode
select_authmethods

4.) Nun ist unter dem Punkt „Windows Authentication“ im Bereich IIS der Punkt „Windows Authentication“ vorhanden, dieser kann ausgewählt warden und Anonymous Login kann disabled warden.
punkt_vorhanden

MS SQL Server: The database principal owns a schema in the database, and cannot be dropped

Problem

Ein Microsoft SQL Server User kann nicht gelöscht werden. Es erscheint die Fehlermeldung

„The database principal owns a schema in the database, and cannot be dropped“

Ansatz – Approach

Nutzung des Systemkatalogs zum finden der betroffenen Schemas
Änderung der Berechtigungen mit ALTER AUTHORIZATION
Löschen des Benutzers

Lösung – Solution

SELECT name FROM sys.schemas WHERE principal_id = USER_ID('benutzer')

Gefundene Principals (z.B. db_owner…) in Alter Authorization eintragen:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo
ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo

DROP USER benutzer

Excel VBA: Kommandozeile / Command Line / DOS Parameter an Excel übergeben

Problem

An eine Excel-Datei soll ein Kommandozeilenparameter übergeben werden, der in VBA weitergenutzt werden kann.

Ansatz – Approach

  • Nutzung der Kernel32.dll-Bibliothek
  • Deklaration von Kernel32-Funktionen
    • GetCommandLineW
    • lpString
    • RtlMoveMemory
  • Erstellung einer Funktion für die Verwendeung
  • Beispielaufruf

Lösung – Solution

Im Modulkopf von Modul1.bas (oder auch in der Arbeitsmappe) werden Funktionen deklariert:

Modulkopf

1.) Modulkopf (Modul1.bas): Deklaration der Kernel Funktionen für die Ausführung von Kommandozeilenparametern:

' Used at module level to declare the default 
' lower bound for array subscripts (Array starts with 0)
Option Base 0

' Erzwingt die explizite Deklaration aller 
' Variablen in einer Datei 
Option Explicit

' Deklariert die Funktionen aus kernel32.dll 
Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineW" () As Long
Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (MyDest As Any, MySource As Any, ByVal MySize As Long)

2.) Erstellen einer einfachen Funktion, die die Ausführung von Kommandos anhand der kernel32.dll-Funktionen erlaubt.

Function CmdToSTr(Cmd As Long) As String
Dim Buffer() As Byte
Dim StrLen As Long
   If Cmd Then
      StrLen = lstrlenW(Cmd) * 2
      If StrLen Then
         ReDim Buffer(0 To (StrLen - 1)) As Byte
         CopyMemory Buffer(0), ByVal Cmd, StrLen
         CmdToSTr = Buffer
      End If
   End If
End Function

3.) Wenn das Workbook (die Arbeitsmappe) geöffnet wird, soll der Parameter (hier /cs:irgendwas ) zur Weiterverwendung genutzt werden können

Private Sub Workbook_Open()
    Dim CmdRaw As Long

    Dim CmdLine As String
    Dim start As Integer
    'The return value is a pointer to the command-line string for the current process.
    CmdRaw = GetCommandLine
    CmdLine = CmdToSTr(CmdRaw)
    
    start = InStr(CmdLine, "/cs:")
    ende = Len(CmdLine) - start - 3
    Tabelle1.Cells(1, 1) = Right(CmdLine, ende)

    mainForm.Show
End Sub

4.) Aufruf der Datei

C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.exe C:\tracematrix.xlsm /cs:meinParameter

.NET C#: Execute command line batch file and process the output line by line (line break treatment)

Problem

A Batch File should be executed and the output processed line by line. This is especially useful when you want to generate line break treatments.

Ansatz – Approach

The usage of a stream reader helps to process the output line by line.

Solution – Lösung

Process p = new Process();

// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.FileName = "D:\\doors_stats\\whatschanged.bat";
p.Start();

StreamReader sr = p.StandardOutput;
string output = "";
while (!sr.EndOfStream)
{
	// Do s.th. with the received line (i.e. concate)
	output += sr.ReadLine() + "\n\n<br/>";
}

by Björn Karpenstein