MIDI "Syntax" - Thema anzeigen

MIDI "Syntax" - Thema anzeigen



 
 Index |  Magazin |  Musikerforum |  Chat[0] |  Webkatalog |  Musikerwitze |  Musiklexikon |  Kontakt |  
 
  

  

   



  Neueste Forenbeiträge
 

  Backlinks (mehr)
Wie funktioniert's?

  2jesus.de unterstützen
Wenn Ihr uns unterstützen wollt dann wickelt doch Eure Amazon-Bestellung über diesen Link oder untige Suchbox ab:

Solltet Ihr dann immer noch das Bedürfnis haben, mir was Gutes zu tun: Hier mein Amazon Wunschzettel.
 


  pixel

Das Forum für Musiker und Musikschaffende


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ]  Gehe zu Seite [1], 2  Nächste
Autor Nachricht
 Betreff des Beitrags: MIDI "Syntax"
BeitragVerfasst: 29.10.2006 19:35 
Offline
Profi-Mucker
Benutzeravatar

Registriert: 22.12.2005 16:33
Beiträge: 1051
Wohnort: Heidenheim
Hab mal grad wieder ein bischen Microcontroller programmiert und es tatsächlich geschafft meiner Hammond Töne zu entlocken...

Meine Frage ist jetzt nach einer Syntax dieser Nachrichten, also z.B.
hab ich das so gemacht:
Code: Alles auswählen
putchar(noteon);      //10010000
putchar(keynum);      //00100100
putchar(velocity);    //01111111

für "an" und
Code: Alles auswählen
putchar(noteon);      //10010000
putchar(keynum);      //00100100
putchar(novelocity);  //00000000

für "aus"

Das funktioniert soweit, aber wie müssen die Nachrichten aufeianderfolgen, wenn z.B. mehrere Töne gespielt werden, und wann kommt die Kanalnummer etc.

Ich habe ne Menge Seiten gefunden, wo jede Nachricht erklärt ist, aber keine wie deren Abfolge sein darf/muss/soll

_________________
Möge der Bass mit Euch sein !


Zuletzt geändert von Bassti am 02.11.2006 17:17, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 29.10.2006 22:07 
Offline
Trusted Junior

Registriert: 06.10.2005 13:17
Beiträge: 109
Wohnort: Liebenburg
Hallo

du musst das noch mit einer Timebase verbinden.

Das heist du must noch syncronisieren auf den Takt.

Welchen µC benutzt du, hast du da die Möglichkeit einen TAkt vorzugeben?

Gruß Wolfgang


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 29.10.2006 23:19 
Offline
Profi-Mucker
Benutzeravatar

Registriert: 22.12.2005 16:33
Beiträge: 1051
Wohnort: Heidenheim
Ich hab hier nen Atmel Mega8 am start.

Wie meinst Du das mit dem Takt, müssen die einzelnen Messages welche immere 1 Byte groß sind auch noch in bestimmten Abständen folgen?

Hab die alle nacheinander der USART gefüttert, das geht, nur weiss ich nicht genau, ob jetzt zuerst die Kanalnummer kommen soll, oder zuerst die Note selbst...

_________________
Möge der Bass mit Euch sein !


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.11.2006 16:39 
Offline
Moderator
Benutzeravatar

Registriert: 18.01.2005 01:24
Beiträge: 2155
Wohnort: Kassel / Knüllwald
Ich kann mich nicht mehr wirklich gut erinnern, aber soweit ich noch weiß, muss der Kanal zwangsläufig vor der Note kommen, denn mit der Note erklingt ja der Ton (Es wäre zu spät, dann noch den Kanal ändern zu wollen).

Ich gehe davon aus, dass wowie quasi eine Musik-Timebase meint. Die Schnittstellentaktung musst du ja vorher auf die MIDI-typischen Werte einstellen, der uController kann dann gar nicht anders als auf diesem Schnittstellen-Takt die Daten rauszuschicken...

_________________
Probleme tendieren dazu, wesentlich komplexer zu sein, als sie scheinen.
Und zu jedem dieser komplexen Probleme gibt es eine einfache, saubere Lösung.... die garantiert falsch ist.

http://www.studior.info


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.11.2006 17:14 
Offline
Profi-Mucker
Benutzeravatar

