EMU48 Programme:
Nützliche Utilities nicht nur Musiker
Inhalt:
- Einleitung
- Moonphase
- MIDI Utils
- Yamaha XG Utils
- Korg 168 Utils
Auf dieser Seite finden Sie einige nützliche Programme von mir, welche auf jedem HP48
S/SX/G/GX (auch emuliert mit EMU48) laufen sollten. Bis auf 'Moonphase' sind diese Programme
kleine MIDI-Utils für Musiker, die etwa 'Nibblized MIDI DATA', zusammengesetzte MIDI Eingabewerte
MSB/LSB, XG-SysEx-Parameter für die Änderung der Stimmungsparameter von XG-Synths
oder die Control-Change-/MIDI-Kanal-Nr. für die 617 MIDI-Parameter des Korg 168 RC berechnen müssen.
Alle Utils sind so programmiert, daß unsinnige Eingabewerte zu Fehlermeldungen führen, welche auf
die jeweils gültigen Eingabewertebereiche hinweisen, wobei diese Fehlermeldungen übrigens durch einen Klick auf
'ON' bzw. drücken der Taste 'ESC' wieder ausgeblendet werden können. Der jeweils gewählte Eingabewert wird
beim Ergebnis mit angezeigt - insofern sollten diese Utils relativ narrensicher zu bedienen sein.
Mit der HP48 View-Funktion (beim GX Right-Shift View, beim SX Left-Shift View) kann zudem die Funktion
der einzelnen Programme im Klartext angezeigt werden (siehe die nachfolgenden Screenshots, allerdings nicht
bei den Programmen Moonphase), was das Problem der recht kurzen kryptischen Programmnamen entschärft.
Auf meiner englischsprachigen EMU48-Seite
www.studio4all.de/start.html gibt es
meine nachfolgenden Programme auch in englischen Sprachversionen.
Wichtiger Hinweis für EMU48-Einsteiger:
Auf der nächsten Seite Easy EMU48
können Sie auf einfache Weise einen
fertig vorkonfigurierten 'Werners GX' inklusive aller hier vorgestellten Programme
downloaden! Ein separater Download der Programme auf dieser Seite ist dann nicht mehr nötig.
Zurück zur Übersicht
2. Moonphase
Drei kleine Programme zur Berechnung von Phase und Alter (bezogen auf den letzten Neumond) des Mondes.
Preview von MPHASE:
Ursprünglich von Dan Gerson entwickelt und von Arnold Moy verbessert,
habe ich dieses nützliche Programm um (übrigens überaus fehlerresistente) etliche zusätzliche Ein- und Ausgaberoutinen in 6
verschiedenen Sprachen (Englisch, Deutsch, Französisch, Spanisch, Portugiesisch und Italienisch) zur Auswahl von Tag und
Uhrzeit erweitert, sodaß man diese Berechnungen nun für
beliebige Tage und Uhrzeiten ab dem 15. Oktober 1582,
dem ersten Tag des Gregorianischen Kalenders, bis hin zu zukünftigen Tagen durchführen kann :-)
MPHASE berechnet die Mondphase in grafischer Form und gibt sie in Form eines virtuellen Mondes auf
dem HP48 Display aus.
Zum Starten gehen Sie bitte in das Verzeichnis MOON, anschließend in das
Sprachverzeichnis Ihrer Wahl und klicken Sie auf Taste MPHA.
MTIME berechnet das Alter des Mondes für den gewählten Tag/Uhrzeit im Format dd.mm.ss und gibt zusätzlich
die beleuchtete Mondfläche in Prozent aus (klicken Sie auf Taste MTIM).
MFRAC arbeitet ähnlich wie MTIME, gibt Alter und beleuchtete Fläche aber als Faktoren von 0 bis max. 1 aus
(klicken Sie auf Taste MFRA).
Wichtig für alle drei Programme:
Für genaue Ergebnisse müssen Sie in der Variablen
TMZN (Time Zone) erst die aktuelle Zeitdifferenz Ihres
Ortes zur MEZ (Mitteleuropäische Standardzeit) in Stunden eingeben, wobei auch die Unterschiede zwischen
Sommer- und Winterzeit beachtet werden müssen!
Installation:
Laden Sie (bei EMU48: 'Load Object') dieses Verzeichnis (MOON) in Ebene 1 und speichern
Sie es unter dem Namen 'MOON'.
Download von 'MOON' starten (ZIP; 15 kB):
Zurück zur Übersicht
3. MIDI Utils
Sechs kleine Programme für die Berechnung von MIDI-Parameter:
XMLD (X > MSB/LSB dec):
Wandelt einen dezimalen Eingabewert von 0 bis 16.383 in zwei MIDI Bytes (MSB und LSB) um, wobei diese
beiden Bytes dezimal ausgegeben werden, was z.B. für manche RPN- oder NRPN-Befehle nützlich ist.
XMLH (X > MSB/LSB hex):
Wandelt einen dezimalen Eingabewert von 0 bis 16.383 in zwei MIDI Bytes (MSB und LSB) um, wobei diese
beiden Bytes hexadezimal ausgegeben werden, was z.B. für manche SysEx-Befehle nützlich ist
(beispielsweise etliche XG-Effekt-Parameter).
NIB2 (X > 2 Nibbles):
Wandelt einen dezimalen Eingabewert von 0 bis 255 in zwei MIDI Nibbles (hexadezimal) um, was z.B. für den
XG SysEx-Befehl PART DETUNE nützlich ist.
NIB4 (X > 4 Nibbles)
Wandelt einen dezimalen Eingabewert von 0 bis 65.535 in vier MIDI Nibbles (hexadezimal) um, was z.B. für den
XG SysEx-Befehl XG MASTER TUNE nützlich ist.
FUBY (X > Full Byte):
Wandelt einen dezimalen Eingabewert von 0 bis 255 (=Full Byte) in sein hexadezimales Äquivalent um.
MIBY (X > MIDI Byte):
Wandelt einen dezimalen Eingabewert von 0 bis 127 (=MIDI Byte) in sein hexadezimales Äquivalent um.
Installation:
Laden Sie (bei EMU48: 'Load Object') dieses Verzeichnis (MIDI) in Ebene 1 und speichern
Sie es unter dem Namen 'MIDI'.
Download von 'MIDI' starten (ZIP; 2,9 kB):
Zurück zur Übersicht
4. Yamaha XG Utils
Drei kleine Programme für die Berechnung der Stimmungs-Parameter eines XG-Synths:
TUNE (XG Master Tune):
Wandelt einen dezimalen Eingabewert von -102,4 bis +102,3 (Cent) in die vier MIDI Nibbles
0W,0X,0Y,0Z um, welche beim SysEx-Befehl XG MASTER TUNE
(F0,43,10,4C,00,00,00,
0W,0X,0Y,0Z,F7) zur Festlegung der
Grundstimmung bezogen auf A1=440Hz benötigt werden.
DETU (XG Part Detune):
Wandelt einen dezimalen Eingabewert von -12,8 bis +12,7 (Hz) in die zwei MIDI Nibbles
0Y,0Z um, welche beim SysEx-Befehl XG PART DETUNE
(F0,43,10,4C,08,NN,09,
0Y,0Z,F7) zur Festlegung der Abweichung
der Stimmung von Part NN bezogen auf die per XG MASTER TUNE definierte Grundstimmung
benötigt werden.
CENT:
Ermittelt die Abweichung zwischen zwei Frequenzen in Cent mit einer Genauigkeit von 1/100 Cent.
Dieses kleine aber sehr feine Programm ist z.B.
dann sehr nützlich, wenn man an den SCALE TUNING Einstellungen (siehe Seite PART SETUP meiner
Unterseiten
XG Programmierung) für einen XG-Multipart 'spielen'
will, um beispielsweise auf einem Part ein 'reinen' C-Dur-Akkord erklingen zu lassen.
Beispiel zu CENT:
Eine 'reine' Quinte etwa zu C1 (130,81278 Hz bei A1=440Hz) errechnet sich nach der Formel
'Frequenz des Grundtons * 1,5', bezogen auf C1 ergibt das die Frequenz 130,81278*1,5=196,21917 Hz.
Die 'wohltemperierte' Quinte (also G1) eines XG-Klangerzeugers hat dagegen nur 195,99772 Hz (siehe Referenztabelle 10
meiner Unterseiten
XG Programmierung).
Der Ton 'G' muß also mit der SCALE TUNING G Einstellung um eine 'gewisse Centzahl' angehoben werden, damit
er zu einer 'reinen' Quinte von C wird.
Genau diese gesuchte 'gewisse Centzahl' kann mein Programm CENT leicht berechnen:
1. Geben Sie erst 195,99772 (F0 = die 'wohltemperierte' Grundfrequenz für Ton 'G1') mit nachfolgendem 'Enter' ein
2. Geben Sie dann 196,21917 (F1 = die Frequenz von 'G1' bei 'reiner Stimmung') mit nachfolgendem 'Enter' ein
3. Klicken Sie nun auf das Programm CENT (oder einfach Taste 'F3' bei Verwendung von Werner's GX)
In Ebene 1 wird nun die Centzahl ausgegeben, um welche der Ton 'G' per Part-Einstellung SCALE TUNING G erhöht
werden muß, damit er zu einer 'reinen Quinte' von Ton 'C' wird. Das angezeigte +/- Cent-Ergebnis
(in diesem Fall +1,94 Cent) muß dabei auf ganze Stellen (also +2 Cent)
gerundet werden, da mit dem Befehl SCALE TUNING keine Nachkommastellen programmiert werden können. In Ebene 3 und 2
erscheinen dabei übrigens zusätzlich (allein zu Kontrollzwecken) die vorher eingegebenen Frequenzen für F0 und F1.
Die noch fehlende 'reine' Terz zu C1 für den gesuchten 'reinen C-Dur-Dreiklang' hat
mathematisch die Frequenz 'Frequenz des Grundtons * 5 / 4', bezogen auf
C1 ergibt das für E1 130,81278 * 5 / 4 =163,51598 Hz. Das 'wohltemperierte' E1 eines
XG-Klangerzeugers hat dagegen laut meiner Frequenztabelle sogar 164,81378 Hz. In solchen Fällen wird mein Programm CENT
logischerweise negative Cent-Werte ausspucken, in diesem Fall z.B. -13,69 Cent (gerundet -14 Cent), da das
'wohltemperierte E' eines XG-Klangerzeugers ja eine höhere Frequenz als ein 'reines E'
(bezogen auf C) hat und deswegen heruntergestimmt werden muß.
Wichtige Anmerkung:
Die Beschränkung der SCALE TUNING Einstellungen auf ganzzahlige Cent-Werte ermöglicht in der Praxis
leider keine wirklich 'absolut reinen' Intervalle - absolut schwebungsfreie Intervalle wie etwa eine 'absolut'
reine Quinte oder Terz bleiben deshalb in der Praxis leider Utopie :-(
Das hoch präzise menschliche Ohr kann nämlich Intervalle mit Abweichungen von nur wenigen 1/100 Cent (!) unterschiedlich
wahrnehmen und 'lacht' sozusagen über jeglichen Versuch, ihm ein Intervall mit der maximalen XG-Genauigkeit von nur
einem Cent (!) als 'rein und schwebungsfrei' unterjubeln zu wollen!
Vielleicht können bei zukünftigen XG-Synths die SCALE TUNING Einstellungen auf 1/100 Cent genau
eingestellt werden (analog zur Empfindlichkeit des menschlichen Gehörs), zur Zeit ist das aber reine Utopie.
Installation:Laden Sie (bei EMU48: 'Load Object') dieses Verzeichnis (XG) in Ebene 1 und speichern
Sie es unter dem Namen 'XG'.
Hinweis für EMU48-Neulinge:
Für die Eingabe von negativen Zahlen geben Sie bitte erst die Zahl ein und klicken anschließend
auf die Taste '+/-' bzw. drücken Sie Taste Y (oder F7, wenn Sie Werner's GX verwenden).
Download von 'XG' starten (ZIP; 1 kB):
Zurück zur Übersicht
5. Korg 168 Utils
Übersicht:
Zwei Programme für die Berechnung der Control-Change-Nummer und des verwendeten MIDI-Kanals
der 617 Parameter bei der MIDI-Fernsteuerung eines Korg 168 RC im MIDI-Modus 'Stand Alone 2',
in welchem Control-Change-Befehle für die Steuerung der 617 Parameter verwendet werden.
PARA1 und PARA2 geben für einen dezimalen Eingabewert von 1-617 (Korg 168 MIDI-Parameternummer)
die Control-Change-Nummer (CC) sowie den MIDI-Kanal (CH) abhängig vom eingestellten
MIDI-Grundempfangskanal RX (Defaultwert=1) aus.
PARA1 (Parameter bei Typ=1) sollte dann verwendet werden, wenn beim Korg im MIDI-Setup-Menü bei 'Type'
der Wert 1 eingestellt ist. In diesem Modus werden die Controlchange-Nummern von 0 bis 95 auf sieben
MIDI-Kanälen (RX bis RX+7) verwendet.
PARA2 (Parameter bei Typ=2) sollte dagegen verwendet werden, wenn beim Korg im MIDI-Setup-Menü bei 'Type'
der Wert 2 eingestellt ist. In diesem Modus werden nur 79 der Controlchange-Nummern von 0 bis 95 verwendet, wobei
die am häufigsten verwendeten Controlchange-Nummern (0, 1, 2, 4, 7, 10, 11, 32-34, 36, 43,
64-67 und 84) nicht verwendet werden. Zudem werden dann acht MIDI-Kanäle (RX bis RX+8) verwendet.
Wichtig für beide Programme:
Beide Programme erwarten VOR DER AUSFÜHRUNG, daß in der Variablen
RX der beim Korg eingestellte
MIDI-Grundempfangskanal gespeichert ist - normalerweise ist das Kanal 1, weshalb in RX ebenfalls die Zahl 1
gespeichert ist. In diesem Fall werden die Kanäle 1-7 (bei Type=1) bzw. 1-8 (bei Type=2) verwendet.
Möchten Sie dagegen etwa die Kanäle 9-16 (bei Type=2) verwenden, müssen Sie erst 9 in RX speichern.
Hinweis für EMU48-Neulinge:
Wenn Sie z.B. den Wert 9 in RX speichern möchten, klicken Sie bitte nacheinander auf die
Tasten '9', 'Left Shift' und 'C', wodurch die Zahl 9 in RX gespeichert wird.
Wenn Sie den aktuellen Wert von RX wissen möchten,
klicken Sie auf 'C', wodurch der aktuelle Wert von RX in Ebene 1 ausgegeben wird.
Wenn Sie Werner's GX verwenden, können Sie anstelle von Taste 'C' auch die Taste 'F3' verwenden
(mit gleichem Ergebnis).
Installation:
Laden Sie (bei EMU48: 'Load Object') dieses Verzeichnis (K168) in Ebene 1 und speichern
Sie es unter dem Namen 'K168'.
Download starten (ZIP; 1,3 kB):
Zurück zur Übersicht
C/O 2002-2012: Werner Ogrodnik (Cologne, Germany)