I built a website late last year (https://patches.fm/) that I thought you all might be interested in. It's meant as a free repository of FM synthesizer patches. The initial emphasis is for the Yamaha DX7, but I'm hoping to add support for YM2612 and OPL2 patches eventually. I've gone to the trouble of de-duplicating a lot of patches that were available in the public domain; altogether, I think this represents one of the biggest collection of unique patches for the DX7 available anywhere.

Currently, patches.fm has the following features:

* Search for patches by name, author, or source SYSEX patch bank
* Download SYSEX file for each individual patch
* Live patch preview with MIDI keyboard input support (requires Google Chrome or Firefox)
* Transfer patch directly to connected MIDI device (requires Google Chrome or Firefox)
* Saving and searching for favorite patches

Feel free to spread the word and send bug reports, feature requests, or patch bank submissions to [email protected]

In case anyone cares! I just posted 1.2b, which adds a Delete Song button and fixes some weirdness with window positioning.


This is probably going to be the last release for this thing before I finally cave in and make it run in a browser. Native app development is the _worst_.

I just pushed version 1.1b, which bumps the version of pylsdj, adds support for .savs with Arduinoboy commands in them, and fixes an issue with SRM loading.


theskyis256k wrote:

Hoping there's an easy fix for this

If you open an issue at https://github.com/alexras/lsmc/issues and attach an example .sav file that doesn't load (or, alternatively, just e-mail it to me at [email protected]) I'll take a look.

Sorry to hear you're having trouble. I've replied to the GitHub issue; hopefully we can get you unstuck.

EvilWezil wrote:

Oh shit! I just saw this like "Oh man, that looks helpfu- ...Alex?" haha. Whatup yo??

Haha hello!

error wrote:

Is there supposed to be a way to remove a song from the .sav in lsmc? I would have thought something along the lines of right-click 'remove'. Am i just missing it?

Haha oh wow, you know what? There isn't. But that's a really good idea. That'll go in the next release.

error wrote:

Should this work on windows xp, without an Internet connection? I downloaded to a thumb drive, and tried to install on another machine as such, but no joy. Anyone else try that, or have ideas why it wouldn't work?

Shouldn't require an internet connection. I built the binary on Windows 7; I'm presuming that Vista's the last OS where compatibility is a safe bet, but I haven't tested it.

For those who are curious; four years later this finally became a thing: http://chipmusic.org/forums/topic/16398 … sav-files/

This is a great idea. I'd offer to help, but my recreational programming time is pretty limited these days.

.lsdinst files are just JSON, at the end of the day, so passing them around and manipulating them client-side shouldn't be that difficult to do.

Waveform editing and kit patching are both things I've heard a lot of interest in previously. Perhaps they'll be new features in v1.1.

Features include:

* Load and save .lsdsngs from a .sav file
* Bidirectional conversion from .lsdsng to .srm
* Load and save instruments from songs (along with their associated waves and tables)
* Rename instruments in a song

Version 1.0 beta available now for OS X and Windows.


To report problems and suggest features, go here: https://github.com/alexras/lsmc/issues

The UI's kinda ugly, but it's time to put this out in the world. Hope you find it useful.

Ah, yeah the docs are a bit misleading here. You can change the individual waves to your heart's content, but the other synth settings (volume, cutoff, phase, etc) won't stay synchronized with the wave.

In any event, the waves are just 32 hex nibbles, and can be edited just like an array of numbers.

**Edit**: wait, actually I spoke too soon. Turns out I _did_ make the waves read-only. If that's something you feel should be relaxed (because yolo, who cares about consistency between parameters and waves) then let me know. I'm clearly not super invested in the idea.

An update:

pylsdj 2.3.0 should resolve a lot of the speed problems that have plagued the library in the past. I added in a bunch of lazy loading that wasn't there before, and it appears to have sped things up substantially.

I won't spam this thread with future update announcements; if you'd like to stay current with pylsdj's development, here's an RSS feed:


Yeah, .sav loading being slow is a known problem. For what it's worth, it's a lot faster JITed (running through pypy, for example), but that's probably more of a consequence of bread being a bit too clever with class internals for its own good. I've considered switching the backend to construct, but perfect is the enemy of done.

If you're not working off 2.0, you should be. I did a pretty big refactor of instrument internals last night that I'm still writing tests for / debugging.

Nice! This is exactly the sort of thing I'd hoped people would write.