SynthMaker

MIDI Sample Dump Standard - SDS - Possible?

Archive · 2010 13 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

DigitalWhiteByte ·

In your experience with the use of primitive "SysEx" and "Midi Buffer", you may be able to manage Midi SDS sample?

SDS Format specifications

All tips are appreciated 😀

rl ·

I think the SYS-EX part is a no-brainer. Read/Write Access to the wave file would be a problem. Pitty SM has no means to write wavefiles. A possible solution could be to write the SYS-EX strings to a file and use an external tool to do the wavefile conversion and vice versa for reading.

I could argue, how valuable a software development kit would be in this case, but let's drop the subject now.

MichaelBenjamin ·

but sm can write 16 bit wave files with the save wave primitive?

trogluddite ·

MichaelBenjamin wrote: save wave primitive?

Where? Please can I have one? 😈

MichaelBenjamin ·

sure but i thought it comes with sm - however it didnt show up in toolbox search, maybe its hidden since its marked as r&d but it works fine, i tested it with several short waves.

oddson ·

N.B. - Re the Save Wave primitive: The mem create size is in bytes so you need four bytes per sample per channel. Also the default is a stereo file so a Boolean 'True' is required on the 'Mono' input to make it export a mono file (otherwise it spits the data between the channels).

[old link] Own Voice Recording

rl ·

cool, I missed the save wave feature. But how could the Mem be filled? FloatArray to Mem seems to be mono only.

BTW: the sample dump spec has a spec for loop points, which isn't supported with the wave load/save modules.

trogluddite ·

MichaelBenjamin wrote: maybe its hidden since its marked as r&d

Yup, my mistake - forgot to turn R&D preference back on after upgrading to 1.1.6.

oddson ·

rl wrote: But how could the Mem be filled? FloatArray to Mem seems to be mono only.

I believe you can only write to a stereo file with the Wave Write Stereo primitive - which requires audio data as two mono streams.

rl wrote: ...A possible solution could be to ...use an external tool to do the wavefile conversion and vice versa for reading.

rl wrote: BTW: the sample dump spec has a spec for loop points, which isn't supported with the wave load/save modules.

I was actually looking to make something that would insert the chunk for loop-points... but since SythMaker doesn't read-write to data files it would have to be some external script.

The idea was to generate sample data from synthesized elements for playback in a dedicated sample player (as it seemed SynthMaker would not be able to handle the playback of the number of elements needed directly).

I was thinking a text file with the loop point information encoded in some simple manner could be read by an external program and merged with the wave data stored in the simple wave files... I'm not really up to this challenge as I don't know any scripting language well enough to deal with the file interactions. Is there any chance anyone here is able and interested to assist me?

DigitalWhiteByte ·

oddson wrote: I was thinking a text file with the loop point information encoded in some simple manner could be read by an external program and merged with the wave data stored in the simple wave files... I'm not really up to this challenge as I don't know any scripting language well enough to deal with the file interactions. Is there any chance anyone here is able and interested to assist me?

A good starting point

See - Link

oddson ·

Yeah... but for me it's not the struct stuff it's the basic file input/output OS related stuff as I haven't done any programing in Windows...

DigitalWhiteByte ·

After some experimentation, I think some of you knew this already, but the primitive "Midi Buffer" does not support SysEx., I believe instead that it may be convenient, especially if you want to set a delay for packets of messages . I tested the reception of MIDI Sample, although I have not made any kind of parser of messages for the handshake, it seems riceive correctly, but you have to create an array for the different packages, because every time you get one, the previous packet is canceled in primitive SysEx,, then it is assumed that already serve as a buffer. now need only have the possibility to read and write files in binary, and support for loop points to the wave. I think at this point I should say it will be impossible to have all this in a short time, but now are some years that I waited without saying anything 🙂

exonerate ·

rl wrote: But how could the Mem be filled? FloatArray to Mem seems to be mono only.

I added a new module to the dev toolkit in the last update which converts two float arrays to a stereo mem. 🙂

Cheers 😉

Exo

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.