EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

midge - Online in der Cloud

Führen Sie Midge im kostenlosen OnWorks-Hosting-Provider über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Command Midge, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


midge - Midi-Datei aus Textbeschreibung der Musik generieren

ZUSAMMENFASSUNG


Mücke [Optionen] [Dateiname]

BESCHREIBUNG


Mücke erzeugt eine MIDI-Datei vom Typ 1 aus einer Textbeschreibung von Musik. Mücke nimmt es
Eingabe von stdin, es sei denn Dateinamen angegeben.

OPTIONAL


-h or --help

Hilfetext anzeigen.

--Version or --Garantie oder --About

Versions- und Lizenzinformationen anzeigen.

-v or - ausführlich

Ausführliche Ausgabe auf stdout ausgeben.

-d or --debuggen

Drucken Sie die Debugging-Ausgabe auf stdout (stellt den ausführlichen Modus automatisch ein).

-q or --ruhig

Ruhig. kein Standard.

-o Datei or --outfile Datei

Midi-Ausgang an Datei. Ansonsten zu a.out.mid

-c or --prüfen

Nur Eingabe prüfen; Kein Midi-Ausgang.

-u or --unroll-loops

Entrollen Sie alle Wiederholungsblöcke vor dem Parsen und speichern Sie den entrollten Quellcode in einem
neue Datei (*.long.mg). Sollte bei Bedarf automatisch eingestellt werden.

-U or --no-unroll-save

Speichern Sie die ausgerollte Quelle nicht in einer Datei.

-R or --no-reset

Fügen Sie nicht das Event `reset all controllers' am Anfang von Tracks ein.

-t bpm or --Tempo bpm

Tempo einstellen auf bpm Schläge pro Minute, überschreibt den in der Eingabedatei festgelegten Wert.

-b Schritte or --bend-steps Schritte

Legen Sie die Anzahl der Schritte pro Viertelnote für die einfache Bend-Syntax fest.

--unsicher

Verwenden Sie Safe.pm nicht zum Ausführen von Perl-Code von %eval Blöcke

-s Anzahl or --Samen Anzahl

Verwenden Sie die Anzahl als Seed für den Zufallszahlengenerator.

-S [Skala [Wurzel]] or --skala anzeigen [Skala [Wurzel]]

Notizen auflisten in Treppe ab Wurzel. Wenn Wurzel wird weggelassen c4 wird verwendet. Wenn Treppe is
weggelassen, wird eine Liste der unterstützten Skalen angezeigt.

-I Weg or --enthalten Weg

Speichern Weg Pfade einzubeziehen. Kann mehrfach angegeben werden oder Weg kann eine liste sein
durch Doppelpunkte oder Kommas getrennt.

SPEISUNG SPRACHE


Beispielquelldatei zum Abspielen einer Tonleiter von E.

================Datei starten======================

# diese Zeile ist ein Kommentar

@Kopf { # es muss genau 1 @head-Abschnitt geben

# Taktart einstellen

$time_sig 4/4

# Tempo in BPM einstellen

$tempo 120

} # Ende des @head-Abschnitts

@Karosserie { # es muss genau 1 @body-Abschnitt geben

# einen Musiktitel auf Kanal 1 starten

# mehrere Tracks können denselben Kanal verwenden

@Kanal fünfzehn {

# Patch auf E-Bass setzen

$patch 34

# Anmerkungen. Erklärung siehe unten.

/l4/e3 # Viertelnote e in der dritten Oktave

f+ # fis gleiche Oktave gleiche Länge

# nutze `-' für flach

g+ ab # Rest der Noten

c+4 d+ e # Oktavwechsel bei c

} # Ende des Tracks

} # Ende des @body-Abschnitts

========================Datei beenden====================

Weitere Beispiele sind im Beispielverzeichnis des Archivs enthalten.

Im Folgenden, ist ein erforderlicher Parameter und [name] ist ein optionaler Parameter.

Notizen.

Das Format einer Notiz ist: [/Optionen/]<Name>[+|-][Oktave]

Das /Optionen/ Abschnitt kann Folgendes enthalten:

