4. Teil
An dieser Stelle ein paar kleine Infos zum Verständnis - hoffe ich zumindest
MIDI-MAP (MPU-401)
Alternative für Windows Vista, 7, 8 und 10
Microsoft hat Zugriff auf die MIDI-Mapper in der Systemsteuerung seit Windows Vista entfernt.
War in den früheren Windows-Versionen kein MIDI-OUT Gerät angeschlossen oder installiert, hat
Windows standardmäßig den Microsoft GS Wavetable Synth Synthesizer zugeordnet.
Der Kern dieser 3MB gm.dls Datei verwendeten Klänge waren aus dem Hause Roland lizenziert.
Dies war ein 16bit GS-Sound-Set mit 226 Instrumenten und 9 Drum-Sets, wobei diese nicht von
hoher Qualität waren.
Das ganze lief über den MPU-401 Port, worüber dann quasi auch die serielle Schnittstelle am PC
als MIDI-Verbindung dienen konnte.
Da diese ganze Geschichte eine alte 16bit Variante war, hat Microsoft diese ab Windows Vista
einfach komplett gestrichen.
Und somit war ab diesen Zeitpunkt Windows im Grunde ohne MIDI !
Heute geht in Sachen MIDI vieles über USB, weshalb es erst einmal grundsätzlich kein Problem
darstellt.
Doch gibt es auch heute noch Versionen, gerade im Freeware-Bereich oder bei älteren Versionen,
die als Grundlage auf diese MIDI-MAP programmiert wurden.
Hierzu gibt es die Datei PLWMidiMap.cpl, die diese MIDI-MAP ab Windows Vista ersetzt und unter
diesen Namen an diversen Stellen im Internet kostenlos runter geladen werden kann.
Bis jetzt hat dies bei Versuchen ohne Probleme sehr gut geklappt und ich kann bis jetzt
nichts negatives berichten.
Buffergöße
Audio-Daten können nicht durchgehend von einem Computer verarbeitet werden.
Denn diese Daten müssen sich die zur Verfügung stehende Rechenzeit mit anderen Laufenden Prozessen teilen.
Daher müssen die Audio-Daten warten, bis andere Prozesse beendet sind.
Aus diesem Grunde stehen durch den Treiber des Audio-Interface, Buffer (Puffer/Speicher) zur Verfügung.
Der Buffer kann eine bestimmte Anzahl von Samples aufnehmen.
Im Buffer werden die Samples also zwischengespeichert und nach Bedarf weitergeleitet um so einen gleich bleibenden Datenstrom ohne Aussetzer zu ermöglichen.
Ist der Buffer groß, können mehr Samples gespeichert werden ohne das Samples nachgeladen werden müssen.
Dafür dauert es aber auch länger bis dieser Buffer mit Samples gefüllt wird.
Je größer das Buffer wird, um so mehr wird auch die Latenz zunehmen.
Ein kleinerer Buffer braucht weniger Zeit bis dieser mit Samples gefüllt wird, muss aber öfters und regelmäßig neue Samples nachladen.
Was wiederum höhere Rechner-Leistung erfodern wird.
Hier ist der Punkt wo experimentiert werden muss, um für sich selber die beste Buffergröße zu finden.
So, das das System noch leistungsfähig bleibt aber auch so, das so wenig wie möglich Aussetzer oder Knackser auftreten.
Grundsätzlich sollten Sie aber immer die Latenz auf den höchstmöglichen Wert einstellen, bei dem noch keine Verzögerungen wahrgenommen werden.
Beispiel:
Sind 256 Samples im Buffer eingestellt, so ergibt das eine Samplingrate von 44,1 kHz mit einer Latenz von
ca. 6 ms.
Stellt man den Wert auf 128 Samples im Buffer, so wird die Latenz theoretisch halbiert, doch wird der Computer auch stärker beansprucht.
Leider gibt es keine Werte die allgemein für jedes System zutreffen werden, so das jeder das für sein System selber „austüfteln“ muss.
Eine gute allgemeine Einstellung wäre aber z.B. 256 Samples im Buffer.
Sollte bei 512 Samples noch keine vernünftige Wiedergabe ohne Aussetzer möglich sein, so wäre das ein Zeichen, das Ihr Computer/Soundkarte den Anforderungen nicht gewachsen ist.
Was wiederum heißen würde:
Den PC aufrüsten oder ein anderer muss her ! - Leider !
Was ich noch kurz anmerken möchte :
Die Angaben zu den Buffergrößen in der der Software entspricht nicht immer den realen wirklichen Werten.
Verlassen Sie sich daher nicht immer auf die Werte die Sie sehen und einstellen.
Bei einigen Software-Instrumente die Samples nutzen, muss nicht unbedingt (nur) auf die CPU Stärke geachtet werden.
Oft wird dort (auch) der RAM für die Zwischenspeicherung genutzt.
Hier wäre ein 64bit System mit entsprechend genügend RAM wertvoller, als eine noch stärkere CPU.
Der ASIO Treiber
Einen wichtigen Punkt bei einem Audio-Interface ist der
ASIO Treiber.
Audio-Stream Input/Output (ASIO) ist ein von Steinberg entwickeltes, Plattform übergreifendes, mehrkanalfähiges Audiotransfer-Protokoll.
Mittels ASIO wird es einer entsprechenden Software ermöglicht, auf die Multi-Channel-Fähigkeiten vieler (professioneller) Sound- und Recordingkarten zuzugreifen.
Hierbei wird bei der Entwicklung darauf geachtet das geringe Latenzen auftreten.
Auch soll die CPU des Computers nur gering ausgelastet werden.
ASIO soll für eine zuverlässige Synchronisierung sorgen.
In günstigen Konfigurationen kann die Latenz bis auf wenige Millisekunden reduziert werden.
Hervorragende Klangqualität und niedrigste Latenzen bis hinunter auf 2 ms sind möglich.
Um die ASIO-Funktionen voll nutzen zu können, muss auch die Hard und Software ASIO Treiber unterstützen.
ASIO ist für MacOS- und Windows Rechner verfügbar.
Ein Beispiel:
Die Latenz ist die Verzögerung die durch die Signalverarbeitung im Computer auftritt.
Wenn zum Beispiel das Signal eines Keyboards am Eingang der Soundkarte eingespeist wird, und es somit durch die Soundkarte in die Audio-Software geht (z.B. für die Berechnung eines Effektes) und dann wieder am Soundkarten-Ausgang ankommt ist Zeit vergangen.
Hier wird von einer Latenzzeit gesprochen.
Durch einen ASIO Treiber wird die Latenz-Zeit reduziert und erst bei einer guten Latenz wird dieses Problem quasi verringert, so das es nicht mehr hörbar wird.
Was aber nur eine Eigenschaft des ASIO Treibers ist.
OK, bei unserem Vorhaben wird nun kein Audio-Eingangsmaterial bearbeitet.
Doch die Sounds in einem PC Instrument müssen auch berechnet werden, da diese Effekte, Samples usw. verwenden.
Samples sind z.B. aber dennoch wieder Audio-Material ....
Und PlugIns sind oft Latenz-behaftet.