I use Audacity to convert .wav files to .syx then the basic Apple file browser to convert the .syx to .sds with the rename function.
has UWEdit been updated to work with newer Mac OS’s? looks like it was last built in 2020.
I’m not sure, Im on windows. You could give it a shot tho. UWEdit can’t do batch files I think, which is why I use a combination of Adobe Audition 1.5 and Audacity.
On Linux, it looks like “export multiple” then select “Other uncompressed files” as the format, then choose SDS as the header, and select 16-bit encoding. It’s probably the same on macOS.
Export multiple will create a file per track, but you just want mono samples for the MD, so only one track, and you’ll only get one exported file.
You can mixdown multiple tracks to mono in the tracks menu
it just opens as a text file on Monterey. I’m no Mac dev, so I don’t know where to go from here
for now, I’m just using C6 on an old Intel Mac. but that’s not sustainable, so I’d like to research an alternative.
You could try a windows emulator to see if it will load that way.
true. I just don’t know if I want to spend 100 GB of my drive to install Windows just to run C6 or UWEdit!
if they would build a 64 bit version of C6, I think one could run that in Rosetta on an M1 Mac with Catalina or Monterey. but I’m not 100% sure there.
Audacity and Sysex Librarian
haha well yes, but it is a bit more of a hassle. I did confirm yesterday that the method outlined by @goldorak above (Sox + Sysex Librarian) works on my M1 Mac running Monterey. however, the TM-1 does nothing in this case; whether I have Turbo midi selected and negotiated or not, the sample transfer time is the same. so C6 still wins there.
Hi guys, if you have still the problem to rename the files after the upload to the machine, I may help with a little program that would inject the midi command that contains the name into the syx file, so to save you the big hassle to rename each sample. I did some reverse engineering on syx files for MD to import them on a Rytm MK2, I actually published the results on the forum but then the censorship hit hard on me and I was banned for a week. Anyway, let me know if the renaming thing is still a issue and we can look into it and possibly solve it.
I think https://github.com/bsl/send-sds handles correct naming of SDS samples for MD. You could check how it’s done there.
I don’t think it’s good to use a modern mac to do it, because they don’t support C6. If you’re using the midi TM1 midi interface, C6 is the only way I know of to use “Turbo”. Turbo makes the transfers a lot faster. Generally, when I copy sounds to my md, I use a freeware batch processor, to convert all the samples I want to use to 16 bit mono. Then I copy them with C6. I know you said you use MAC, but if I was you, I would just get a very cheap PC, so you can use C6. I recently switched to MAC, but I’m using my old PC for C6.
Does anyone know the sample rate reduction applied to recorded audio via a RAM machine? If setting the “rate” knob at 127 should record at 44100 kHz, what results would other values give? I wonder if it’s just eg rate=64 --> sampling rate 22050 and so on.
Thanks
Anyone looking for a step by step walk-thru using Mac.
I’m using OS X Sonoma on a 2019 15" MB Pro.
- Export sample from DAW (I used Ableton 11) in .wav format, remember to tick export as mono.
- Open sample in Audacity
- Export audio (file+export audio or command+shift+E)
- Select format ‘other uncompressed file’ and hit export once you’ve selected folder destination
- Locate file in finder and change its file extension from .sds to .syx
- Load sample into SysEx Librarian
- Select file you want to transfer and press the play button, remember to select the correct midi port in SysEx Librarian as well.
Provided you have connected your MD correctly to your computer the file transfer should begin and there will be a loading bar on the MD screen.
I have no figured out how to get it to save into different sample locations so it keeps saving to #1 in the list of samples. Every time I transfer a sample across I locate it in the sample manager and copy it to another location in the list so Im not saving over my samples accidently.
Hi! I think you should try pressing “YES” on the desired slot in the sample manager before you start sending a sample. If I remember correctly - this should prepare MD to send a sample to a specific slot.
This is also tangentially related.
How to copy RAM samples (live sampling segments) to permanent ROM (click the dropdown to see a nicer and full format)
Is it true that TM-1 turbo midi only works with C6?
C6 is a beaut little piece of software. I believe (could be wrong) it is the only software that allows turbo speed protocol transmission with a TM-1.
It can also send the name of audio files to the MD (first 3 and last letter i think…) , something i’ve found is not guaranteed other ways. If anyone knows the sysex for adding name data to ROMs during import let me know!
But yeah famously C6 is abandonware, and SysExLibrarian seems to be the most stable way of transferring SDS files at standard speed these days (64bit machines)
I’ve spent hours of my life pitching up samples to try and get a sample set to fit within the mk1s 2Mb limit.
I’ve created a py script to ease this process.
LLMs are frowned upon in these parts, but as a non coder just trying to get from A to B i’ve found them pretty useful to create applications it would take me months to learn how to do otherwise.
Coupled with a +drive i’ve managed to upload a few ROM banks in a few hours, whereas before it could take days of trial and error getting the pitched file sizes right. Even then not making maximal opportunity of the MDs memory quota.
I’ve tested and managed to get some quite sizeable folders of audio tweaked in one command (between 2-10 seconds processing time) to fit snuggly in the mk1s ROM slots, imo opinion pitching these back down can add interesting character to the right kind of sounds. (breakbeats for sure!)
I haven’t got a github, So i’m not doing this the “proper” way but here’s the breakdown of how it works. If any fancies testing on a mk2 i’d love to know if the final size calculation is correct. And maybe find some other bugs.
How it works
“”"
Machinedrum ROM Import Optimizer - version 0.5a wftlrd
Overview:
This script helps you fit multiple audio files into the limited UW memory of the Elektron Machinedrum.
It optionally resamples files to a lower sample rate (lo-fi or lo-lo-fi) and then, if required, applies a pitch shift (0…+24 semitones) to each file. The goal is to ensure the total size remains under the Machinedrum’smemory limit (2.0 MB for MK1 or 2.5 MB for MK2). The actual available memory is a little under the stated values due to file overheads, this script has been carefully calibrated to maximise the available storage.
It exports the final samples as .syx (SysEx) files for straightforward transfer into the Machinedrum.
Instructions:
-
Create a folder with your desired audio files. The script supports:
‘.wav’, ‘.aif’, ‘.aiff’, ‘.mp3’, ‘.flac’, and ‘.ogg’. -
Run the script, pointing to that folder:
python /path/to/md_rom_import_optimizer.py /path/to/folderBy default, the script assumes a Machinedrum MK2 (2.5 MB) max 45 slots.
-
If you want to target the MK1 (2.0 MB limit) max 32 slots, add the --mk1 flag:
python md_rom_import_optimizer.py /path/to/folder --mk1 -
Lo-Fi and Lo-Lo-Fi Resampling:
- Use --lofi to resample audio to ~22 kHz.
- Use --lolofi (if supported) to resample further (e.g., 8 kHz).
Example:
python md_rom_import_optimizer.py /path/to/folder --mk1 --lolofi
-
What the script does:
- Analyzes audio file sizes and lengths.
- Optionally resamples them to lower sample rates.
- Uses an algorithm to pitch-shift each file up to +24 semitones so all fit under the chosen memory limit.
(+24 semitones max enables retune to original pitch via ROM machine PTCH -64. - Saves the pitched files as .syx in a new subfolder within your audio folder.
-
Loading .syx into the Machinedrum:
- Transfer these .syx files via Elektron C6, SysEx Librarian, etc.
- In Machinedrum Sample Manager , select “RECV” and import into UW slots (starting at slot 01).
- Slots 1-24 Exponential STRT, Slots 25-32/45 Linear STRT
- Because MD doesn’t receive filenames rename imported samples manually.
Notes:
- The script prints a summary at the end, showing pitch shifts, final memory usage, and output folder.
- If you’re still over the limit with all files at +24 semitone repitch you’ll be notified, remove larger files or use lo-fi to reduce size further.
- WAV loop points are preserved, automatically rescaled for pitch shift.
Examples:
-
Default MK2 limit (2.5 MB):
python md_rom_import_optimizer.py /path/to/folder -
MK1 limit (2.0 MB):
python md_rom_import_optimizer.py /path/to/folder --mk1 -
MK2 with lo-fi resampling:
python md_rom_import_optimizer.py /path/to/folder --lofi
“”"
If you want to share this on Github and get more heads to improve it (think there’s a bug where it adds embedded loop data to audio without loop data, need to test this more, but actually this can be quite fun and useful, can always tweak the HOLD/DEC so it only plays once if needed).
DM if you’re comfortable with Python and could make use of this, happy to share the script.
with 8kHz sample rate and max repitch i’ve calculated you maybe able to fit 8 minutes of audio on a mk1, 10 minutes on a mk2. that could be an interesting project! ulitimate lo fidelity.