|
Post by kyrrinstoch on Feb 9, 2012 12:09:37 GMT -5
With some of the recent work done by a couple forum members, we are starting to not only understand the ddrum4 sound file format, but are also beginning to manipulate it. I asked Sam to create this area so that discussions specific to this topic would be easier to manage and search through. Please keep in mind that the work on this so far has been through a very small group of people (one in particular was key in breaking out the file format) and that any manipulation of these files is a rather complex, multi-step and manual process. This means progress will likely be slow and sporadic, so please be patient as it's done strictly on an "as we have time" basis by the people who are involved. Some of the things we've been figured out about or have been able to do with the files so far (in no particular order): - Use up to 10 samples in a sound file
- Assign up to to 10 Variations within a sound file
- Determined that Variations can re-use samples within a sound file and each sample can be programmed independently for position/velocity in each variation.
- Control which samples are used in each Variation.
- Control the transitions from sample to sample for the Velocity sensitivity.
- Control the transitions from sample to sample for Positional Sensing (supported on the Cast Precision and earlier ddrum pads and ddrum4 cymbal pads).
- Change the groups (BASS, SNRE, CYMB, etc) and sound numbers of the files, controlling where in the module they load.
- Change the file names/descriptions.
- Remove samples from a file (i.e.-"pruning" unwanted/unneeded samples from a sound) to reduce it's file size.
- Combine samples from multiple sound files into a single file.
Some of the things we haven't figured out yet: - Choking and pitch bending.
- What the rest of the code in the files does...
- And of course - Using custom/non-ddrum samples: We still haven't figured out what Clavia used for the compression or how to convert a sample for use in a sound file. Since Clavia won't release this, it may never happen....
|
|
|
Post by kyrrinstoch on Aug 13, 2013 14:30:20 GMT -5
Due to work and other demands, I have not had the time to get back to this and not sure when I will have the time free to do so again. It's sort of disappointing as the next thing I was going to start working on was how to manipulate the hihat and cymbal sound settings, including determining how to control the pressure sensing parameters... Anyways, someone recently contacted me for the files/information, which prompted me to go through and clean up the documentation I'd started for this. I've posted the set of tools and documents that I've compiled from Bill and myself and made them available via my Box account: app.box.com/s/9jnwicmxn4vqpviw99esFeel free to grab them and dig in. For those that are wondering, we managed to do the following so far: - Reduce the number of samples in a file.
- Increase the number of samples in a file (i.e.-"grafting in" samples from one sound to another).
- Control the Variation settings in a file.
- Control the Velocity and Positional functionality of a file.
If anyone has any questions about this stuff, I'll answer what I can. Just keep in mind that I haven't worked on it in a while...
|
|
Nieloid
New Member
Full Time Stargazer...
Posts: 8
|
Post by Nieloid on Feb 20, 2018 15:11:04 GMT -5
Thanks for all that resources... I downloaded today, and took a look. I don´t know anything about programming, but I realize that all this open a new horizon on this amazing machine... I start to study that, but I read on this forum how other people tweek multilayer and positional variables to construct new files, for example the one that say a different number on every position and velocity (I would love getting this file) Hope, more people work on that!!! Maybe someday I´ll post my discoverings!!! Till then, I will enjoy tha path... THANKS!!!
|
|
|
Post by paulf707 on Jul 30, 2018 22:01:26 GMT -5
Any chance of reposting those documents somewhere else? That link doesn't appear to be valid? Thanks
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Aug 3, 2018 1:14:42 GMT -5
|
|
|
Post by paulf707 on Aug 3, 2018 11:40:32 GMT -5
Thanks very much 😀
|
|
|
Post by paulf707 on Aug 4, 2018 0:16:54 GMT -5
Amazing amount of work you guys must have done to 'unpick' this much information - I can understand what you've done (in theory), but can't comprehend how to put this into practise. I managed to identify the packet headers in the file, but not much beyond that. I'm assuming you guys exported the raw hex to another program (Excel?) and then did all the binary bit manipulation in there? I was hoping to be able to find this information in the hex: param 0, sample 0, amp 90, start 0, count 28, zone 0, gain 7 param 1, sample 1, amp 90, start 28, count 27, zone 0, gain 7 param 2, sample 2, amp 90, start 55, count 26, zone 0, gain 7 param 3, sample 3, amp 90, start 81, count 25, zone 0, gain 7 param 4, sample 4, amp 90, start 106, count 27, zone 0, gain 7 param 5, sample 5, amp 90, start 133, count 26, zone 0, gain 7 param 6, sample 6, amp 90, start 159, count 27, zone 0, gain 7 param 7, sample 7, amp 90, start 186, count 27, zone 0, gain 7 So that I could 'fix' the incorrect gain settings - but I guess I was overly optimistic!!
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Aug 18, 2018 5:21:15 GMT -5
|
|
|
Post by paulf707 on Aug 18, 2018 10:23:55 GMT -5
Thanks! I'll have a look at that....
|
|
|
Post by kenjwright on Feb 10, 2020 21:08:00 GMT -5
Greetings all! A bit late to the party but thought I’d re-kindle this thread. I have been working on an editor (ddrum4edit) for the ddrum4 sound files which is now in a fully functional state and available for others to give it a go. I really needed (wanted?) this for my own use so hopefully some of you are still able to benefit from such a tool as well. I’ll admit that I am new to the world of MIDI so had to school up for this work. My focus for this phase of the project was strictly on functionality with the result being a command line tool that works identically on MacOS (Intel 64bit ad PowerPC 32bit) and Windows. Once I was able to read a sound file into memory and write it back out to disk as an exact copy I moved on to features. From a features perspective ddrum4edit can 1) display the contents of the sound file in a human readable way, 2) export the contents (samples and configuration) for modification and re-use, and 3) create new sound files using previously exported/modified contents. Along the way I was also able to identify some more attributes related to pitch bend and decay that were not in the previous documents bundle provided on this forum. BTW, serious cheers and kudos to the folks who did that original work on decoding and documenting the sound files! That was not a simple task and ddrum4edit would not have been possible without it!! Hopefully others can continue to experiment with the layer data and identify further. The most time consuming part of working with the parameters is the iterative process of loading the sounds into the ddrum4 module to test your mods. ddrum4edit and documentation can be downloaded from; www.dropbox.com/sh/1xd477h1b0hqu0j/AAC0D8h99OjexEMXzq-M3XJoa?dl=0I look forward to any feedback, bug reports, etc. Cheers! and enjoy! Ken
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 11, 2020 2:18:16 GMT -5
Greetings all! A bit late to the party but thought I’d re-kindle this thread. I have been working on an editor (ddrum4edit) for the ddrum4 sound files which is now in a fully functional state and available for others to give it a go. I really needed (wanted?) this for my own use so hopefully some of you are still able to benefit from such a tool as well. I’ll admit that I am new to the world of MIDI so had to school up for this work. My focus for this phase of the project was strictly on functionality with the result being a command line tool that works identically on MacOS (Intel 64bit ad PowerPC 32bit) and Windows. Once I was able to read a sound file into memory and write it back out to disk as an exact copy I moved on to features. From a features perspective ddrum4edit can 1) display the contents of the sound file in a human readable way, 2) export the contents (samples and configuration) for modification and re-use, and 3) create new sound files using previously exported/modified contents. Along the way I was also able to identify some more attributes related to pitch bend and decay that were not in the previous documents bundle provided on this forum. BTW, serious cheers and kudos to the folks who did that original work on decoding and documenting the sound files! That was not a simple task and ddrum4edit would not have been possible without it!! Hopefully others can continue to experiment with the layer data and identify further. The most time consuming part of working with the parameters is the iterative process of loading the sounds into the ddrum4 module to test your mods. ddrum4edit and documentation can be downloaded from; www.dropbox.com/sh/1xd477h1b0hqu0j/AAC0D8h99OjexEMXzq-M3XJoa?dl=0I look forward to any feedback, bug reports, etc. Cheers! and enjoy! Ken Wow! Awesome work!
|
|
|
Post by kenjwright on Feb 11, 2020 3:01:52 GMT -5
FYI, Made a small update (1.00.01) tonight to allow parameter lines in the config file to be ignored by placing the hash mark (#) at the beginning of the line. This makes incremental changes easier so previous entries can remain in the file for comparison.
|
|
|
Post by kenjwright on Feb 15, 2020 23:31:29 GMT -5
Hello All! Thought I would follow up on how I have been using ddrum4edit for my own current needs. At this point I have been mostly just organizing for sample arrangement and module storage efficiency. For starters, Hi-Hat and Ride Cymbals were my first priority. My kit is an electronic hybrid of sorts and was recently pieced together by adding Clavia ddrum4 pads (resonator plate style) for the toms, Roland PDX-100 for the snare, and Pintech PC snd LTE cymbals. The cymbals presented the greatest challenge with generation gap. Although I recently acquired a ddrum cymbal pad, it needs repair (loose piezo) so have not been able to do any testing with it as of yet. Back to the Hi-Hat and Ride… I found the 716 Ride to be the sounds I like, however triggering of the zones between bell, bow, and crash was inconsistent, with the bell being the predominant sound getting triggered and crashes when not desired. For my needs, I only need the bow for the Pintech LTE, so I created a new sound file (I use the 500 series for my own sound files as the 500 range was completely free in the Clavia sounds library) that contained only the light and heavy ride samples, each on their own variation and layer. I liked the way the original layers were configured so did not make any changes other than making sure the full velocity range was used. The result was a dramatically reduced sound file size with less blocks taken up in the module, and the exact Ride Cymbal I wanted, with two variations available. For the Bell I am content to have a separate small pad stacked physically over the Ride using a separate channel and sound. This can also be accomplished using the Ddrum DDTi (Alesis IO rebrand) using a y-adaptor input to a dual zone channel on the DDTi and mapping the midi note of each pad/zone to a ddrum4 channel with a sound file setup for the appropriate positioning recognition. On to the Hi-Hat; again, my needs are likely different from most drummers. I do not need a traditional Hi-Hat as I am a stand-up player and typically just need an X-Hat setup. For this I currently use a Pintech 14” PC Single Zone cymbal. Obviously this is challenging for the standard ddrum4 Hi-Hat sounds that expect a pedal and foot motion. So to accomplish what I needed, I reduced the 702 Hi-Hat sound file to just 2 samples, each being a variation of a closed sound, the second being a bit looser then the first. This way I can get a chick, chick, tishh, chick sequence on 1..4 with the tishh only responding to the highest velocity on hit 3 of 4 (accent the snare). I also put each on a variation of their own so they can be played individually as well.
Cheers!
|
|
|
Post by kenjwright on Feb 17, 2020 22:55:26 GMT -5
Greetings! ddrum4edit v1.0.03 is now available. For this release I focused on usability. As I used the tool I was noting what things made the workflow more difficult than it should be. The main item that stuck out was that the input file was always required, even when not necessary so it is now an optional parameter as all data can be included in the configuration file which is the heart of the beast. This release includes the following updates; - Fixed an issue with endianness that rendered the PowerPC version useless. Make sure to use only the latest (1.00.03) where this has been corrected if you are a PowerPC user.
- The output file name is now included in the configuration file. Command line parameter has precedence if provided. Now the only parameter required to create a new sound file is the -c switch with a valid configuration file, simplifying execution.
- Default parameters are now loaded into memory when an input file is not specified. This allows displaying of the default parameters using only the -p command line switch, and also provides for creating a default configuration file using only the -e command line switch.
- Internal processing has been re-ordered so that when a configuration file is specified, all internal data structures are updated first to the contents from the configuration file so that a display to the console will show what is/will be written to the new sound file, and a default configuration file can be created as well.
Enjoy!
Ken
|
|
|
Post by kenjwright on Mar 1, 2020 3:40:43 GMT -5
Greetings! ddrum4edit v1.00.04 is now available.
Some minor updates to further enhance the output display and also now provides a description of each parameter in the configuration file.
Enjoy!
Ken
|
|