Old 11-24-2019, 10:40 AM   #1
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default Convert sysex from MIDI file to syx file

I have some old patches for CasioCZ1000 that I want to import into CZ-V, but I only have it in MIDI files.
The Cz V doesn't seems to recognize sysex messages.
I've googled for file converters but I only found some win3 programs that I cannot use.
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 11-24-2019, 11:00 AM   #2
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 1,776
Default

I've never had problems sending sysex files to a synth from reaper. How are you doing it? Is it possible you need to set something in the Casio before sending?
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - stream music
www.facebook.com/philboking - gigs and news
Philbo King is offline   Reply With Quote
Old 11-24-2019, 11:09 AM   #3
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,519
Default

If you load the MIDI files into REAPER and open the MIDI editor, here is a reascript that should extract the sysex messages and export each one to a .syx file.

Code:
path="/Users/XXX/Desktop" -- wherever you want the files to go
tk=reaper.MIDIEditor_GetTake(reaper.MIDIEditor_GetActive())
if tk ~= nil then
  cnt,notecnt,cccnt,syxcnt=reaper.MIDI_CountEvts(tk)
  for i=0, syxcnt do
    ret, sel, mute, ppqpos, type, msg=
      reaper.MIDI_GetTextSysexEvt(tk, i, 0, 0, 0, 0, 0)
    if type == -1 then
      fn=path.."/reaper_"..i..".syx"
      file=io.open(fn, "w")
      if file ~= nil then
        file:write("\xF0"..msg.."\xF7")
        file:close()
        reaper.ShowConsoleMsg("wrote "..fn.."\n")
      end
    end
  end
end

Last edited by schwa; 11-24-2019 at 01:35 PM.
schwa is offline   Reply With Quote
Old 11-24-2019, 12:03 PM   #4
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

Hi
Thanks, but it doesn't seems to work.
50% ofthe files are successfully imported, but sounds bad (same).
I'm pretty sure the sysex is ok.
They are from a CZ1000 I had last century.
Someone on another forum said that the syx files spec is manufactur specific. Is that true?
I know the data is specific, but the syx file spec?

Philbo:
It is a VST synth, not a real CZ1000.
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 11-24-2019, 01:35 PM   #5
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,519
Default

The sysex file data is manufacturer specific, but the file format is not.

You could try the minor edit I made to the script, above.
schwa is offline   Reply With Quote
Old 11-24-2019, 10:32 PM   #6
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 1,776
Default

Quote:
Originally Posted by msundh View Post
Hi
Thanks, but it doesn't seems to work.
50% ofthe files are successfully imported, but sounds bad (same).
I'm pretty sure the sysex is ok.
They are from a CZ1000 I had last century.
Someone on another forum said that the syx files spec is manufactur specific. Is that true?
I know the data is specific, but the syx file spec?

Philbo:
It is a VST synth, not a real CZ1000.
There's not much to the sysex file spec. A couple unique bytes mark the beginning and end. Everything between is manufacturer-specific.

Since it's a VSTi, it's very likely it doesn't do sysex. At least I've never encountered any VSTi that can use them. On the other hand, I've never tried it either.
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - stream music
www.facebook.com/philboking - gigs and news
Philbo King is offline   Reply With Quote
Old 11-25-2019, 10:33 AM   #7
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

Quote:
Originally Posted by schwa View Post
The sysex file data is manufacturer specific, but the file format is not.

You could try the minor edit I made to the script, above.
Thanks, but it become worse.
I fear that the sysex messsages are corrupt
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 11-25-2019, 10:42 AM   #8
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,045
Default

If you could upload one fo the MIDI files, then maybe I (or someone else) can have a look. I don't know much about CZ V, but I do know a thing or two about DX7 V's SysEx support, so who knows...
Tale is offline   Reply With Quote
Old 11-25-2019, 12:06 PM   #9
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

I found a hex editor and comparing a working syx file with the sysex messages in the midi file.
It seems that syx is just one or more sysex messages and nothing else.
Done some manual copy from the midi to syx and some works and some don't.
I will have to do some serious manual work here
Thanks for your help!
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 11-25-2019, 12:09 PM   #10
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,519
Default

Welp, in theory, that's what the script above does...
schwa is offline   Reply With Quote
Old 11-25-2019, 12:39 PM   #11
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

The edited version of the script is better, but I found that it doesn't copy the message exactly.
I compared two sysex and the script added a x0D (not in the same place) compared when copying directly via an hex editor.

I modified the script to write all (16) sysex á 264 bytes to the same syx file and it has 54 bytes too many.

I don't have that many midi files, so I can copy paste.
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 11-25-2019, 01:01 PM   #12
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,519
Default

0x0D is an ascii carriage return, so maybe at some point the message was edited in a text editor.
schwa is offline   Reply With Quote
Old 11-25-2019, 04:37 PM   #13
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 937
Default

Hi,
In my experience, which i must say includes way too much time messing with sysex, the destination has to be compatable. The sysex is not only manufacturer specific but model specific,and even device id specific. Some are even version specific.
LugNut is offline   Reply With Quote
Old 11-27-2019, 12:01 PM   #14
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

Now I manually edited and imported the sh*t.
If I use many sysex in the same syx file, then midi channel had to 1?
I'm not sure if it was worth the work
Schwa: the x0D was added using the script, not when editing.
Anyway, thanks for all input and help.
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 11-29-2019, 07:39 AM   #15
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 937
Default

Hi,
Sysex does not use midi channel. It uses device Id and that is described in the header. But the device ids number position in the header is up to the manufacturer.
IMHO you're wasting your time.
If you look in the cz manual you might find the description of sysex applicable in the back of the manual. The header will tell you what you need to know.
Gl
LugNut is offline   Reply With Quote
Old 11-29-2019, 08:12 AM   #16
drichard
Human being with feelings
 
Join Date: Jun 2016
Posts: 446
Default

It's been a long time, but if I remember correctly the old CZ synths transferred data a bit differently than most. Please don't take this as fact but IIRC correctly they don't accept a simple sysex dump directly, but rather require a "handshake" protocol in which sysex communication is begun, an ACK sent back, and then data transfer can begin. And it might be that MIDI data was transferred in packets, with an ACK required at each stage. Years ago I wrote a CZ software prog for an Atari ST, and I don't recall that a simple sysex dump would work. There are a couple of early MIDI devices that worked that way. The Roland TR707 comes to mind.

You may need to find software specific to the CZ to transfer patches, and the software likely has its own file format for storing the data.


Quote:
Originally Posted by msundh View Post
I have some old patches for CasioCZ1000 that I want to import into CZ-V, but I only have it in MIDI files.
The Cz V doesn't seems to recognize sysex messages.
I've googled for file converters but I only found some win3 programs that I cannot use.
drichard is offline   Reply With Quote
Old 11-29-2019, 08:29 AM   #17
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 937
Default

Hi,
I started with Atari st and music. At First alleditor/ librarians were for single instruments. Then came xor, then unisyn, now I have and still use Soundiver.
Soundiver has a module for the Casio if I'm not mistaken. But its 32 bit only on
PC. One reason I'm still on xp:-)
Handshaking was quite common in the early days.
Oh yeah, stay away from midi quest:-)
LugNut is offline   Reply With Quote
Old 11-29-2019, 08:45 AM   #18
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 937
Default

Hi,
If this is the arturia cz ...it says it can import original cz sysex. So it must be the old banks are either corrupted or not in the correct format. Or it coulkd be user error.

Edit..op, maybe your not connected bidirectional? Midi in AND out?

Last edited by LugNut; 11-29-2019 at 09:01 AM.
LugNut is offline   Reply With Quote
Old 11-29-2019, 09:17 AM   #19
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

This is old dumps. My cz1000 is not working, so I have only this.
I did each sysex to separate files. Then concatenate them into one file. It did not work, then changed the midi channel and it worked in Arturia CZ V.
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh

Last edited by msundh; 11-29-2019 at 01:15 PM. Reason: added Arturia CZ V for clarity
msundh is offline   Reply With Quote
Old 11-30-2019, 06:01 AM   #20
LugNut
Human being with feelings
 
Join Date: Jun 2013
Location: So Florida
Posts: 937
Default

Hi,
I think that's because the orig hardware had to be set to CH 1 for sysex dumps to work. I saw it in the thread I linked to.
LugNut is offline   Reply With Quote
Old 11-30-2019, 03:44 PM   #21
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 745
Default

Hi msundh,
I have Casio CZ-230S, which should import CZ-1000 compatible sysex.
If you want you can send/upload the midi files and I will try to extract sysex from them and import into CZ-230S (and also record audio of them from casio). I would need to unpack the Casio though, so it will take some time, you know...

Also, I suspect that sysex import of virtual CZ does not have to be very accurate to orig. hardware. And something like your imported patch number ID has to match in Casio - so if you want import different patches from file into slot 44, then tey have to be modified at the hexadecimal level in the sysex message, otherwise the 44 source will be imported. (Dedicated patch librarians may sort that for the user automatically though).
akademie is offline   Reply With Quote
Old 12-01-2019, 02:32 PM   #22
msundh
Human being with feelings
 
msundh's Avatar
 
Join Date: Feb 2013
Location: Sweden
Posts: 1,618
Default

Hi
Very kind of you, but I got most the sounds imported.
I believe that some sysex was corrupted anyway.
I even have written down several patches on paper!?
I would never do that today
__________________
Win10 64bit, Core i7 16GB, Focurite 18i8, Schecter Telecaster, Warmoth Velocity, Yamaha AC3R
https://soundcloud.com/mikaelsundh
msundh is offline   Reply With Quote
Old 12-02-2019, 03:58 PM   #23
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 745
Default

Quote:
Originally Posted by msundh View Post
Hi
Very kind of you, but I got most the sounds imported.
...
OK, good for you then
akademie is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:24 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.