Waldorf Wavetable sysex Definition

Dieses Thema im Forum "Controller & MIDI" wurde erstellt von madias, 23. Juli 2015.

  1. madias

    madias -

    Hallo,

    da ich gerade einen MCU basierenden Synthesizer entwickle, der auch Standard Waldorf Wavetables lesen soll, hätte ich ein paar Fragen bzgl. der Waldorf Sysexdefinition:
    Waldorf Wavetable Format
    Soweit ich herausfinden konnte, ist das Protokoll (Blofeld) wie folgt:
    Index Label Value Description
    -----------------------------------------------------------
    0 EXC F0h Start of SysEx
    1 IDW 3Eh Waldorf Music ID
    2 IDE 13h Blofeld ID
    3 DEV Device ID
    4 IDM 12h WTBD (Wavetable Dump)
    5 WT 50h..76h Wavetable number
    6 WN 00h..3Fh Wave number
    7 00h Format
    8-391 WDATA 00h..7Fh Data: triplets with little-endian signed 21-byte numbers
    392-405 NAME 20h..7Fh Wavetable name (ASCII)
    406 00h Reserved
    407 00h Reserved
    408 CHK WDATA & 7Fh Checksum (add bytes 7..407 together)
    409 EOX F7h End of SysEx
    -----------------------------------------------------------
    Mir ist so ziemlich alles klar, bis auf die WDATA Sektion: "21-byte numbers" meint wohl 21 Bit Tiefe (3x7) oder? Irgendwie kann ich logisch mit einer 21 Bittiefe nicht viel anfangen, außer dass es sich "halt genau so ausgeht".
    Als Code würde ich es so interpretieren:
    currentdata=(((daten[c+a+2])+(daten[c+a+1]<<7) + (daten[c+a] <<14))>>BITTIEFE) ;
    dabei ist <BITTIEFE> die gewünschte Bittiefe (bei mir 16 Bit, also wäre BITTIEFE =5),
    <c> die Wavetable Page (0...63) und
    <a> der Wavetable pointer (0...127)

    Sehe ich das so richtig?

    Danke!
    Liebe Grüße
    Matthias
     
  2. swissdoc

    swissdoc back on duty

    Zuerst einmal:
    :hallo:
    Es muss wohl heissen: "triplets with little-endian signed 21-bit number". Da Midi nur den Transfer von 7-bit Werten erlaubt, werden je 3 davon zu einem 21-bit Wert. Eben "triplets".

    Schau Dir auch noch das Microwave V2.0 Sysex Manual an (gibt es auf der Waldorf Page). Dort wird das Thema Wavetable weiter erklärt. Das SysEx-Format ist allerdings anders als beim Blofeld. Prinzip ist aber gleich.
     

Diese Seite empfehlen