l[Zähler:]

Setzt die Länge der Note auf (Zähler oder eins) geteilt durch Nenner. dh. l4 = Viertel
Note, l1 = ganze Note, l3:4 = 3/4 Note (3 Viertelnoten gebunden). Ein Großbuchstabe `L' kann sein
wird stattdessen verwendet, um es von einer '1' zu unterscheiden.

r

Legt fest, wie oft die Note wiederholt werden soll. Zum Beispiel

/l8r16 /

macht die Notendauer 1/8 und wiederholt die Note 16 Mal.

a

Stellt die Note der Note auf Velocity (Attack) ein

d

Stellt die Note-Off-Velocity der Note (Decay) ein

z[+|-] [%]

Versetzt die Note um Anzahl Midi-Klicks. Positive Werte spielen die Note spät und negativ
Werte spielen es früh. Wenn Anzahl folgt ein `%´ Zeichen wird als Prozentsatz genommen
der aktuellen Notenlänge. Offsetwerte sind nicht von nachfolgenden Notizen vererbt.

Z[+|-] [%]

Wie oben `z´-Option, aber es wird ein Zufallswert verwendet. Wenn Anzahl ist negativ oder positiv
(Pluszeichen falls angefordert), ein Wert zwischen Null und Anzahl wird genutzt. Wenn kein Zeichen vorhanden ist, a
Wert zwischen plus und minus Anzahl wird eingesetzt.

Die Offset-Option funktioniert nicht mit dem rWiederholen Sie die Notizoption, aber der gleiche Effekt kann sein
erreicht mit a %wiederholen blockieren.

Noten können nicht nach hinten versetzt (dh zu früh gespielt) werden, es sei denn, ihnen geht eine Pause voran. Zu
Umgehen Sie dies Ich habe die hinzugefügt $verkürzen Stichwort, unten beschrieben. Siehe auch $unquantisieren.

Name ist der Name der Notiz, dh. [ag] falls angefordert.

+ Scharf.

- eben.

Oktave ist die Midi-Oktave, dh. [1-11]. Obwohl die meisten Midi-Software 0 für die niedrigste verwendet
Oktave habe ich 1 aus Gründen der Konsistenz mit den Midi-Kanälen und Instrumentennamen verwendet, die
beide zählen ab 1.

Wenn nicht angegeben, werden Länge, Oktave, Attack und Decay vom vorherigen geerbt
Hinweis.

In einer Schlagzeugspur können anstelle der Notennamen Aliase verwendet werden. Um zum Beispiel ein . zu bekommen
Hi Hat öffnen, statt `f + 3' kannst du verwenden `hh_o'. Siehe README.drums für eine vollständige Liste von
Aliase.

Ruhen.

Pausen werden als Anmerkung ` . geschriebenr', mit /Optionen/ wie bei Notizen, jedoch nur mit dem
Längen- und Wiederholungsoptionen verwendet. Der Längenwert wird von Note zu Pause und umgekehrt vererbt
versa.

Riegel.

Das Pipe-Symbol (`|') kann zur Kennzeichnung von Balken verwendet werden. Die Längen der Stäbe werden nicht überprüft --
Dies dient nur dazu, besser lesbare Quelldateien zu ermöglichen. Takte können durch Anhängen von a . nummeriert werden
Nummer zum Rohrsymbol. Sie dürfen durch einen Unterstrich getrennt werden, jedoch nicht durch Leerzeichen.

Einfaches Balkenbeispiel: | cdef | gabc

Beispiele für nummerierte Takte: |1 cdef |2 gabc

|_1 cdef |_2 gabc

Die Konsistenz von Balken kann mit dem $bar_strict Stichwort in der @Kopf
Sektion. Dies gibt einen Fehler oder eine Warnung aus, es sei denn, alle Spuren haben die gleiche Anzahl von Balken und
nummerierte Balken erscheinen in jeder Spur gleichzeitig:

$bar_strict warnen # Drucken Sie eine Warnmeldung für inkonsistente Balken.

$bar_strict Fehler # Beenden mit einer Fehlermeldung für inkonsistente Balken.

