 |
 |
 |
 |
 |
 |
 |
 |
 |
Einleitung
|
 |
 |
 |
|
 |
 |
|
 |
 Willkommen auf der White Key - Seite.
White Key ist ein kleines Programm, welches MIDI-Dateien über Digital-Audio
unter Benutzung von Audio-Samples (WAV-Dateien) oder
SoundFonts (SF2-Dateien) abspielt.
White Key ist für RISC OS, Linux und andere Betriebssysteme erhältlich.
Die neueste Version ist auf der
Download-Seite zu finden.
Bekannte Probleme der letzten Version:
Dies ist die erste Veröffentlichung einer Linux-Version, und
wurde noch nicht mit verschiedenen Kernels und Versionen getested.
Dies ist die erste Veröffentlichung einer Windows 95 version,
bisher nur kommandozeilenbasiert. Sie wurde nicht unter Windows NT getested.
Stereo-SoundFonts werden nur Mono wiedergegeben.
Portamento und Modulation sind immer noch experimentell.
|
|
 |
 |
|
 |
 |
|
 |
 |
 |
|
 |
Dokumentation
|
 |
 |
 |
|
 |
 |
|
 |
Der White Key MIDI-Player
- I Generelles
- I-I Status
- I-II Copyright
- II Gegenerklärung
- 1. Einführung
- 1.1. Was ist White Key?
- 1.2. Eigenschaften
- 1.2.1. Was White Key kann
- 1.2.2. Was White Key nicht kann
- 2. Anwendung
- 2.1. Abspielen eines MIDI-Stückes
- 2.1.1. RISC OS
- 2.1.2. DOS und andere
- 2.2. Mögliche Optionen
- 2.2.1. Samplerate
- 2.2.2. Lautstärke
- 2.2.3. Instrumenten-Definitions-Datei
- 2.2.4. Bank-Abschaltung
- 2.2.5. Undefinierte Instrumente
- 2.2.6. Kein Ausklingen
- 2.2.7. Ausgabe in eine Datei
- 2.2.8. Wiederholung
- 2.2.9. SoundFonts
- 2.2.9.1. SoundFont-Datei
- 2.2.9.2. Verlagern der Bänke
- 2.2.10. Optionsdatei
- 2.3. Die Instrumenten-Definitions-Datei
- 2.3.1. Benutzung
- 2.3.2. Format
- 2.3.2.1. Schlüsselworte
- 2.3.2.2. Beispiel
- 3. Funktionsweise
- 3.1. Geschwindigkeit
- 3.1.1. Generelles
- 3.1.2. Die Hauptberechnungen
- 3.1.3. Die 'Schritt-Algorithmen'
- 3.2. Bekannte Probleme
- 3.3. Technische Details
- 3.3.1. Eingabesamples
- 3.3.2. Die private Hüllkurvendefinition
- 3.3.3. Ausgabebeschränkungen
- 4. Support
- 4.1. Generelles
- 4.2. Mitwirkung
- 4.3. Kontakt zum Autor
-
White Key ist ein Shareware-Programm. Wenn es Dir gefällt, Du es sehr oft benutzt, oder unglaublich reich bist, solltest Du mir eine handvoll Moneten zukommen lassen. Der Betrag soll dem persönlichen Nutzen entsprechen, für Erwerbstätige aber mindestens fünf Euro betragen. Damit kaufst du nichts zusätzliches, es ist für die Version von White Key, die Du bereits besitzt. Die Nutzung des Programms ist kostenlos für einen 30-Tage-Zeitraum, solange sie nicht kommerziellen Zwecken dient.
-
Du kannst das Programm frei, und so oft du willst, kopieren, solange Du damit kein Geld verdienst. Du solltest aber keine Veränderungen am Gesamtpaket vornehmen, bzw. deutlich darauf hinweisen. (z.B. in Form einer Textdatei) Alle fremden Produktnamen wie Yamaha, Soundblaster, SoundFont und Sound Forge stehen unter dem Copyright ihrer Eigentümer. Die Standard-Sample-Bibliothek basiert auf Audiosamples von einem Yamaha-Keyboard. Ich weiss nichts über das Copyright, und falls Du keine Informationen darüber hast, solltest Du annehmen, dass diese auch unter irgendeinem Copyright stehen. Dasselbe gilt für die MIDI-Datei-Beispiele.
-
Es wird keine Verantwortung übernommen für Verluste von Daten und/oder Geld, die aus der Benutzung oder dem Missbrauch des White Key-Paketes resultieren.
-
White Key ist ein kleines Programm, welches MIDI-Dateien über Digital-Audio unter Benutzung von Audio-Samples (WAV-Dateien) sowie SoundFonts abspielt. Dies führt zu Ergebnissen weit besser als OPL3 und anderen Krankheiten (selbst bei 8000 Hz), ist vergleichbar mit Wavetable-Soundkarten und sogar billigen Keyboards. White Key bietet die Möglichkeit, Nutzerdefinierte Samples zu verwenden, daher können die Ergebnisse sogar besser sein als mit Mittelklasse-Keyboards. Zur Beachtung: White Key war nie als professionelle Anwendung gedacht.
-
White Key emuliert
- die höchstmögliche Anzahl MIDI-Datei-Spuren (65535)
- die höchstmögliche Anzahl MIDI-Kanäle (16), mit Schlagzeug auf Kanal 10
- unendlich viele polyfone Stimmen auf jeder Spur und Kanal
- 128 Bänke mit 128 MIDI-Instrumenten plus 128 Schlagzeuge in 128 Schlagzeug-Sets (zusammen also über 2 Millionen Instrumente)
- die wichtigsten Controller-Changes wie Program Change, Main Volume und Panorama
- ein Pitch-Wheel mit variablem Bereich
White Key nutzt
- 8 bit/16 bit mono/stereo WAV-Dateien
- optionale Sampler-Information innerhalb der Datei für Sustain- und Release-Schleifen (smpl-Section)
- optionale Hüllkurven-Information innerhalb der Datei (privates Im-Kommentar-Format)
- SoundFonts (Version 2)
Whie Key erzeugt
- internen 24 bit effektiven Stereo-ton
- 8 bit oder 16 bit linearen oder logarithmischen Stereo- oder Mono-Ton, abhängig von der jeweiligen Hardware
- 8 bit logarithmischen Stereo-ton für RISC OS Maschinen
-
zum momentanen Zeitpunkt
- die Emulation von selten benutzten Controller-Changes
- korrekte Emulation von Modulation
- korrekte Emulation von Portamento Time, es scheint da keine Standards zu geben
- Unterstützung für 16 bit Sounderweiterungen am RISC PC, weil 8 bit log wirklich ausreichend ist, um eine hübsche HiFi-Stereo-Welle zu erzeugen
möglicherweise zu jeder Zeit
- Einzeltasten- und polyfonen Aftertouch
- die meisten Control Changes und alle RPN/NRPN-Messages, die noch nicht erwähnt wurden
- das Hinzufügen komplexer Effekte wie Echos, Filter oder 3D-Processing
-
(Bei Nutzung der Kommandozeile bitte den DOS-Abschnitt lesen.)
Beim Doppelklick auf die WhiteKey-Anwendung erscheint diese auf der Symbolleiste. Die Info-Anwendung kann Dir den Rest erklären. Falls Deine MIDI-Dateien vom Typ 'MIDI' (fd4) sind, kannst du auf ein Stück doppelklicken, um die Wiedergabe zu starten.
-
Du startest die Wiedergabe eines MIDI-Stückes, indem Du einfach den Namen des Programms (normalerweise whitekey), gefolgt vom Namen der Datei (z.B. song.mid), eingibst. Es werden dann die Standard-Samples zur Wiedergabe verwendet. Desweiteren kannst du vor dem MIDI-Dateinamen eine oder mehrere Optionen (mit Leerzeichen getrennt) angeben. Aufrufe könnten beispielsweise so aussehen:
whitekey -i -r16000 -v80 -idfC:\WK\IDF2.TXT C:\MIDI\CHOPIN.MID
whitekey -b -sfSOUNDFONT/GM.SF2 MIDI/HYMN.MID
-
Wiedergabe mit einer benutzerdefinierten Samplerate (in Hz), sinnvolle Werte reichen von 4000 bis 48000, White Key wählt die nächstmögliche Rate für die aktuelle Hardware. Je höher die Rate, desto besser ist die Ausgabequalität, aber um so mehr Berechnungen werden benötigt.
Die Befehlssyntax ist
-r<zahl>
-
Der Erzeugte Ton mag zu leise (oder auch zu laut) erscheinen. Normalerweise ist die Lautstärke 100 (in Prozent), aber Du kannst sie von 0 bis beispielsweise 200, oder noch höher, einstellen. Bei zu hohen Werten kann es aber zu übersteuertem Klang oder sogar fehlerhafter Ausgabe kommen. Diese Einstellung ist besonders nützlich bei Ausgabe auf einem 8 Bit linearem Soundsytem mit sehr leisen Eingabesamples (wie den Standardsamples). Allgemein sollte die Verwendung dieser Option vermieden werden, denke daran, dass es auch ein paar Knöpfe an Deiner Sound-Ausrüstung gibt.
Die Befehlssyntax ist
-v<zahl>
-
Mit dieser Option musst du Dateinamen angeben. Diese zeigen auf Instrumenten-Definitions-Dateien, welche das erwartete Format haben müssen.
Die Befehlssyntax ist
-idf<dateiname>
-
Jeder Program Change auf Schlagzeug-Channels und alle Bank Switches werden ignoriert. Diese Option wird für die Standard-Instrumenten-Definitions-Datei empfohlen.
Die Befehlssyntax ist
-b
-
Es werden keine Fehler gemeldet, falls zu einem Instrument keine Definition existiert, statt dessen werden diese Instrumente einfach nicht gepielt.
Die Befehlssyntax ist
-i
-
Alle 'release'-Hüllkurvendefinitionen in den Quellsamples werden ignoriert. Aktiviere diesen Schalter, um zu verhindern, dass Töne nach dem Note-Off-Event weiterklingen. Dieses 'Tracker-Stil'-Verhalten ist besonders nützlich für sehr langsame Maschinen, beim Spielen von Instrumenten, die normalerweise sehr langsam ausklingen.
Die Befehlssyntax ist
-x
-
White Key bietet die Möglichkeit, die Ausgabe in eine WAV-Datei anstatt der Audio-Hardware umzuleiten. Dabei ist zu bedenken, dass beim Abspielen in CD-Qualität 10 MB Plattenkapazität pro Minute benötigt werden. Das Ausgabeformat kann umgestellt werden - Standard ist 16 Bit Stereo, möglich sind 8 / 16 Bit Mono / Stereo.
Die Befehlssyntax ist ( [...]=optional )
-o<dateiname> [-fm8] [-fm16] [-fs8] [-fs16]
-
Wenn diese Option benutzt wird, wird die Musik wiederholte Male gespielt.
Die Befehlssyntax ist
-loop
-
Bei Benutzung dieser Option verwendet White Key beim Abspielen eines Musikstückes die im angegebenen SoundFont enthaltenen Instrumente.
Die Befehlssyntax ist
-sf<dateiname>
-
Obwohl in SoundFonts zu jedem Instrument eine Banknummer angegeben ist, stimmen diese nicht immer mit den im Musikstück verwendeten überein. Durch Verwendung dieser Option können solche Abweichungen korrigiert werden. Der angegebene Wert wird zu allen Bankangaben im SoundFont addiert, was zu einer Verschiebung der Bänke nach hinten führt. Eine verbreitete Angabe ist '1', welche die Standardinstrumentenbank vor Überschreiben schützt. Der Wert '0' entspricht dem normalen Verhalten.
Die Befehlssyntax ist
-shift<zahl>
-
Statt in der Kommandozeile können alle Parameter auch in einer Textdatei übergeben werden. In dieser Datei muss jede Option am Beginn einer neuen Zeile stehen.
Die Befehlssyntax ist
-@<dateiname>
-
Die Instrumenten-Definitions-Datei (IDF) sagt White Key, wo das Sample für eine gegebene MIDI Programm- und Banknummer zu finden ist. Sie erreicht dies durch die Angabe eines Dateinamens für jedes benötigte MIDI-Instrument.
-
Die IDF ist eine Textdatei mit spezieller Struktur: Es gibt zwei notwendige Schlüsselworte:
#begin und #end.
Das erste markiert den Start der Instrumenten-Suchliste, das zweite beendet diese.
Dazwischen kann eine beliebige Anzahl Zeilen mit folgendem Format stehen:
<bank>, <programm>[, <schlüssel>]: <pfad>
Wobei <bank> eine zahl grösser gleich 1 ist, welche die Soundbank angibt (1 ist Standard), <programm> ist eine Zahl, die die Programmnummer angibt (1 bis 128) , und <schlüssel> die Schagzeugnote (1 bis 128 für MIDI-Note C0 bis G10 auf Kanal 10), diese Angabe ist nur für Schlagzeuge erforderlich. <pfad> ist der Pfad- und Dateiname des entsprechenden Samples, welcher das Standardformat für dein System, oder eine systemunabhängige Form haben kann, ein Doppel-Leerzeichen repräsentiert dann das 'Verzeichnis'-Zeichen, ein einzelnes Leerzeichen das 'Erweiterung'-Zeichen. Zu beachten ist, dass genau ein Leerzeichen zwischen Dopppelpunkt und dem <pfad>-Element stehen muss. Es gibt noch ein zusätzliches Schlüsselwort:
#path <suchpfad>. Dieses kann sich vor dem #begin Schlüsselwort befinden. <suchpfad> ist das systemabhängige Format eines Verzeichnisses, in dem zuerst nach den Samples gesucht wird. Zu beachten ist, dass diese Angabe immer mit dem 'Verzeichnis'-Zeichen des jeweiligen Systems enden wird. Der Pfad der IDF wird automatisch in die Suchliste aufgenommen.
-
Dies ist ein Beispiel für ein kleines IDF, wie es auf einem DOS-Rechner aussehen könnte. Das MIDI-Instrument 'Acoustic Grand Piano' wird die Datei C:\SAMPLES\PIANO1.WAV benutzen, die Entsprechung von 'Tuba' auf Bank 2 wird C:\SAMPLES\SPECIAL\ELECSND.WAV verwenden, und das Schlagzeug 'Low Tom' C:\SAMPLES\DRUMS\TOM\LOWTOM.WAV :
#path C:\SAMPLES\
#begin
1, 1: PIANO1 WAV
2, 59: SPECIAL ELECSND WAV
1,1,46: DRUMS TOM LOWTOM WAV
#end
-
White Key muss zwischen Geschwindigkeit und Qualität abwägen, wobei keines von beiden bevorzugt wird.
-
White Key muss viele Berechnungen für jedes Sample vornehmen, haupsächlich werden zwei Multiplikationen benötigt, um einen Ton mit variabler Lautstärke und Stereoposition aus einem Mono-Sample zu erzeugen. Diese Berechnungen müssen für jede Sampleeinheit durchgeführt werden, daher hängen die möglichen Sampleraten von der Geschwindigkeit Deiner Maschine (der CPU) ab, und davon, wie viele Stimmen gleichzeitig gespielt werden.
-
Um zu verhindern, dass weniger häufig benutzte Berechnungen andauernd durchgeführt werden und nichts tun als die Performance zu reduzieren, werden diese auf eine spezielle Weise behandelt. Dinge wie Hüllkurvenänderungen und sogar die MIDI-Event-Abfrage werden seltener aufgerufen als ein Sample berechnet werden muss (im Moment mit einer Frequenz von 100Hz). Als einziger störender Effekt könnte ein 'Knacken' oder kurzes Rauschen auftreten, wenn schnelle Hüllkurvenänderungen stattfinden.
-
White Key benutzt eine Soundroutinen-Bibliothek, die ständig weiterentwickelt wird. Daher sind kleine Fehler und Probleme nie auszuschliessen, vor allem beim Auftreten ungeplanter Situationen. Erwarte nicht, das White Key mit ungültigen Eingabedaten irgendwelcher Art funktioniert.
Es ist bekannt, dass
- sehr kleine oder grosse Werte in der Hüllkurvendefinition unerwünschte Resultate erzeugen können, was an der internen Zahlen- und Schrittarithmetik liegt
- Die DOS-Tonausgabe-Routinen fehlschlagen auf einigen Soundblaster-Kompatiblen, und die Maschine zum Absturz bringen können
- die RISC OS-Version gelegentlich das Abspielen ohne hörbare Ausgabe startet
- die RISC OS-Version versucht, den vorigen Sound-Channel-Handler beim Programmende wiederherzustellen. Da dies nicht konform mit RISC OS ist, sollte man vorsichtig sein, falls andere Sound-Anwendungen gleichzeitig laufen
Du solltest auch einen Blick auf die anderen Abschnitte werfen, vor allem auf 'Was White Key nicht kann'.
-
White Key sollte jede Standard-RIFF-Audio-Sampledatei mit einem dieser Formate akzeptieren:
- 8 bit linear unsigned mono
- 8 bit linear unsigned stereo
- 16 bit linear signed mono
- 16 bit linear signed stereo
Beachte, dass Panoramaeffekte die Wiedergabe von Stereosamples nicht beeinflussen. Die samples können bis zu zwei Schleifendefinitionen beinhalten, in dem Format, wie es z.B. von Sound Forge erzeugt wird. Alle anderen möglichen Erweiterungen haben keinen Einfluss auf die Wiedergabe, es sei denn, Du benutzt die private Hüllkurvendefinition innerhalb des 'Kommentar'-Abschnitts.
-
Der Kommentarteil eines Samples kann spezielle Schlüsselworte beinhalten, um eine Hüllkurve für das Sample zu definieren. Das Format wird mit diesem Beispiel erklärt:
normale Kommentarzeile, in der nächsten kommt ein Schlüsselwort
#attack { 0.1, 1.0 } weiter Kommentare
die vorige Zeile sorgt für eine Erhöhung der Lautstärke des Samples von 0 auf 100% (=1,0) (der MIDI-Note-Ein-Stärke) in einer 10tel sekunde
#attack { 2.0, 0.5 }
dann geht die Lautstärke auf die Hälfte (50% oder 0,5) des Note-Ein-Wertes zurück, und zwar innerhalb von 2 Sekunden
#attack { 8.0, 0.0 } und klingt dann innerhalb von 8 Sekunden ganz aus
normalerweise wird der Ton direkt beim 'Note aus'-Event abgeschaltet, aber wir wollen einen weicheren Ausklang:
#release { 0.05, 0.5 } halbiert die aktuelle Lautstärke beim Note-Aus-Event innerhalb 1/20 s, und dann noch ein paar mal
#release { 0.05, 0.25 }
#release { 0.05, 0.125 }
es folgen keine weiteren 'release' Schlüsselworte, deshalb wird die Lautstärke einfach mit der momentanen Geschwindigkeit weiter sinken, und der Ton stoppt nach Erreichen von null.
Beide Schlüsselworte sind absolut optional, aber Du solltest beachten, dass in den meisten MIDI-Dateien Schlagzeuge unmittelbar nach dem Einschalten wieder ausgeschaltet werden, und man dadurch nur einen kurzen Teil des gesamten Samples hören kann. Falls Du also eigene Schlagzeuge verwendest, solltest Du eine Möglichkeit finden, folgenden Kommentar in das Sample einzufügen:
#release { ignore }
Das ist die bevorzugte Form eines 'Nicht-Verstummens'.
-
White Key's Soundsystem arbeitet mit einem internen 32 Bit Stereo-Format, welches 24-Bit-effektiv ist. Das heisst, wenn die Werte 24 Bit überschreiten, werden die nächsten 8 bit 'abgeschnitten', was als Übersteuerung bekannt ist. Werden die Werte sogar grösser als 32 Bit, verursacht dies fehlerhafte Ausgaben. Mit normaler Lautstärke (100%), bei Benutzung von Samples, welche die volle Dynamik ausnutzen, und mit der höchstmöglichen MIDI-Laut- und Anschlagstärke gespielt werden, kann kein Übersteuern auftreten beim gleichzeitigen Spielen von bis zu 4 Stimmen in der mittleren Panoramaposition, oder bis zu 2 Stimmen gleichzeitig in der selben extrem linken oder rechten Position. Es können keine Fehler auftreten, solange nicht mehr als 512 Stimmen gleichzeitig spielen. Normalerweise werden solche Extreme nie erreicht, darum kann man sich darauf verlassen, dass die Standardeinstellungen für die meisten MIDI-Stücke wirklich ausreichend sind.
-
Für White Key sind keine Unterstützungen oder häufigen Veränderungen geplant, solange kein Bedarf besteht. Falls das Programm grossen Anklang findet, und die Leute ihre Shareware-Gebühren zahlen, könnte sich das in Zukunft ändern.
-
White Key ist Teil des Flammpunkt Projekts. Programmierung, RISC OS Front-End und Dokumentation: Diamond/MSC. Standard-Klang-Bibliothek Sampling und Noise Reduction: AssIt/MSC. Optimierung der Standard-Klang-Bibliothek: Diamond/MSC.
-
Die White Key Homepage ist
http://www.informatik.hu-berlin.de/~csaszar/whitekey.html
Meine E-Mail Adresse (für Kommentare, Bugreports etc.) ist
csaszar@informatik.hu-berlin.de
Das gilt solange, wie die White Key Homepage erreichbar ist.
Meine Postanschrift (für Grusssendungen, Geld etc.) ist
im Gesamtpaket zu finden.
|
|
 |
 |
|
|
|