Registriert: 22.12.2005 16:33
Beiträge: 1051
Wohnort: Heidenheim
Jens Droessler hat geschrieben:... der uController kann dann gar nicht anders als auf diesem Schnittstellen-Takt die Daten rauszuschicken...


Ja, der holt sich den Takt vom Prozessortakt ja eh per prescaler, das passt dann schon.

Hab mal ein bischen rumprobiert, also gehen tuts jedenfalls mit
[Kalnummer/NoteOn] [Keynummer] [Velocity]
[Kalnummer/NoteOn] [Keynummer] [Velocity]...

gehen tut aber auch:
[Kalnummer/NoteOn]
[Keynummer] [Velocity]
[Keynummer] [Velocity]
[Keynummer] [Velocity]... nur ist das vermutlich nicht spec-konform Betrunken

_________________
Möge der Bass mit Euch sein !


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.11.2006 17:55 
Offline
Moderator
Benutzeravatar

Registriert: 18.01.2005 01:24
Beiträge: 2155
Wohnort: Kassel / Knüllwald
Ich würde das nochmal mit drei, vier anderen Geräten testen. Wenn die das alle fressen, würde ich das auch als konform bezeichnen. Die müssten dann aber auch auf nur einen einzigen Note off-Befehl hören. Ich kann mich allerdings auch nicht mehr erinnern, ob es konform ist, einfach die Velocity auf 0 zu setzen, um eine Note zu beenden.

_________________
Probleme tendieren dazu, wesentlich komplexer zu sein, als sie scheinen.
Und zu jedem dieser komplexen Probleme gibt es eine einfache, saubere Lösung.... die garantiert falsch ist.

http://www.studior.info


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.11.2006 13:44 
Offline
Amtlich unterwegs
Benutzeravatar

Registriert: 31.05.2005 23:00
Beiträge: 674
Wohnort: Berlin
Ich glaub standardkonform ist nur die erste Variante, und eigentlich auch nur Note-Off beim Loslassen der Taste. Viele Hersteller senden aber dann ein Note-On mit Velocity 0. Außerdem gibt's noch ein AllNotesOff gegen die MIDI Panik.

Gruß
raezz

_________________
Bist du schon virtuell oder lebst du noch?
Fliegengedichte ... heute schon gelesen ?


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.11.2006 14:19 
Offline
Moderator
Benutzeravatar

Registriert: 18.01.2005 01:24
Beiträge: 2155
Wohnort: Kassel / Knüllwald
Hmm, da frage ich mich, ob auch alle Synthesizer bei Velocity 0 einfach nichts tun bzw. die vorherige Note stoppen. Hätte ich das implementiert, würde der Synth trotzdem 'synthen', aber eben nichts davon ausgeben, von wegen gesync'te Sounds und so....

_________________
Probleme tendieren dazu, wesentlich komplexer zu sein, als sie scheinen.
Und zu jedem dieser komplexen Probleme gibt es eine einfache, saubere Lösung.... die garantiert falsch ist.

http://www.studior.info


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.11.2006 15:13 
Offline
Amtlich unterwegs
Benutzeravatar

Registriert: 31.05.2005 23:00
Beiträge: 674
Wohnort: Berlin
Hab gerade noch mal nachgekuckt. Laut meinem schlauen Midi Buch ist Note On = 9n (n = Kanal) und Note Off = 8n. Dann kommt der Satz "In der Praxis wird er (Note Off) allerdings durch einen Note-On mit Velocity 0 ersetzt".

Ich denke mal das ist gerätespezifisch und muss im MIDI Implementation Chart des jeweiligen Geräts beschrieben sein.

Gruß
raezz

_________________
Bist du schon virtuell oder lebst du noch?
Fliegengedichte ... heute schon gelesen ?


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.11.2006 16:57 
Offline
Moderator
Benutzeravatar

Registriert: 20.04.2006 07:17
Beiträge: 9153
Wohnort: Bretzfeld D.C.
Naja im Zweifelsfall kann es ja eigentlich nicht schaden, beides zu senden, erst Note-On mit Velocity 0 und dann den Note-Off... Damit sollte man dann auch einigerma0en kompatibel bleiben...

Gruß, Dave

_________________
Ich mache KEINEN Support per PN, ICQ, E-Mail oder Teleofn
Meine Bibel-Community


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ]  Gehe zu Seite [1], 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:

Gitarre lernen
cron
Webdesign & Ecommerce | Bibel Online | Blog von Dave

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB® Forum Software © phpBB Group