Schlüsselwörter der obersten Ebene.

@Kopf { Inhalt }

Es muss genau einen geben @Kopf Sektion. Siehe unten für Beschreibung von Inhalt.

@Karosserie { Inhalt }

Es muss genau einen geben @Karosserie Sektion. Siehe unten für Beschreibung von Inhalt.

Schlüsselwörter im @Kopf .

$time_sig

Das b Wert muss einer von 4, 8, 16, 32, 64 sein.

$tempo

t ist das Tempo in BPM.

Beide $time_sig und $tempo sind auch innerhalb eines @channel-Blocks erlaubt (unten beschrieben).

$titel

Setzt den Titel des Songs auf Titel. Wenn Titel enthält Leerzeichen, es muss sich innerhalb von double befinden
Zitate.

$auflösung

Setzt die Anzahl der Midi-Klicks pro Viertelnote auf n. Der Standardwert ist 96.

Schlüsselwörter im @Karosserie .

%definieren { Anmerkungen }

Definiere eine Folge von merkt an, zuordnen zu Name in einem Musiktitel abgerufen werden. Definiert
Sequenzen werden verwendet, indem Folgendes hinzugefügt wird:

~[/transponieren/]

innerhalb eines Tracks, um die Sequenz einzuschließen Name, transponiert von transponieren Halbtöne. Vorher
definierte Sequenzen können nachfolgend verwendet werden %definieren Blöcke. zum Beispiel:

%definieren a_riff { a3 a c4 d }

%definieren d_riff { d4 dfg }

%definieren Hauptriff { ~ein_riff ~d_riff }

Obwohl wir das gleiche Ergebnis erzielen konnten, indem wir das erste Riff transponierten, um die
zweite:

%definieren a_riff { a3 a c4 d }

%definieren Hauptriff { ~ein_riff ~ein_riff/ 5 / }

definieren Blöcke können auch Wiederholungsblöcke, Bend-Blöcke und $volume/patch/reverb usw. enthalten.

@Kanal [Name] { Inhalt }

Beginne einen Midi-Track auf dem Kanal Anzahl, optional Einstellung des Gerätenamens auf Name. Wenn
Name Leerzeichen enthält, muss es in doppelten Anführungszeichen stehen.

Inhalt kann Noten, Pausen, zuvor definierte Sequenzen und Folgendes enthalten
Stichworte:

$time_sig

Ändert die Taktart des Songs (betrifft alle Spuren). Die b Wert muss einer von . sein
4, 8, 16, 32, 64.

$tempo

Ändert das Songtempo (betrifft alle Tracks). t ist in BPM.

$patch [[bank_LSB,]bank_MSB,]

Setzen Sie die Patch-Nummer für diesen Kanal auf Anzahl or Name. Woher Anzahl ist von 1 bis 128 und
Name ist ein Alias, wie in README.patches definiert. Optional Bankleitzahl auswählen bank_MSB.
Optional Bank-LSB-Nummer auswählen bank_LSB (wird für externe Midi-Tastaturen verwendet). Jeder Wert
muss im Bereich 1-128 liegen.

$bank [LSB,]

Bankleitzahl auswählen MSB. Optionales Einstellen des LSB-Wertes (verwendet für externe Midi
Tastaturen) zu LSB. Beide Werte müssen im Bereich 1-128 liegen.

$länge [n:]

Legen Sie die Standardnotenlänge fest. Der Wert wird im gleichen Format wie in den Anmerkungsoptionen angegeben.

$verkürzen

Jede Note kürzen um Anzahl Midi-Klicks, um Platz für nach hinten versetzte Noten zu schaffen.

$unquantisieren [+|-] [%]

Wenden Sie auf jede Note einen zufälligen Offset an. Anzahl hat die gleiche Bedeutung wie für Z Notizoption
zu teilen.

$oktave

Standardoktave auf setzen Anzahl

$ Volumen

Stellen Sie die Track-Lautstärke auf Anzahl

$angriff

Stellen Sie den Anschlag der Note auf ein Anzahl

$zerfall

Setzt den Decay der Note auf Anzahl

