
microbug
MIDIBug
ok, wer schreibt Hermann an und fragt nach einer Doku oder einem C-Headerfile, falls vorhanden? Am Besten jemand, der ihn persönlich kennt.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: This feature may not be available in some browsers.
Die haben aber doch wahrscheinlich auch nur die Doku, die beim V8.x dabei ist und @qwave bereits vorliegt?
Virtual Music hat keine solche Doku, aber nun hat Hermann eine Mail von mir.
Dann müssten die Werte aber zu finden sein. D.h. wenn im Bave-File 36 steht, müsste im PPG-File doch eigentlich 06 03 zu finden sein. Ist aber leider nicht so. Oder, wenn die Bytes zusammengehalten werden, müsste bei PPG 36 00 zu finden sein. Ist aber auch nicht der Fall.Im PPG Wave steckt eine Motorola CPU, daher gilt: Big Endian ist die Reihenfolge der Wahl.
Sind seine Zahlenangaben in Hexadezimal oder Decimal? In beiden stimmt es so nicht.Dann müssten die Werte aber zu finden sein. D.h. wenn im Bave-File 36 steht, müsste im PPG-File doch eigentlich 06 03 zu finden sein. Ist aber leider nicht so. Oder, wenn die Bytes zusammengehalten werden, müsste bei PPG 36 00 zu finden sein. Ist aber auch nicht der Fall.
Dann müssten die Werte aber zu finden sein. D.h. wenn im Bave-File 36 steht, müsste im PPG-File doch eigentlich 06 03 zu finden sein. Ist aber leider nicht so. Oder, wenn die Bytes zusammengehalten werden, müsste bei PPG 36 00 zu finden sein. Ist aber auch nicht der Fall.
Ich meine die 36 natürlich hexadezimal, da das die .syx-Datei binär ist also erst in Dezimalwerte umgewandelt werden muss.Sind seine Zahlenangaben in Hexadezimal oder Decimal? In beiden stimmt es so nicht.
x36 (hexadezimal) = 54 (dezimal) = 0011 0110
Also die oberen vier Bits sind die ersten vier = (0000)0011 = x03
Die unteren Bits = (0000)0110 = x06
Bei Big Endian also erst x03 dann x06 im PPG Sysex.
Wenn du die 36 dezimal meinst, so wäre das binär = 0010 0100
Also (0000)0010 = x02
und (0000)0100 = x04
Also mit Big Endian als x02 x04 im PPG Sysex.
(0000) sind die für 4 Bit nicht genutzten Stellen im 8 Byte Sysex (das nur die unteren 7 Bit tatsächlich mit Daten nutzen kann, da das oberste Bit für MIDI wie xF0, xF7 und andere Satus Bytes reserviert ist).
Habe ich auch schon erfolglos versucht, bzw. nicht nach 72, das wäre dezimale Multiplikation, sondern 6C.Schnellschuss Idee:
Evtl bei zB Wert 36 auch mal nach 72 suchen, nicht das hier auch die 0-127 ausgeschöpft werden.
Falsch.Ich meine die 36 natürlich hexadezimal, da das die .syx-Datei binär ist also erst in Dezimalwerte umgewandelt werden muss.
Wenn, wie oben beschrieben, bei Big Endian die höherwertigen Bits am Schluss stehen, muss also bei 0x36 die 3 am Schluss stehen, also 06 03.
Wikipedia schrieb:
- Beim big-endian (wörtlich etwa: „großendigen“, siehe auch Abschnitt „Etymologie“) Format wird das höchstwertige Byte zuerst gespeichert, d. h. an der kleinsten Speicheradresse. Allgemein bedeutet der Begriff, dass bei zusammengesetzten Daten die höchstwertige (höchstrangige) Komponente zuerst genannt wird, wie etwa bei der deutschen Schreibweise der Uhrzeit: Stunde:Minute:Sekunde.
- Beim little-endian (wörtlich etwa: „kleinendigen“) Format wird dagegen das niedrigstwertige Byte an der Anfangsadresse gespeichert, also die niedrigstwertige Komponente zuerst genannt, wie bei der herkömmlichen deutschen Datumsschreibweise: Tag.Monat.Jahr.
Die englische Beschreibung weiter oben sagt genau das Gegenteil. Ist aber auch vollkommen egal, da weder so oder so eine Übereinstimmung gefunden wird.Falsch.
Welche meinst du? Oben bei Wikipedia? Oder das hier?Die englische Beschreibung weiter oben sagt genau das Gegenteil. Ist aber auch vollkommen egal, da weder so oder so eine Übereinstimmung gefunden wird.
Eine berechtigte Frage.Wenn viele PPG Parameter nur in 1 Bit sind (beim Behringer teilweise mit mehr Möglichkeiten erweitert), warum ist dann für 105 zu speichernde Werte der Data-Teil eines einzelnen Sounds (mit A & B) insgesamt 204 Bytes lang?
Wenn viele PPG Parameter nur in 1 Bit sind (beim Behringer teilweise mit mehr Möglichkeiten erweitert), warum ist dann für 105 zu speichernde Werte der Data-Teil eines einzelnen Sounds (mit A & B) insgesamt 204 Bytes lang?
Jap.Es ist und bleibt HEXerei!
Und den gesparten Platz dann doppelt zu verschwenden, indem man jeweils vier Bit nicht nutzt. Es ist ein Rätsel.Als ob die Daten in einer Matrix kodiert werden um (Speicher-)Platz zu sparen.
Moment. Das mit den Nibbles gilt nur für den Datentransfer über MIDI, weil sonst nur 7bit gingen. Intern wird das Ganze natürlich 8 oder 16 Bit gespeichert. Nibbleweiser Transfer ist natürlich so ziemlich das ineffizienteste, aber einfacher zu implementieren als alle anderen Methoden, die ich weiter vorne anhand eines Screenshots aus dem SoundDiver Handbuch aufgezeigt habe.Und den gesparten Platz dann doppelt zu verschwenden, indem man jeweils vier Bit nicht nutzt.
Theoretisch, aber im PPG-SysEx-File sind in jedem Byte ja immer nur die unteren vier Bit gespeichert.Moment. Das mit den Nibbles gilt nur für den Datentransfer über MIDI
Wurde aber bei einigen Geräten so gehandhabt, weil man einfach alles was aus dem Speicher kam konvertiert hat und nicht erst schaute, wieviel Bits da genutzt werden. Machte es auch für Universaleditoren einfacher. Man konnte damals deutlich sehen, daß beim Wechsel auf 16Bit CPUs beim Datentransfer eine Zeitlang Verschwendung herrschte8 Bit Werte, aus Parametern die max. 6 Bit sind, in 4 Bit Werten des Sysex zu Packen ist schon irgendwie komisch.
8 Bit Werte, aus Parametern die max. 6 Bit sind, in 4 Bit Werten des Sysex zu Packen ist schon irgendwie komisch.
Und warum hat man überhaupt die Parameter auf max. 6 Bit begrenzt, wenn man dadurch auch im RAM des PPG waves nichts sparen würde?
Das Problem bei Sysex ist, daß man an dieser Stelle außer dem Rahmenformat (max. 7Bit, F0 <>7E als Vorspann und F7 als Ende) keinerlei Vorgaben gemacht hat,w as die Hersteller dann auch, teils sehr kreativ, ausnutzten und sich immer neue Methoden ausdachten, die teils sogar innerhalb der eigenen Firma von Gerät zu Gerät variierten. Rühmliche Ausnahme war Yamaha mit seinem Standardformat für alle 6OP FM Synths und alle 4OP FM Synths (was sie beim DX9 und FB01 prompt selbst unterliefen) und Roland mit ab dem S-10 eingeführen Standardformat, was auch heute noch gilt, wenn auch die Model ID inzwischen auf 4 Byte angewachsen ist. Yamaha hat IIRC seit dem Motif auch ein Standardformat, vorher war alles ein einziges Durcheinander.Das Zeug was man in den 80ern geraucht hat, strotzte wohl nur so an Nebenwirkungen - anders kann man sich das nicht erklären.![]()