Hilfe: Casio CZ-5000 SysEx Patches mit MIDI-OX Lesen

Dieses Thema im Forum "Digital" wurde erstellt von Yog-Sothoth, 8. November 2012.

  1. Hallo zusammen!

    Ich habe mich heute hier im Forum angemeldet und dies ist mein erster Eintrag.

    Bevor ich frage, wollte ich mich aber kurz vorstellen:
    mein Name ist Michael Wilkes, ich bin Baujahr 1969 und wohne in Solingen. Unter dem Pseudonym Yog-Sothoth versuche
    ich, ein wenig elektronische Musik zu machen. Weitere Infos über mich und meine Geräte finden sich auf meiner Homepage...

    Nun zu meinem Problem:
    ich habe vor einiger Zeit einen Casio CZ-5000 bekommen. Dieser hat neben seinen 32 internen Presetklängen (Preset A1-8
    bis D1-:cool: ja auch 32 Userklänge (Memory A1-8 bis D1-:cool:. Gepuffert wird über ein extern zugängliches Batteriefach. Nun
    möchte ich gerne die Userklänge archivieren, damit ich diese nach einem Batteriewechsel wiederherstellen kann.
    Hierzu benutze ich bei allen anderen Geräten MIDI-OX. Nun hat der Casio ja den Nachteil, daß er keinen Button bzw.
    keine Bulk-Funktion besitzt, mit der ich SysEx Daten herausschicken kann. Nun fand ich im Internet ein paar
    Beschreibungen, wie es mit MIDI-OX gehen soll, jedoch war dies bisher erfolglos!

    Wenn ich in MIDI-OX ein SysEx File wähle und dieses zum Casio schicke, empfängt er es zwar, aber nicht alle
    funktionieren. Ich habe Files von ca. 2 kB, 4 kB, 8 kB, 16 kB und 24 kB Größe gefunden, aber ich glaube, nur die 4 kB
    nimmt er an, die anderen sind für ihn nicht interessant. Und wenn ich diese dann zum Casio schicke, so speichert er
    die Klänge nur im Bereich Memory A1 bis A8 und B1 bis B8 ab, jedoch NICHT in den Bereichen C und D, die bleiben
    leer... Natürlich ist der Memory Protect Schalter auf der Rückseite auf OFF. Wenn ich nun aber einen Klang verändere
    und diesen per Kommandos, wie auf den Webseiten erklärt, in MIDI-OX manuell schicke und auf Festplatte speichere, am
    Casio dann das Patch wechsele und den zuvor gespeicherten Klang wieder zum Casio schicke, so ist er danach aber nicht
    drin, er hat also im Grunde nichts geschickt.
    Mit anderen Worten, ich schaffe es nicht, Klänge vom Casio zum PC zu schicken und diese wieder zurückzuschicken.
    Fertige Sysex Bänke nimmt er nur bestimmte an...

    Daher meine Frage an Euch: kann mir jemand nachvollziehbar erklären, wie ich die Patches aus meinem, Casio CZ-5000 im
    Bereich Memory A1 bis D8 per MIDI-OX zum PC schicke, und sie auch wieder in den Casio bekomme? Sonst würde es sich gar
    nicht lohnen, tolle Klänge zu speichern, da sie nach einem Batteriewechsel ja nicht wiederherstellbar und damit futsch
    wären...

    Ich wär Euch sehr dankbar!!!

    Gruss, Michael
     
  2. Anonymous

    Anonymous Guest

  3. Vielen Dank für den Link, ja ich glaube, den hatte ich auch schon mal intus...

    Wenn er ein Patch vom Casio empfängt, sind es, wenn ich mich nicht irre, etwa 256 Bytes, wenn ich die mal 32 nehme, komme ich auf ca. 8 kB, d.h. nach meines Verständnis hätten dann 1 Patch = 256 Byte, 16 Patches = 4 kB und 32 Patches = 8 kB. Also müsste das mit dem Senden von bis zu 8 kB großen SysEx Files doch klappen, um die komplette Memory Bank zu füllen. Aber er nimmt NUR die 4 kB Files an und füllt mir dann auch nur die Memory Bänke A1 bis B8 aus, also genau 16 Patches...

    Nur wenn ich MIDI-OX laut der Beschreibung über die Kommandos z.B. sage, Jung, schick mir bitte Patch C1, dann empfängt er zwar eine Datei, aber wenn ich diese nachher wieder zum Casio schicken will (einfach durch Öffnen des Files, senden tut er dann ja selber), dann scheint er was zu senden, aber am Casio ändert sich nichts hörbar. Würde er das Patch dann automatisch wieder nach C1 senden (weil er es da her hatte) oder geht das in einen temporären Editierpuffer und müsste manuell von mir wieder auf C1 gespeichert werden? Aber selbst wenn, laut Klang hat er es ja nicht empfangen, denn es ändert sich nichts, also brauch ich ja auch nichts zu speichern...

    Ich krieg den Mist einfach nicht hin... :cry:
     
  4. virtualant

    virtualant eigener Benutzertitel

    ha, das ist echt Hardcore! Da muss man in die SysEx Programmierung einsteigen, anders geht das nicht.
    Ich habe irgendwann mal für mich selber folgende Infos zusamengetragen, vorbemerkt sei dass mein CZ5000 damals auf MIDI Kanal 15 lief.

    ####################################

    Infos allgemein:
    - Send Request 1: Soundübertragung vom Synth zum Computer, nur der angeforderte Einzelsound wird übertragen
    - Send Request 2: Soundübertragung vom Synth zum Computer, Programmer und Effektdaten werden übertragen (was ist Programmer??)
    - Receive Request: Soundübertragung vom Computer zum Synth
    Wenn also ein einzelner Sound abgespeichert werden soll muß ein Send Request 1 erfolgen.

    SEND REQUEST
    Send Request 1, allgemein:
    - Step 1: Computer -> F0 44 00 00 70+channel 10 program
    - Step 2: CZ-5000 -> F0 44 00 00 70+channel 30
    - Step 3: Computer -> 70+channel 31
    - Step 4: CZ-5000 -> [tone data] F7
    - Step 5: Computer -> F7
    70+channel bedeutet: 70 + MIDI Channelnummer
    program bedeutet: Programnummer, also program change:
    00 - 1F (Presets)
    20..3F User sounds A1,A2.....D6,D7,D8
    60 Edit Buffer !!

    Send Request 1, Beispiel:
    - Step 1: Computer -> F0 44 00 00 7E 10 20
    - Step 2: CZ-5000 -> F0 44 00 00 7E 30 <-- das ist der Header welchen der Casio an Cubase schickt, das muss zum Zurückspielen geändert werden
    - Step 3: Computer -> 7E 31
    - Step 4: CZ-5000 -> [tone data] F7
    - Step 5: Computer -> F7
    MIDI Kanal 15, User Sound A1

    zusammengesetztes Beispiel, in eins durch, Computer an CZ-5000:
    F0 44 00 00 7E 10 20 7E 31 F7 (MIDI Kanal 15, User Sound A1)
    F0 44 00 00 7E 10 21 7E 31 F7 (MIDI Kanal 15, User Sound A2)
    funktioniert!!


    RECEIVE REQUEST
    Das Zurückspielen der Daten vom Computer in den Casio erfolgt ähnlich
    Receive Request, allgemein:
    - Step 1: Computer -> F0 44 00 00 70+channel 20 program
    - Step 2: CZ-5000 -> F0 44 00 00 70+channel 30
    - Step 3: Computer -> [tone data] F7
    - Step 4: CZ-5000 -> F7

    Receive Request, Beispiel:
    - Step 1: Computer -> F0 44 00 00 7E 20 20 <-- das ist der modifizierte Header wenn der Casio das Patch wieder laden soll
    - Step 2: CZ-5000 -> F0 44 00 00 7E 30
    - Step 3: Computer -> [tone data] F7
    - Step 4: CZ-5000 -> F7
    MIDI Kanal 15, Sound auf A1

    zusammengesetztes Beispiel, in eins durch, Computer an CZ-5000:
    F0 44 00 00 7E 20 20 [tone data] F7 (MIDI Kanal 15, User Sound A1)
    F0 44 00 00 7E 20 21 [tone data] F7 (MIDI Kanal 15, User Sound A2)
    F0 44 00 00 7E 20 3F [tone data] F7 (MIDI Kanal 15, User Sound D:cool:
    funktioniert!!
    die Datei muss genau 264 bytes groß sein.
    Es muss also unbedingt der Header modifiziert werden von den Daten, die vom Casio in den Computer gehen.
    aus
    F0 44 00 00 7E 30 wird F0 44 00 00 7E 20 20 (ein Byte mehr!!!) bzw. .... 20 21 usw.


    ########################################################################

    Übertragen hab ich das damals mit Cubase, komm da aber grad nicht ran, meld mich dann noch mal wenn ich mir den HEX Code angeschaut habe. Auf jeden Fall habe ich die SysEx Codes direkt in Cubase angepasst (glaub ich).
     
  5. Uih, danke schön!!

    Das werde ich heute abend direkt mal ausprobieren und berichten!

    Vielen Dank!!
     
  6. virtualant

    virtualant eigener Benutzertitel

    so ich hab jetzt mal nachgeschaut, ich hab in Cubase ein Projekt angelegt mit

    - MIDI Spur 1 wo 32 parts hintereinander abgespielt werden die jeweils 1 Takt lang sind, 120 bpm. in jedem part steht am Anfang ein SysEx Code drin, der Send Request für den Casio, in jedem Part wird die Patchnummer um 1 hochgezählt.
    Also
    F0 44 00 00 7E 10 20 7E 31 F7
    F0 44 00 00 7E 10 21 7E 31 F7
    F0 44 00 00 7E 10 22 7E 31 F7
    usw.
    (MIDI-Kanal 15 in diesem Fall)

    - MIDI Spur 2 zum Aufnehmen der Casiodaten dadrunter, also Spur 2 auf record stellen, ganzen Song abspielen

    Casio kriegt die Send requests und schickt jeden Patch hintereinander raus. Das wird auf Spur 2 aufgenommen. Beide Spuren natürlich MIDI-Kanal entsprechend einstellen. Ich hab dann die lange Aufnahme in 32 parts geschnitten, so dass ich an jeden patch einzeln ran kann.

    Wie kommen die Daten wieder zurück?

    - Spur 1 und Spur 2 stumm schalten.
    - Spur 3 anlegen, den ersten part von spur 2 auf spur 3 kopieren, dann manuell SysEx anpassen, der HEADER muss geändert werden! Siehe oben.
    - Anschliessend die restlichen 31 parts generieren, also duplizieren, um 1 die Patchnummer hochzählen, dann wieder duplizieren, wieder um 1 hochzählen. Bis dann auf Spur 3 auch 32 parts vorhanden sind mit jeweils 1 Taktlänge.

    Voila, das ist das BACKUP des Casio CZ-5000 ;-)

    Spur 3 kann dann jederzeit abgespielt werden und der Casio bekommt seine Sounds zurück.

    ich hab 1 Taktlänge gemacht, ich will den Casio ja nicht überfordern was das Tempo angeht ;-)
     
  7. Anonymous

    Anonymous Guest

    Klingt alles sehr interessant. Jetzt sollte alles nur noch mit einem Klick funktionieren?! :shock:
    Vielleicht kann ja ctrlr.org dabei helfen? Die Ideen von oben sollte man da doch nutzen und einbauen können? Habe ctrlr schon länger nicht benutzt. Anscheinend sind ja einige neue Features da hinzugekommen, requests hin- und hersenden wohl auch?

    Nur zur Info, auch MidiOx kann ja alle Inputevents aufnehmen, im Textformat speichern, mit einem zusätzlichen Tool lassen sich diese Textdateien in Midi umwandeln. Will man diese Mididateien noch weiter modifizieren, z.B. Patchnummer um eins an der richtigen Stelle hochzählen usw., da könnte man z.B. Keykit benutzen. Wenn man auch AutoHotkey dazunimmt, geht alles auch nur mit einem Klick.
     
  8. Vielen Dank Ihr beiden, das werde ich mal in Ruhe testen und gebe dann Rückmeldung!!

    Danke schön!!
     
  9. Hallo zusammen,

    so, ich habe das Ganze eben ausprobiert und es hat funktioniert, meinen ganz herzlichen Dank!!!

    Ich habe mit MIDI-OX mal ein Patch vom User Memory Speicher D8 auf MIDI-Kanal 1 auslesen lassen, hierzu verwendete ich das Kommando:

    F0 44 00 00 70 10 3F 70 31 F7

    Dann hatte die empfangene SysEx Datei eine Größe von 263 Bytes. Dann habe ich in einem Hex-Editor die Datei geöffnet und ein zusätzliches Byte eingefügt.
    Aus F0 44 00 00 70 30 machte ich dann F0 44 00 00 70 20 60, weil ich die Patchdaten nicht einem speziellen Speicherplatz zuweisen wollte, sondern dem
    Editierpuffer. Dann gespeichert und die Datei hatte nun eine Größe von 264 Bytes.

    Dann in MIDI-OX die Datei gesendet und getestet, sie lag nun im Editierpuffer, d.h. ich konnte die übertragene Datei direkt testen und hören. Und dann konnte
    ich manuell diesen Sound auf dem von mir gewünschten Speicherplatz speichern.

    Der Vorteil für mich ist bei dieser Methode, daß ich einzelne Patches speichern kann und die dann selber nach dem Übertragen in den Editierpuffer manuell da
    speichern kann, wo ich will. Das ist für mich flexibler wie eine komplette Datendank, wobei ich ja nun weiss, wie das funktioniert, alle Kommandos hintereinander,
    dann empfängt er die komplette Bank A1 bis D8, und die müsste ich dann im Hex-Editor laden und vermutlich dann 32mal den Header in der Datei abändern, also
    32 zusätzliche Bytes einfügen.

    Warum es bisher nicht funktioniert hatte, war weil ich den Header nicht geändert hatte, ohne Eure Hilfe hätte das nicht geklappt!

    Vielen, vielen Dank!! :)

    Gruss, Michael
     
  10. Anonymous

    Anonymous Guest

    Mir musst Du nicht danken, von wem die Hilfe kam sieht man ja oben, freut mich dass es geklappt hat. Es hat sich gelohnt sequencer.de zu besuchen. :)

    Ich finde Deine Methode die Programme im CZ-5000 abzulegen auch interessanter, erst mal in den Editierpuffer und Du kannst pro Projekt nach und nach weitere Sounds dazufüllen, je nachdem was Du halt nutzen möchtest. Benutzt Du den CZ-5000 für alles mögliche oder eher für spezielle Sachen? Leads, Bass, Pads? Alles?

    Für den CZ-101 hat jemand glaube ich schon einen ctrlr Editor gebastelt, den könnte man evtl. nicht so schwer in eine CZ-5000 Variante wandeln. Aber vielleicht willst Du nicht gross einen Editor dafür zusammenschustern? Gibt es viele CZ-5000 Presets im Netz?
     
  11. virtualant

    virtualant eigener Benutzertitel

    super, freut mich ;-)
    ich schau's mir am Wochenende noch mal genauer an was Du geschrieben hast, bin da grad zu müde für (Hex hex hex...).
    Meld mich dann bestimmt noch mal.
     
  12. Ja das Registrieren hier hat sich wirklich schon gelohnt :)

    Ich habe den Casio erst seit kurzem und ich habe ihn gerade jetzt zum ersten Mal in einem Lied benutzt. EIn Kumpel von mir hat noch seinen CZ-1000, den fand ich damals
    schon klasse und als sich mir die Gelegenheit bot, war ich doch sehr froh, an den CZ-5000 zu kommen. Das nächste Projekt am Gerät ist, daß ich ihn öffne, die ganzen
    Taster mal reinige und das Display gegen ein neues mit Hintergrundbeleuchtung austausche.

    Das Display ist schon bestellt und versendet, ich hatte da eine interessante Webseite gefunden, wo jemand den Umbau genau beschreibt. Der Casio ist mein einziges Gerät
    ohne Beleuchtung... aber nicht mehr lang ;-)

    Und was den Soundeditor angeht, wenn ich über so etwas stolpere, immer gerne :) Ich hatte mir mal das ctrlr mal installiert, weil es dafür einen Waldorf Blofeld Editor gibt,
    der aber beim Schliessen abstürzt. Und die ganz aktuelle Version will gar nicht laufen...

    Und was Patches angeht, ich kenne mich mit so Patches nicht aus, wie sieht das aus, wenn man sowas findet, darf man sowas verwenden oder ist das illegal, weil Casio
    da eventuell noch Rechte dran hat? Habt Ihr Infos??? Wär natürlich klasse... ;-)

    Gruss, Michael
     
  13. So, das Standard Display meines Casio CZ-5000 habe ich heute ausgetauscht, das neue ist mit Hintergrundbeleuchtung.

    Und so sieht das Ganze aus:

    [​IMG]
     
  14. virtualant

    virtualant eigener Benutzertitel

    ui, das sieht fein aus!

    wo hast Du die Infos zum Display her? Da hätte ich auch Interesse dran...
     
  15. Hallo :)

    Also die Infos über den Umbau habe ich von dieser Seite:

    http://tanderud.se/CZ_display_en.html

    Das Display, welches ich mir gekauft habe, ist dieses:

    http://www.elv.de/electronic-assembly-lcd-punktmatrixdisplay-ea-w162b-nlw-5-56-mm-2x16.html

    Dem Display liegt eine Beschreibung mit der Pinbelegung bei, kann allerdings auch unter dem obigen Link heruntergeladen werden.

    Wichtig für den Umbau wäre von mir noch folgende Information, die nicht auf der Umbauseite genannt wird, für das oben genannte
    Display aber unbedingt von Nöten ist:

    Wichtig 1:
    Pin 1 bis 14 vom alten Display übernehmen, dabei in Leitung Pin 3 (bei mir wars ein blaues Kabel) für die Kontrastregelung einen
    2.2 KiloOhm Widerstand einlöten. Also das blaue Kabel nicht direkt an die Platine löten, sondern zwischen dem Kabel und der
    Platine den Widerstand einlöten. Wenn das nicht geschieht, ist das Display am Ende nicht ablesbar, da die weiße Schrift in dem
    weißen Klötzchen aus Pixeln untergeht...

    Wichtig 2:
    Von Pin 1 (-) eine Brücke nach Pin 16 und von Pin 2 (+) einen 65 Ohm Widerstand nach Pin 15. Dies ist wichtig, da sonst die
    Hintergrundbeleuchtung auf Dauer Schaden nehmen und durchbrennen kann... Der Widerstandswarnhinweis steht auch in der
    beiliegenden Anleitung!

    Gruss, Michael
     
  16. virtualant

    virtualant eigener Benutzertitel

    Hi Michael,

    vielen Dank für die Infos! Bin zwar kein Bastel-Löt-Nerd, ich versteh davon nicht wirklich was, aber ich hoffe sowas trau ich mir auch eines Tages mal zu.
    Wünsche Dir noch viel Spas mit Deinem Casio :phat:
     
  17. Danke Dir :) Und viel Erfolg bei Deinem Umbau!!!!!

    Gruss, Michael
     
  18. citric acid

    citric acid eingearbeitet

    hi michael,

    willkommen im cz user club. wenn du magst, ich habe mir die patches sammlung von ebay gekauft , gerne sende ich sie dir zu. evtl hast du lust am sounds tauschen. habe derweil auch nur noch meinen cz 3000 aber der ist fast wie 5000. geile synthese. schön auch für flächen.

    lg,cit
     

Diese Seite empfehlen