$hall

Stellen Sie die Halltiefe auf Anzahl auf dem aktuellen Kanal.

$chor

Stellen Sie die Chorus-Tiefe auf Anzahl auf dem aktuellen Kanal.

$pfanne

Setzen Sie den Pan-Wert auf Anzahl. 0 ist links 127 ist rechts.

Die Lautstärke-, Attack-, Decay-, Reverb-, Chorus- und Pan-Werte müssen ganze Zahlen von 0 bis 127 sein.
Sie können auch als Bereich angegeben werden (z. B. `8-64'), in welchem ​​Fall ein zufälliger Wert innerhalb der
Reichweite verwendet wird.

%pan_all { Wert notieren ... }

Legt den Pan-Wert für jede nachfolgende Instanz von . fest beachten im aktuellen Titel. Das ist
hauptsächlich für das Panning eines Schlagzeugs gedacht, könnte aber auch auf einer anderen Spur verwendet werden. Wert kann sein
eine ganze Zahl oder ein Bereich (zB `8-64'). Mehrere beachten Wert Paare sind erlaubt. Wenn zwei Notizen
mit verschiedenen pan_all Werten werden gleichzeitig gespielt, alles kann passieren.

Um jede Note im Kanal mit einem Bereich zu beeinflussen, verwenden Sie `*' oder `jedem' zum beachtendem „Vermischten Geschmack“. Seine
/r4/Die Methode zum Wiederholen von Noten funktioniert mit dieser Option nicht, hat aber den gleichen Effekt
kann mit einem Wiederholungsblock erreicht werden.

$marker

Fügt ein Markierungsereignis mit hinzu Text wie es Inhalt ist. Wenn Text enthält Leerzeichen muss in Anführungszeichen stehen
mit doppelten Anführungszeichen.

%wiederholen { Anmerkungen }

Wiederholen merkt an Anzahl Zeiten. merkt an kann Noten, Pausen, vordefinierte Sequenzen und andere enthalten
%wiederholen Blöcke

%Biege { Veranstaltung ... }

Play beachten und bewegen Sie das Pitch-Rad auf die durch Vielfache beschriebene Weise Events, die haben
folgendes Format:

[n:] <+|->

woher n und d Geben Sie die Zeit vom Beginn der Note oder vom vorherigen Ereignis an, in
das gleiche Format wie die Notenlängen, und Wert ist der Betrag, um den die Note gebeugt werden soll (das Plus
oder Minuszeichen erforderlich). Mit dem voreingestellten Pitch-Wheel-Bereich von +/- 2 Halbtönen ist ein Wert
von 32 entspricht einem Halbton. Beachten Sie, dass der Biegebetrag relativ ist. Das Maximum
kumulativ Biegebetrag ist plus oder minus 64.

Zum Beispiel folgendes:

%biegung a3 { 4+32 4-32 2+0 }

Spielt die Note a3 für 1/4 Note, beugt einen ganzen Ton für 1/4 nach oben und kehrt dann zu a3 zurück und
hält für 1/2 Note.

$bend_range

Ändert den Bereich des Pitch-Rads auf +/- Anzahl. Dies stellt die maximale Biegung nach oben und unten ein, also wenn
es ist auf 4 eingestellt, ein Bend-Wert von 64 wird um 4 Halbtöne nach oben gebogen und -64 wird um 4 . nach unten gebogen
Halbtöne. Der Standardbereich für die meisten Midi-Geräte beträgt 2 Halbtöne.

$pitch

Stellen Sie den Pitch-Wheel-Wert auf Welle. Dies kann in Verbindung mit einem separaten Hinweis auf verwendet werden
und Note-Off-Events (siehe unten unter `gleichzeitige Noten'), um komplexe Bendings zu erzeugen
Auswirkungen. nicht so wie %Biege Syntax oben, das tut es nicht das Pitch-Rad auf die Neutralstellung zurücksetzen
Stellung (64)

Einfachere Pitchbends können mit dieser Syntax erstellt werden:

/l8/e4=>g4=>e4

Dieser beugt sich von e4 nach oben zu g4 und zurück zu e4 in linearen Schritten über die Dauer von an
Achtelnote. Standardmäßig gibt es 16 Schritte pro Viertelnotendauer (8 Schritte in diesem)
Beispiel), aber mit dem Befehlszeilenschalter `-b' kann ein anderer Wert eingestellt werden. Irgendeine Nummer
Noten können verwendet werden, aber die erste muss einen Längenwert haben und jede von ihnen muss
einen Oktavwert haben.

%wählen [Zeit] { Gewichtungselement ... }

wobei time ein Längenwert im Format [n:] ist das gleiche wie in den Längenoptionen verwendet,
mit weggelassenem `l'.

If Zeit ist nicht angegeben:

Wählen Sie eines Artikel aus einer Liste, wo jeder Artikel kann eine Note, Pause oder ein vordefiniertes Riff sein und
jeder artikel hat a Gewichtung die definiert, wie wahrscheinlich es ist, ausgewählt zu werden. Zum Beispiel:

%wählen { 2 a3 4 c5 3 e4 1 g3 }

gibt a3 eine Chance von 20%, c5 - 40%; e4 - 30% und g3 - 10% Jeder Artikel sollen eine Gewichtung haben.
Siehe auch Skalen unten.

if Zeit angegeben:

Wählen Sie mehrere Artikels aus der Liste bis zu einer Länge von Zeit. Wenn alle Artikels sind zu lang
um das Riff genau zu beenden Zeit, der Rest wird mit einem Rest gefüllt. Wenn "Auswählen" verwendet wird
Auf diese Weise muss jede Note oder Pause einen Längenwert haben und alle verwendeten vordefinierten Riffs müssen
eine feste Länge haben (dh die erste Note muss einen Längenwert haben), und die Länge der
Das ganze Riff muss im select-Block im gleichen Format wie für Noten angegeben werden. zum
Beispiel:

%define riff_1 { /l2/a3 /l4/b c4 } # Riff ist 1 Takt lang

%wählen 4:1 { # wähle 4 Balken

1 /l8/d4 3 /l8/e4 2 /l4/g4 1 /l1/~riff_1

}

If Zeit is 0 or - dann sucht Midge nach einem Block der Form:

Rhythmus { n[:d] ... }

die als eine Reihe von Notenlängenwerten genommen wird, deren Tonhöhen aus den
aufführen. Andere Token werden durchgereicht, sodass Sie bestimmte Noten und vordefinierte Riffs einfügen können
oder ruht. Jedes Token im Block, das mit einem Unterstrich beginnt, wird durchgereicht, mit
der Unterstrich entfernt. Siehe example/tutorial/choose_scale.mg für ein Beispiel.

Eine andere Möglichkeit, die Liste der Noten/Gewichtungen anzugeben, ist mit dem Treppe Stichwort:

Treppe Moll /l8/g4-6 [ Gewicht ... ]

Dies wählt eine g-Moll-Tonleiter von der 4. bis zur 6. Oktave (dh g4 bis g6). Der Längenwert
ist nicht erforderlich, wenn Sie einen Rhythmusblock verwenden. Wenn die -6 entfällt eine einzelne Oktave ist
benutzt.

Der Gewichtsblock gibt die Notengewichtungen der Reihe nach an. Wenn weggelassen, sind alle Gewichtungen
gleich. Um eine Note zu ignorieren, verwenden Sie eine Gewichtung von 0, aber es gibt sollen eine Gewichtung für jede Note sein
wenn der Block überhaupt vorhanden ist.

Das -S Der Schalter kann verwendet werden, um die Noten in einer Tonleiter oder einer Liste unterstützter Tonleitern anzuzeigen.

%Kette {
Anfang
note1 [ Gewichtshinweis ... ]
...
Rhythmus [ Gewicht Länge ... ] or Rhythmus { Länge ... } }

Definieren Sie eine Kettenstruktur, in der es für jede Note eine gewichtete Liste von Noten gibt, die möglicherweise
Folge es. Ein Startpunkt wird zufällig aus allen verwendeten Noten ausgewählt oder mit . angegeben
Anfang Stichwort, und dann werden nachfolgende Notizen aus der entsprechenden Liste bis zu a . ausgewählt
Gesamtlänge Zeit.

Das Rhythmus Schlüsselwort hat zwei Formen: Mit eckigen Klammern `[]', eine gewichtete Liste von Notizen
Längen definiert werden, die zufällig ausgewählt werden. Mit geschweiften Klammern `{}', eine Liste von
Es können Längenwerte definiert werden, die nacheinander verwendet werden (bei Bedarf wiederholen). Zu
Spielen Sie den Rhythmusblock nur einmal durch, stellen Sie die Zeit zu 0 or -. In diesem Fall ist der Rhythmus
Block wird auf die gleiche Weise geparst wie oben für . beschrieben %wählen mit auf Null gesetzter Zeit. Die
Stichwort mal kann als Synonym für verwendet werden Rhythmus.

Das Anfang Das Schlüsselwort gibt die Anmerkung an, mit der bei Verwendung der Kette begonnen werden soll. Wenn Anfang is
weggelassen, wird die Startnote zufällig gewählt.

Eine andere Möglichkeit, die Noten in a . zu definieren Kette Block besteht darin, eine der eingebauten Waagen zu verwenden. Dann
die Gewichtungen werden in Form einer Matrix angegeben, mit einer Zeile für jede "von"-Note (eins
für jede Note der Tonleiter) und eine Spalte für jede "bis"-Note. Ein Beispiel für dieses Formular kann
finden Sie in der Datei example/tutorial/chain_scale.mg

Um die Choose- oder Chain-Blöcke zu verwenden, muss die Datei mit der Unroll-Loops-Option kompiliert werden
(wird automatisch gesetzt, wenn ein Auswahl- oder Kettenblock gefunden wird). Diese Option speichert die
ausgerollten Quellcode in einer neuen Datei, wenn er also besonders gute Ergebnisse liefert, haben Sie einen
exakte Kopie, an der Sie andere Änderungen vornehmen können, ohne die generierte Spur zu verlieren.

Beachten Sie, dass sich ein Choose- und Chain-Blöcke nicht in einem %define oder in einem anderen Choose oder . befinden können
Kettenblock.

%eval {Perl-Code}

Führen Sie einen Block mit Perl-Code aus und ersetzen Sie den %eval-Block durch den von Perl zurückgegebenen Wert
Code.

%eval - {Perl-Code}

Führen Sie einen Perl-Codeblock aus, ohne den Rückgabewert zu lesen.

Perl-Code wird mit dem Safe-Modul ausgeführt, falls vorhanden, mit :base_core, :base_math und
:base_mem erlaubt. Wenn Safe.pm nicht verfügbar ist oder mehr Berechtigungen benötigt werden, wird --unsafe
Option bewirkt, dass Midge die %eval-Blöcke in seinem eigenen Perl-Prozess ausführt.

Schlüsselwörter an jeder Stelle in der Quelle erlaubt.

%enthalten

Enthält den Inhalt von Datei als wären sie an dieser Stelle in der Quelle geschrieben worden
Datei. Muss in einer eigenen Zeile in der Quelldatei stehen.

Gleichzeitige Notizen.

Die flexibelste Möglichkeit, gleichzeitige Noten zu spielen, ist die Verwendung separater Spuren (Sie können
gleichen Kanal/Patch) oder durch Verwendung separater Note-On- und Note-Off-Events (siehe unten).
Es gibt jedoch einen einfacheren Weg mit einigen Einschränkungen. Zum Beispiel: ( c e g ) spielen
die Noten c, e und g gleichzeitig, wodurch ein C-Akkord entsteht. Die Länge aller gleichzeitigen
Noten ist die gleiche wie die erste (bestimmt durch ihren eigenen Längenwert oder die Eins
von der vorherigen Note, Pause oder $length-Deklaration geerbt.

Eine Möglichkeit, dies zu verwenden, um Akkorde zu erstellen, ist wie folgt:

%definieren Moll { ( c e- g ) } # Definiere Moll als c-Moll

%definieren Dur { ( c e g ) } # Definiere Dur als C-Dur

%definieren 7. { ( c e g b- ) } # Definiere die 7. als c-7.

Dann können Sie das in Ihren Musiktiteln verwenden:

$length 4 $octave 4 # Standardlänge und Oktave festlegen

~Hauptfach # C-Dur spielen

~klein/9/ # a-moll spielen

~7./5/ # spiele eine f-7th

Damit Akkorde geklimpert klingen, klimpern Stichwort kann verwendet werden:

$strum 5

Dadurch wird das Intervall zwischen jeder Note in nachfolgenden Akkorden auf 5 Midi-Klicks eingestellt.

Um komplexe Muster gleichzeitiger Noten auf einer Spur zu erstellen, trennen Sie Note On und Note
off-Ereignisse verwendet werden. Diese werden wie normale Noten angegeben, jedoch mit a +
vorangestellt für Notiz an und a - für Note off vorangestellt. Die Längen- und Wiederholungsoptionen können nicht
verwendet werden. Die Länge der auf diese Weise eingegebenen Noten wird durch das Setzen von Pausen oder anderen
Noten zwischen den Note-On- und Note-Off-Events. z.B:

+c4 /l4/r +er +g /l2/r -c -e -g

spielt und hält c4, nach einer 1/4-Note spielt und hält e4 und nach einer weiteren 1/4-Note spielt
und hält g4, wobei alle drei nach einer weiteren 1/2 Note losgelassen werden.

Tupeln.

Es ist zwar möglich, durch die Wahl einer geeigneten Notenlänge Tolen zu erzeugen, sie können aber auch
konventioneller geschrieben werden mit dem %tole Stichwort:

%tole n:d { Notizen... }

spielt n Notizen im Raum von d. merkt an kann alles Erlaubte in einem @channel-Block enthalten.
Die Notenwerte werden dann automatisch geändert, um die Tupel zu erstellen. Zum Beispiel:

%tuplet 5:3 { /l8/e4 fgfe }

spielt fünf Achtelnoten im Raum von drei. Tuplets können beliebig tief verschachtelt werden. Sehen
example/tutorial/tuplet.mg für ein Beispiel. Mücke tut nicht Überprüfen Sie, ob die Länge der Musik
innerhalb des Tuplettblocks ist richtig.

Schlüssel.

Wenn Sie Ihre Midi-Datei in einen Notationseditor importieren möchten, müssen Sie die Tonart festlegen.
Dies geschieht mit:

$schlüssel [+|-][m]

Wo Name ist ag, +|- sind scharf und flach und m ist gering. Wenn das ganze Stück drin bleibt
den gleichen Schlüssel können Sie im Abschnitt @head festlegen, ansonsten kann er überall in a erscheinen
@channel-Bereich und wirkt sich auf alle Spuren aus.

Wenn Sie an normale Musiknotation gewöhnt sind und möchten, dass Noten automatisch scharf oder flach sind
Verwenden Sie je nach Schlüssel die $key_strict Stichwort statt. Um eine natürliche Note zu erhalten, verwenden Sie die =
Zeichen, zB in G, f= spielt ein f natürlich. Die $key_strict Schlüsselwort kann nur im verwendet werden
@head-Abschnitt. Der Schlüssel kann weiterhin mit dem regulären . geändert werden $schlüssel Stichwort.

$Strg

Controller-Nummer einstellen num zu Welle.

$rpn [num-msb,] [,val-lsb]

Stellen Sie den RPN-Controller ein num zu Welle

$nrpn [num-msb,] [,val-lsb]

Stellen Sie den nrpn-Controller ein num zu Welle

%wörtlich { Bytewert... }

Fügen Sie eine Zeichenfolge von Bytes in die Midi-Datei ein. Jeder Bytewert kann entweder dezimal sein (0-255)
oder hex (0x00-0xFF). Das Stichwort Bytes kann anstelle von verwendet werden wörtlich.

$drucken

Print Text zu stdout. Wenn Text Leerzeichen enthält, muss es in doppelte Anführungszeichen gesetzt werden (").

Verwenden Sie Midge online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad