christofmuc / KnobKraft-orm

The KnobKraft Orm - The free modern cross-platform MIDI Sysex Librarian
GNU Affero General Public License v3.0
205 stars 27 forks source link

Device Request - DSI Tempest #164

Closed jmfreeland closed 1 year ago

jmfreeland commented 2 years ago

I'm not even sure how feasible this is, but a Tempest librarian would be excellent given how hard it can be to create good sounds from scratch.

christofmuc commented 2 years ago

@jmfreeland Indeed! There is the hope that the Tempest is based on the same firmware as all other DSI products, they seem to have used a very stable common software base for all of their synths, and AFAIK the Tempest is more of a synth than a classic drum computer.

The official manual at http://www.davesmithinstruments.com/wp-content/uploads/2015/02/Tempest-Operation-Manual-v.1.4.pdf?765cbf sadly has no information on the sysex code, only that is has sysex. Which is good for a start.

This seems to suggest the packing of the data is not the same as the other DSI synths: https://forum.sequential.com/index.php/topic,5075.msg50397.html#msg50397. That might be bad.

The device ID though is documented here as 0x28: https://forum.sequential.com/index.php/topic,174.msg12220.html#msg12220 So with this, we might give the Generic Sequential module a try!

I opened a ticket with DSI support to see if they have any additional docs to provide us. User "van" on the forum has done a patch randomizer which would have all the information we need, but sadly its not open sourced.

jmfreeland commented 2 years ago

Wow what a thorough response. I spent time with the Pro 2 implementation yesterday using some purchased sysex libraries and was blown away with how well it worked.

MKS-80 I will explore again soon as well and perhaps my Matrix 1000. MKS-70 and TX-802 are still the dreams :)

What a fantastic platform.

On Mon, 18 Jul 2022 at 09:41, Christof @.***> wrote:

@jmfreeland https://github.com/jmfreeland Indeed! There is the hope that the Tempest is based on the same firmware as all other DSI products, they seem to have used a very stable common software base for all of their synths, and AFAIK the Tempest is more of a synth than a classic drum computer.

The official manual at http://www.davesmithinstruments.com/wp-content/uploads/2015/02/Tempest-Operation-Manual-v.1.4.pdf?765cbf sadly has no information on the sysex code, only that is has sysex. Which is good for a start.

This seems to suggest the packing of the data is not the same as the other DSI synths: https://forum.sequential.com/index.php/topic,5075.msg50397.html#msg50397. That might be bad.

The device ID though is documented here as 0x28: https://forum.sequential.com/index.php/topic,174.msg12220.html#msg12220 So with this, we might give the Generic Sequential module a try!

I opened a ticket with DSI support to see if they have any additional docs to provide us. User "van" on the forum has done a patch randomizer which would have all the information we need, but sadly its not open sourced.

— Reply to this email directly, view it on GitHub https://github.com/christofmuc/KnobKraft-orm/issues/164#issuecomment-1186926350, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIETTEGWH72Q7GZS3OVO7XTVUUKB5ANCNFSM532ILQKA . You are receiving this because you were mentioned.Message ID: @.***>

-- Josh Freeland @.***

christofmuc commented 2 years ago

I did the patch name extraction. That should already bring us a bit forward, even if there are many more unknowns for the Tempest. I posted this in the forums: https://forum.sequential.com/index.php/topic,5075.msg59905.html#msg59905

It seems the Tempest does have a different of RAM (aka edit buffer) and stored programs. The only file I have is type 0x63, and if it is a stored program I don't know where the storage location is in the file. I am looking at the factory presets, which I would assume are storage programs. Needs more data.

christofmuc commented 2 years ago

@jmfreeland Hi Josh, I started doing a Tempest adaptation, but I need more data. Could you record two different sounds into sysex, once from a flash memory position and once from the RAM?

markusschloesser commented 2 years ago

I have a Tempest, so happy to test and also can provide other sounds. BUT: The sound hierarchy thing becomes more important with the Tempest (especially mine), because of the 3-tiered hierarchy (Project - Beats - Sounds). Also would love to have a Tempest adaptation as my SOUNDS storage is full currently. This might be of help? https://midi.link/instruments/tempest

christofmuc commented 2 years ago

@markusschloesser Oh, that would be awesome if you could help. I have already found out how to extract the name (currently I am looking at sounds only), so next step would be to find out the difference between a RAM and a flash sound sysex file, and where in the sysex the position in the flash is.

markusschloesser commented 2 years ago

happy to help! :-) How would I do this? What else would you need?

christofmuc commented 2 years ago

@markusschloesser Initiate sound save operations from the device, and record them into Midi Ox/Sysex Librarian. The Tempest manual has the instructions on how to save sounds to sysex.

markusschloesser commented 2 years ago

And you need that for an edit buffer sound?

christofmuc commented 2 years ago

@markusschloesser Yes, for a "RAM sound" and for a "Flash sound", as the manual describes it. Potentially two flash sounds, or even better, the same sound stored in two different positions in the synth, to see where it stores the storage location.

markusschloesser commented 2 years ago

kktests.zip Basic A12 BD/Kick saved once from RAM and once from FLASH. Ram is 154 bytes FLASH is 174 bytes (I assume cos it includes the storage space information)

markusschloesser commented 2 years ago

analog 808 kick.zip 909 AS1.zip and 2 more, each as RAM and FLASH.

tbh I still don't fully understand the memory structure of the tempest. I thought all SOUNDS were in the machine and also part of BEATS and PROJECTS. But I couldn't find a lot of SOUNDS when trying to export from FLASH, even though they are part of the current PROJECT.

christofmuc commented 2 years ago

My first attempt:

DSI_Tempest.zip

Thanks for the files! Looking at those now, it appears the RAM (edit buffer) dump simply has no name encoded in it, while the flash program has.

In this thread on sequential https://forum.sequential.com/index.php?topic=1297.0, Razmo commented

"The only way to control all the data are by SysEx, and here it gets even worse. Only the currently selected sound can be dumped to Tempest, but not requested. Same goes for the current beat, but beats are packed data even beyond the usual SysEx packing scheme, so you would need special software to unpack these and obtain the algorithm from Sequential... Projects are the same, and the sheer size of such a dump is huge."

So it seems the Tempest has no request functionality, you aways have to send it from the device itself into the manual dump window.

The only person ever getting anything from the Tempest format has been KoSv on the Sequential forum, or Konstantin, and he made the patch randomizer. But he withdrew the OpenSource, it is no longer to be found :-/

Maybe if we contact him nicely?

Sadly, the last post in the Sequential forum on the Tempest is exactly my request... https://forum.sequential.com/index.php/topic,5075.msg59906.html#new

markusschloesser commented 2 years ago

https://algorithmic-instruments.com/js/randomizer.wasm don't know if you can anything with this? I also have the randomizer as a m4l patch and could look into that. Will take a look at the adaptation asap! :-)

christofmuc commented 2 years ago

@markusschloesser I am aware or that site!

markusschloesser commented 2 years ago

@markusschloesser I am aware or that site!

No, I meant the code (you were looking for), seems to be in the wasm file (but I of course, I could be completely wrong about that 😂)

christofmuc commented 1 year ago

The DSI Tempest adaptation was released with 1.17 in Oct 2022. I guess I'll close this until there is more interest again.

markusschloesser commented 1 year ago

I am still very much interested, but haven't gotten around to dive deeper into my Tempest (too many other newer, less hassle synths 😇😁 I will come around at some point :-)

christofmuc commented 1 year ago

no worries, I am just cleaning up a bit :-) I got myself a 3rd Wave, really love it and I think it will keep me busy for a while, so I know what you mean!