If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Synthmaker bundle
Re: Synthmaker bundle
Several updates and a couple of new ones added today - check 'em out. New stuff's always at the top of the page.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
- k brown
- Posts: 1198
- Joined: Tue Aug 16, 2016 7:10 pm
- Location: San Francisco, CA USA
Re: Synthmaker bundle
Hi all -
Would anyone 'round here be interested in helping out with a project - I fear accomplishing it is going to be largely beyond my knowledge and experience.
A fabulous-sounding plugin called SQ8L, which is an apparently very accurate emulation of the Ensoniq ESQ-1/SQ-80 is no longer being developed. Despite it's accurate emulation and great sound, I find it's interface to be slavishly imitative of the hardware and not very pleasant to use - with hard to read 'fake' LED numeric readouts and many sub-menus, etc.
I built a much friendlier ESQ-1-inspired plug that has all controls on a single page and easily visible, simplified envelopes, etc., but doesn't have the original instrument's numerous waveforms; just a random collection of wavetables that I gleaned form others' SM schematics and things I found on the old SM forum. It would be a great project to do a version of this with all the correct waveforms. The original instrument's wave ROMs are available on Rainer Buchty's ESQ-1 website, buchty.net. I e-mailed him about the possibility of converting these to numeric strings that could loaded into the wavetable oscillators, and I got a very detailed response that is I'm afraid mostly over my head (I don't know coding):
From: Rainer Buchty <rainer@buchty.net>
Subject: Re: ESQ-1 type plugin
Date: June 5, 2018 at 12:39:15 AM PDT
To: Kevin Brown <nautilus314@comcast.net>
Hi Kevin,
On Mon, 4 Jun 2018, Kevin Brown wrote:
Any way of converting ESQ-1’s wave data to this kind of format?
Looks to me as if "this kind" of format is just [-1:1] as floating-point values. So it's easy enough to generate, if you stick to the following:
Zero-line of the ESQ1 wave data is 0x80. 0x01 really means -127 and 0xff means 127. (0x00, for that matter, means "wave end / stop playback").
So a simple
wave_out[i] = ( (float) (esq1_wave[i] - 0x80) ) / 127.0
should do the trick.
However, the devil lies in the details, i.e. the multisample zoning, as one user wave is made up of up to ~6 individual waves:
http://buchty.net/ensoniq/files/waves.xls
You'd need to stick to that to make it sound correct (and keep the aliasing somewhat berable).
FWIW, the playback frequency is not 44.1kHz or 48kHz but 1MHz/26=38,462kHz, i.e. you'd most likely need to upsample as I presume that your system runs with 48kHz.
You also want to check the way, the DOC chip handles waveform size vs. frequency resolution, see
http://buchty.net/ensoniq/files/ics1261.pdf
Best regards,
Rainer
Here's his ESQ-1 webpage: http://www.buchty.net/ensoniq/
Does anyone know how to run with this is willing to do so?
Here's my schematic (the more 'mature' version with standard 'analog' style oscillators):
Would anyone 'round here be interested in helping out with a project - I fear accomplishing it is going to be largely beyond my knowledge and experience.
A fabulous-sounding plugin called SQ8L, which is an apparently very accurate emulation of the Ensoniq ESQ-1/SQ-80 is no longer being developed. Despite it's accurate emulation and great sound, I find it's interface to be slavishly imitative of the hardware and not very pleasant to use - with hard to read 'fake' LED numeric readouts and many sub-menus, etc.
I built a much friendlier ESQ-1-inspired plug that has all controls on a single page and easily visible, simplified envelopes, etc., but doesn't have the original instrument's numerous waveforms; just a random collection of wavetables that I gleaned form others' SM schematics and things I found on the old SM forum. It would be a great project to do a version of this with all the correct waveforms. The original instrument's wave ROMs are available on Rainer Buchty's ESQ-1 website, buchty.net. I e-mailed him about the possibility of converting these to numeric strings that could loaded into the wavetable oscillators, and I got a very detailed response that is I'm afraid mostly over my head (I don't know coding):
From: Rainer Buchty <rainer@buchty.net>
Subject: Re: ESQ-1 type plugin
Date: June 5, 2018 at 12:39:15 AM PDT
To: Kevin Brown <nautilus314@comcast.net>
Hi Kevin,
On Mon, 4 Jun 2018, Kevin Brown wrote:
Any way of converting ESQ-1’s wave data to this kind of format?
Looks to me as if "this kind" of format is just [-1:1] as floating-point values. So it's easy enough to generate, if you stick to the following:
Zero-line of the ESQ1 wave data is 0x80. 0x01 really means -127 and 0xff means 127. (0x00, for that matter, means "wave end / stop playback").
So a simple
wave_out[i] = ( (float) (esq1_wave[i] - 0x80) ) / 127.0
should do the trick.
However, the devil lies in the details, i.e. the multisample zoning, as one user wave is made up of up to ~6 individual waves:
http://buchty.net/ensoniq/files/waves.xls
You'd need to stick to that to make it sound correct (and keep the aliasing somewhat berable).
FWIW, the playback frequency is not 44.1kHz or 48kHz but 1MHz/26=38,462kHz, i.e. you'd most likely need to upsample as I presume that your system runs with 48kHz.
You also want to check the way, the DOC chip handles waveform size vs. frequency resolution, see
http://buchty.net/ensoniq/files/ics1261.pdf
Best regards,
Rainer
Here's his ESQ-1 webpage: http://www.buchty.net/ensoniq/
Does anyone know how to run with this is willing to do so?
Here's my schematic (the more 'mature' version with standard 'analog' style oscillators):
Website for the plugins : http://kbrownsynthplugins.weebly.com/
- k brown
- Posts: 1198
- Joined: Tue Aug 16, 2016 7:10 pm
- Location: San Francisco, CA USA
Re: Synthmaker bundle
Here's the original version I did with the wavetable oscillators, though it hasn't yet been updated with a few refinements I made to EZQ-1a:
Website for the plugins : http://kbrownsynthplugins.weebly.com/
- k brown
- Posts: 1198
- Joined: Tue Aug 16, 2016 7:10 pm
- Location: San Francisco, CA USA
Re: Synthmaker bundle
I am not much of a helper, but maybe some explanation is better than no explanation at all?
This quote means the following:
1. Flowstone uses single precision floats (32-bit float = 4 bytes per sample, a number with a floating point)
2. ESQ1 wave data uses a simple byte integer format (1 byte per sample, an integer number in the range 0-255)
3. To convert ESQ1 wave data to Flowstone's single precision floats, you take one sample of the ESQ1 wave (which is one byte), and calculate (EAQ1_byte - 128) / 127.0. Example: ESQ1_byte might be 134, then 134 - 128 = 6, and 6 / 127.0 = 0.047~ . That number 0.047~ is what Flowstone needs to get fed with.
If you have a detailed description of the file format of the waves, in theory I could write a simple converter. However, I have no clue what he means by "one user wave is made out of up to 6 waves". So, I could only convert the file data to Flowstone friendly float data, but how to use that data is still for you to find out. If you know what waves you need, we could feed the converted data split up accordingly to wave readers.
Sorry, but upsampling and all that jazz is for the gurus like KG or Martin.
Zero-line of the ESQ1 wave data is 0x80. 0x01 really means -127 and 0xff means 127. (0x00, for that matter, means "wave end / stop playback").
So a simple
wave_out[i] = ( (float) (esq1_wave[i] - 0x80) ) / 127.0
should do the trick.
This quote means the following:
1. Flowstone uses single precision floats (32-bit float = 4 bytes per sample, a number with a floating point)
2. ESQ1 wave data uses a simple byte integer format (1 byte per sample, an integer number in the range 0-255)
3. To convert ESQ1 wave data to Flowstone's single precision floats, you take one sample of the ESQ1 wave (which is one byte), and calculate (EAQ1_byte - 128) / 127.0. Example: ESQ1_byte might be 134, then 134 - 128 = 6, and 6 / 127.0 = 0.047~ . That number 0.047~ is what Flowstone needs to get fed with.
If you have a detailed description of the file format of the waves, in theory I could write a simple converter. However, I have no clue what he means by "one user wave is made out of up to 6 waves". So, I could only convert the file data to Flowstone friendly float data, but how to use that data is still for you to find out. If you know what waves you need, we could feed the converted data split up accordingly to wave readers.
Sorry, but upsampling and all that jazz is for the gurus like KG or Martin.
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Synthmaker bundle
Thanks for the input. My followup question for Ranier was how does one get the ESQ-1 ROM data in numerical form; I downloaded part of the ROM zip files from his website and it unzipped as a wav file.? What do you do with that? He hasn't yet responded - probably thinks I'm too dense to continue bothering with.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
- k brown
- Posts: 1198
- Joined: Tue Aug 16, 2016 7:10 pm
- Location: San Francisco, CA USA
Re: Synthmaker bundle
k brown wrote:Thanks for the input. My followup question for Ranier was how does one get the ESQ-1 ROM data in numerical form; I downloaded part of the ROM zip files from his website and it unzipped as a wav file.? What do you do with that? He hasn't yet responded - probably thinks I'm too dense to continue bothering with.
Hmm, I downloaded the waverom #1 and it contains a .bin file. Strange. Did you download the same file? (Under the header "ESQ1 Waveforms" I tried "WaveROM #1")
However, I found a pdf that shows a bit more about the structure. The waves are arranged pretty much like a multisampler. They divided the whole key range into zones and in each zone pre-defined waves are played. Please follow the link below. You will see a table with lots of "$nn" (n = a number). If you scroll down, you'll see the same "$nn" under "Wave ROM page". It shows a bit of the logic behind this (a set of indexed waves and a key zone table that references waves by index). Unfortunately it doesn't contain any info regarding length of the waveforms or how the variants of a waveform are arranged.
http://www.buchty.net/ensoniq/files/waves.pdf
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Synthmaker bundle
Right - a .bin file. To 'open' these you have to burn it to a data disc (found instr. online), then when you open the file on the disc it opens as a wav.
I think you're referring to the xcel spreadsheet; yeah I got that too. Still no clue as to how these waves get converted to strings of numbers.
I'm dying to know what process Sigfried Kuhlman used to create SQ8L (with Synthedit, I think).
I think you're referring to the xcel spreadsheet; yeah I got that too. Still no clue as to how these waves get converted to strings of numbers.
I'm dying to know what process Sigfried Kuhlman used to create SQ8L (with Synthedit, I think).
Website for the plugins : http://kbrownsynthplugins.weebly.com/
- k brown
- Posts: 1198
- Joined: Tue Aug 16, 2016 7:10 pm
- Location: San Francisco, CA USA
Re: Synthmaker bundle
k brown wrote:Right - a .bin file. To 'open' these you have to burn it to a data disc (found instr. online), then when you open the file on the disc it opens as a wav.
I think you're referring to the xcel spreadsheet; yeah I got that too. Still no clue as to how these waves get converted to strings of numbers.
I'm dying to know what process Sigfried Kuhlman used to create SQ8L (with Synthedit, I think).
Ah, ok! Would you please hand me the the wav files (to spare me the process you already did)? I found another website on which I got the info that it was a 64 kB ROM hosting 32 waves - which could mean 2024 Bytes per wave, assuming they all have the same size. Why do you think they get converted to strings of numbers ($2A etc.)? They aren't. It is just a way of indexing, they just need a specific "tag" per wave to clearly identify them. It's their raw "name", so to speak.
EDIT: Imagine you sell fruits, but only have a small shop window. So on Mondays you place Apples, Bananas and Melons there, on Tuesdays Cherries, Lemons and Strawberries, etc. The fruits, that's the waves. The names "Apple", "Banana" etc are that mysterious $2A, $38 etc. (indices in Hex format)
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Synthmaker bundle
I guess I thought the only way to get custom waveforms into a Flowstone/SM synth is by feeding a wavetable oscillator with a text string containing a long list of numbers.
By the way here's the spreadsheet he e-mailed me; maybe it's the same thing you saw.
I'll be glad to post the wavs - I'll have to download the rest; I only did one as a test.
By the way here's the spreadsheet he e-mailed me; maybe it's the same thing you saw.
I'll be glad to post the wavs - I'll have to download the rest; I only did one as a test.
Website for the plugins : http://kbrownsynthplugins.weebly.com/
- k brown
- Posts: 1198
- Joined: Tue Aug 16, 2016 7:10 pm
- Location: San Francisco, CA USA
Re: Synthmaker bundle
k brown wrote:I guess I thought the only way to get custom waveforms into a Flowstone/SM synth is by feeding a wavetable oscillator with a text string containing a long list of numbers.
By the way here's the spreadsheet he e-mailed me; maybe it's the same thing you saw.
I'll be glad to post the wavs - I'll have to download the rest; I only did one as a test.
Now I understand where your thought came from. Well, it's not quite like that, but don't worry about it. As I said, as soon as I know the exact details of the files that contain the waveforms, I will convert them for use in Flowstone (you'll get a schematic containing them). And the wav files currently are key to that, as they contain the wave data.
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Who is online
Users browsing this forum: No registered users and 113 guests