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
BDM - A (nearly complete) digital drum kit synth
10 posts
• Page 1 of 1
BDM - A (nearly complete) digital drum kit synth
Hi,
Some of you may still remember me back from the days of SynthMaker; I used to be quite active years ago on both the forums and with plug-ins and sharing stuff.
There is one thing I've never shared (or probably even mentioned) back then; My Big Project. The plan was to get this thing finished and released as a commercial product, but due to a number of bugs in the MIDI input handling in SynthMaker that were never resolved, a new job and an entire IT bachelor degree education, I never got around to finishing the project.
About half a decade has past and the chance of this project ever seeing the light of day has become ever smaller. But I didn't want it go to waste on my harddisk, so here it is in all it's glory;
BDM (version 0.17.117)
Note that this release is licensed with the GPL3 license; so you can use it (or parts of it), but you MUST make changed versions of code using parts of this synth available with the GPL3 license as well. A complete license text is included in the .fsm file.
Installing
Download the attached .fsm file and a .zip file containing some configuration files.
You'll also need to download a set of layered drum samples. The zipfiles assume you have downloaded these: http://www.analoguedrums.com/details-bm.php
Ideally, put the drum samples in a folder named
Using
Assuming you installed correctly, just load up the .fsm file in FlowStone (I only have an old version, but I assume newer versions will work), load a .kit file using the [Kit] button, then click the big red INIT trigger button to start loading all the samples. You'll see a progress bar in the statusbar.
Configuring
The default MIDI mapping is setup for my cheap-ass Medeli dd505(D) digital drum kit. You can change the MIDI bindings using the menu buttons on the top-left. Just smash your drum kit to select the matching key, then click the event you want to map to it.
Developers
There are a lot of interesting bits in this code. Most of them will be clear from the user interface, but there are a few in particular that may be of interrest:
Poly limit (part of drumpad player) - A mechanism which tries to approximate perceptible amplitude of a single channel, then kills the least perceptible channel if there are too many active channels.
Windowing system - Open, close, drag and z-order multiple windows inside the user interface (I may have published this earlier; can't remember).
Drumpad player - Variable velocity layers, pitch ending, balancing, etc. This thing is pretty flexible and fast.
Drumpad UI - Flash when you use a drumpad.
Mixers UI - Managing the configuration files and samples.
Configurability - It takes very little effort to add new .drum files with new samples. In fact, I left out some of my more obscure tests like non-drums, velocity-to-pitch mapping and morphing drums.
I'm forgetting a lot of little things, I leave these for you to discover
Status
It's "nearly complete" as in "it does everything a digital drum kit synth should do", not as in "ready for commercial release". The most obvious omission is an initial loader for the kit and drums and lack of organisation in the UI. Neither should be particularly difficult to fix. As far as the audio processing goes, I consider this finished. I've done some experiments with binaural stereo a while back, and would like to add it (since it works quite well), but simply don't have the time to get around to doing it. Also, I seem to have lost my experiments.
It's good enough for me to use regularly next to BFD3 and ToonTracks.
License
As mentioned earlier, this all is released using the GPL3 license; the GNU General Public License 3.0. This license is the same as used by the Linux kernel and many other open source software. It differs from most open source licenses in that it requires derived products to be released as open source using the same GPL3 license.
I've done this for a number of reasons;
1. I believe it's best in the long term for the community to encourage sharing.
2. I hope BDM will be adopted and improved by the community.
3. This thing has taken me a lot of time to built and quite a bit of money.
4. I don't want anybody running away with it and selling it without giving anything back to the community.
5. There are parts I would have liked to have patented, the GPL3 license gives me some insurance against other people patenting them or blocking me from ever using these parts myself in the future; it establishes prior art.
Some people will want to use parts (or the whole) without respecting the GPL3 license. To these people I have a few things to say:
1. Just ask; if there's any specific part you want to use, I could drop the license.
2. Don't be a dick.
3. GPL3 has been extensively tested in court; ignoring the GPL license has historically not been a very profitable business strategy.
And finally...
Let me know what you think of it, whether you can get it up and running or whatever.
Some of you may still remember me back from the days of SynthMaker; I used to be quite active years ago on both the forums and with plug-ins and sharing stuff.
There is one thing I've never shared (or probably even mentioned) back then; My Big Project. The plan was to get this thing finished and released as a commercial product, but due to a number of bugs in the MIDI input handling in SynthMaker that were never resolved, a new job and an entire IT bachelor degree education, I never got around to finishing the project.
About half a decade has past and the chance of this project ever seeing the light of day has become ever smaller. But I didn't want it go to waste on my harddisk, so here it is in all it's glory;
BDM (version 0.17.117)
Note that this release is licensed with the GPL3 license; so you can use it (or parts of it), but you MUST make changed versions of code using parts of this synth available with the GPL3 license as well. A complete license text is included in the .fsm file.
Installing
Download the attached .fsm file and a .zip file containing some configuration files.
You'll also need to download a set of layered drum samples. The zipfiles assume you have downloaded these: http://www.analoguedrums.com/details-bm.php
Ideally, put the drum samples in a folder named
- Code: Select all
E:\bigmonocnv
Using
Assuming you installed correctly, just load up the .fsm file in FlowStone (I only have an old version, but I assume newer versions will work), load a .kit file using the [Kit] button, then click the big red INIT trigger button to start loading all the samples. You'll see a progress bar in the statusbar.
Configuring
The default MIDI mapping is setup for my cheap-ass Medeli dd505(D) digital drum kit. You can change the MIDI bindings using the menu buttons on the top-left. Just smash your drum kit to select the matching key, then click the event you want to map to it.
Developers
There are a lot of interesting bits in this code. Most of them will be clear from the user interface, but there are a few in particular that may be of interrest:
Poly limit (part of drumpad player) - A mechanism which tries to approximate perceptible amplitude of a single channel, then kills the least perceptible channel if there are too many active channels.
Windowing system - Open, close, drag and z-order multiple windows inside the user interface (I may have published this earlier; can't remember).
Drumpad player - Variable velocity layers, pitch ending, balancing, etc. This thing is pretty flexible and fast.
Drumpad UI - Flash when you use a drumpad.
Mixers UI - Managing the configuration files and samples.
Configurability - It takes very little effort to add new .drum files with new samples. In fact, I left out some of my more obscure tests like non-drums, velocity-to-pitch mapping and morphing drums.
I'm forgetting a lot of little things, I leave these for you to discover

Status
It's "nearly complete" as in "it does everything a digital drum kit synth should do", not as in "ready for commercial release". The most obvious omission is an initial loader for the kit and drums and lack of organisation in the UI. Neither should be particularly difficult to fix. As far as the audio processing goes, I consider this finished. I've done some experiments with binaural stereo a while back, and would like to add it (since it works quite well), but simply don't have the time to get around to doing it. Also, I seem to have lost my experiments.
It's good enough for me to use regularly next to BFD3 and ToonTracks.
License
As mentioned earlier, this all is released using the GPL3 license; the GNU General Public License 3.0. This license is the same as used by the Linux kernel and many other open source software. It differs from most open source licenses in that it requires derived products to be released as open source using the same GPL3 license.
I've done this for a number of reasons;
1. I believe it's best in the long term for the community to encourage sharing.
2. I hope BDM will be adopted and improved by the community.
3. This thing has taken me a lot of time to built and quite a bit of money.
4. I don't want anybody running away with it and selling it without giving anything back to the community.
5. There are parts I would have liked to have patented, the GPL3 license gives me some insurance against other people patenting them or blocking me from ever using these parts myself in the future; it establishes prior art.
Some people will want to use parts (or the whole) without respecting the GPL3 license. To these people I have a few things to say:
1. Just ask; if there's any specific part you want to use, I could drop the license.
2. Don't be a dick.
3. GPL3 has been extensively tested in court; ignoring the GPL license has historically not been a very profitable business strategy.
And finally...
Let me know what you think of it, whether you can get it up and running or whatever.
- mwvdlee
- Posts: 6
- Joined: Thu Jul 15, 2010 6:58 am
Re: BDM - A (nearly complete) digital drum kit synth
Hey, mwvdlee, we've met at the filtermeister forum. Good to see you (back) here! And wow, thanks for sharing this absolutely stunning project. Will take a deep dive when I get back to my main PC.
-
martinvicanek - Posts: 1334
- Joined: Sat Jun 22, 2013 8:28 pm
Re: BDM - A (nearly complete) digital drum kit synth
Hello Martijn,
good to see U...
I always appreciated you detailed sources:
Like THE controls or Skratz...
Always wanted 2 ask U if i could use the source of the jogwheels in my project(s) (i added some bitmaps)?!
...will test this fine project later!
I hope you have a nice day.
Walter
good to see U...
I always appreciated you detailed sources:
Like THE controls or Skratz...

Always wanted 2 ask U if i could use the source of the jogwheels in my project(s) (i added some bitmaps)?!
...will test this fine project later!
I hope you have a nice day.
Walter
-
Walter Sommerfeld - Posts: 249
- Joined: Wed Jul 14, 2010 6:00 pm
- Location: HH - Made in Germany
Re: BDM - A (nearly complete) digital drum kit synth
Whatever happened to the old SynthMaker forum anyway?
Seems like a lot of good example code has gone, including but certainly not limited to the "Skratz" code you mentioned.
Either way, for completeness sake, here's some other useful stuff that used to be on the SM forum:
- Up-to-now unreleased latest version of my "Missing Links" set of components, including a bunch of incomplete (WIP=Work In Progress) components which may or may not work.
- Demo of the Windowing system in BDM. I think I released this as an executable in the old forums, but never as a schematic. So... there ya go; a working windowing for upto 8 windows.
- Conway's Game of Life in pure schematic. Don't know if I ever posted this before, but I still like it. Conway GoL is essentially an indirect proof of a Turing completeness.
I don't seem to have a FSM version of Skratz anymore, but if somebody still has it and the required smio.exe, please post it, and I will post the sourcecode to smio.exe as well, which has a very consice ID3-tag parser in it.
Seems like a lot of good example code has gone, including but certainly not limited to the "Skratz" code you mentioned.
Either way, for completeness sake, here's some other useful stuff that used to be on the SM forum:
- Up-to-now unreleased latest version of my "Missing Links" set of components, including a bunch of incomplete (WIP=Work In Progress) components which may or may not work.
- Demo of the Windowing system in BDM. I think I released this as an executable in the old forums, but never as a schematic. So... there ya go; a working windowing for upto 8 windows.
- Conway's Game of Life in pure schematic. Don't know if I ever posted this before, but I still like it. Conway GoL is essentially an indirect proof of a Turing completeness.
I don't seem to have a FSM version of Skratz anymore, but if somebody still has it and the required smio.exe, please post it, and I will post the sourcecode to smio.exe as well, which has a very consice ID3-tag parser in it.
- mwvdlee
- Posts: 6
- Joined: Thu Jul 15, 2010 6:58 am
Re: BDM - A (nearly complete) digital drum kit synth
Just found a more "recent" version of BDM; version 0.73.204
There don't seem to be any significant functional changes.
The version number is higher, so possibly it contains bug-fixes or other improvements.
There don't seem to be any significant functional changes.
The version number is higher, so possibly it contains bug-fixes or other improvements.
- mwvdlee
- Posts: 6
- Joined: Thu Jul 15, 2010 6:58 am
Re: BDM - A (nearly complete) digital drum kit synth
Digging through my backups, I found some more stuff you might want to look at:
Version 15 of "Missing Links", with even more (semi-)useful components.
I found the Skratz FSM file again, so here it is. I think you needed mpg123.dll or something like that for the MP3 loading (very slow).
You'll need to put the "vanderlee.exe" file in the Skratz folder for it to work with meta data and such. This zip also includes the C++ sourcecode, for use with the DevCPP IDE/compiler.
Version 15 of "Missing Links", with even more (semi-)useful components.
I found the Skratz FSM file again, so here it is. I think you needed mpg123.dll or something like that for the MP3 loading (very slow).
You'll need to put the "vanderlee.exe" file in the Skratz folder for it to work with meta data and such. This zip also includes the C++ sourcecode, for use with the DevCPP IDE/compiler.
- mwvdlee
- Posts: 6
- Joined: Thu Jul 15, 2010 6:58 am
Re: BDM - A (nearly complete) digital drum kit synth
...And also another version of BDM popped up; with the binaural experiment and a lot of other fun stuff.
I think this one has the following extras:
Binaural stereo, (basically a few samples delay to somewhat simulate positional tracking of sounds).
Loads samples in a different order, so you can start playing while loading.
Velocity-curve adjustment for each drum; alters how MIDI velocity maps to sample layers.
Slightly more "finished" UI, with the init/clear buttons moved inside the UI.
Lots of crappy standard effects to play with (though they do take a lot of CPU%)
I think this one has the following extras:
Binaural stereo, (basically a few samples delay to somewhat simulate positional tracking of sounds).
Loads samples in a different order, so you can start playing while loading.
Velocity-curve adjustment for each drum; alters how MIDI velocity maps to sample layers.
Slightly more "finished" UI, with the init/clear buttons moved inside the UI.
Lots of crappy standard effects to play with (though they do take a lot of CPU%)
- mwvdlee
- Posts: 6
- Joined: Thu Jul 15, 2010 6:58 am
Re: BDM - A (nearly complete) digital drum kit synth
Wow - what a treasure.. 
Like ur Ellipse Click 2 Velocity solution - very sick!
Keep on doing!
btw: is there a chance 2 get the 'Hold & Release' inside the Levelmeters in GREEN prims only or ruby?

Like ur Ellipse Click 2 Velocity solution - very sick!
Keep on doing!
btw: is there a chance 2 get the 'Hold & Release' inside the Levelmeters in GREEN prims only or ruby?
-
Walter Sommerfeld - Posts: 249
- Joined: Wed Jul 14, 2010 6:00 pm
- Location: HH - Made in Germany
Re: BDM - A (nearly complete) digital drum kit synth
mwvdlee wrote:Conway's Game of Life in pure schematic
I spent some time on this a while back, but gave up cause I couldn't
work out how to make an 'endless' grid.
Thanks for uploading your version.
PS:
Some great stuff in the Missing links fsm.

BV MUSIC SYDNEY AUSTRALIA..Songwriting and Software development
Headquartershttps://www.bvmusicsydneyaustralia.com/
Spotifyhttps://open.spotify.com/artist/7JO8QM40mVmHb7pAwKPJi0
Donatationhttps://www.paypal.com/donate/?hosted_button_id=HEUR8R7K8GZ4L
Headquartershttps://www.bvmusicsydneyaustralia.com/
Spotifyhttps://open.spotify.com/artist/7JO8QM40mVmHb7pAwKPJi0
Donatationhttps://www.paypal.com/donate/?hosted_button_id=HEUR8R7K8GZ4L
- billv
- Posts: 1158
- Joined: Tue Aug 31, 2010 3:34 pm
- Location: Australia
Re: BDM - A (nearly complete) digital drum kit synth
billv wrote:how to make an 'endless' grid.
There are no implementations with real endless grid in any language for obvious reasons.
Some have really smart ways of growing the grids as needed, but most just do what I did; take a fixed size and a design that could theoretically be scaled out.
- mwvdlee
- Posts: 6
- Joined: Thu Jul 15, 2010 6:58 am
10 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 108 guests