MORE BYTES
Finished a track I’d been working on recently, and decided to put together a wee bandcamp release of things I’ve finished this year. All written and performed with Soundb0ard.
Finished a track I’d been working on recently, and decided to put together a wee bandcamp release of things I’ve finished this year. All written and performed with Soundb0ard.
I always love participating in the Solstice Livecoding Stream, there are so many amazing different performers from across the globe!
My session recording went live
As I’ve been designing my own patches, I have become more curious about the original DX presets, some of which have their own kinda cult following, especially the Jazz Organ preset, which is maybe mostly widely down from Robin S’s “Show Me Love”. (See an excellent wee blog post on its history and mix from Mark Fell here.)
I discovered there are many resources online for sharing DX patches, which can be loaded into compatible synths. The DX line of synths use a binary format called SysEx to store and transmit patches. SysEx messages became an unofficial but de facto standard, and you can find lots of SysEx files online. The ones I found were specifically Midi bulk data messages containing 32 Voice VMEM. Specifically this has a 6 byte header, then 32 voices stored in 4096 bytes, and a closing 2 bytes footer.
While searching I found many Sysex librarian programs which allow you to manage and apply the voices but I couldn’t find what I was looking for - a way to just display the settings stored within the DX100 SysEx files. The closest I did find was this dxsyx, a “C++ library for manipulating DX7 SysEx files”, which offers a human readable YAML output, which is exactly what I was looking for, however that library is only the DX7 with its 6 operators, and not compatible with DX100 Sysex format. The original Yamaha DX synth, the DX7, has 6 Operators which are combined into 32 algorithms. The later DX100 and compatible DX21 and DX27, all used 4 Operators organized in 8 algorithms.
I decided to write my own parser, I figured it could be quite a fun exercise! I borrowed quite a lot of code from the before-mentioned dxsyx, a lot of the header checks and the general approach. Quite simple really, read the file into a data array (std::vector<uint8_t>), and peel it off byte by byte, mapping the bytes to the expected Sysex fields. Where my dumper differs from dxsyx is in the parsing of the bytes, which need to be mapped correctly to the values needed for the Voice and Operator values, specific to the synth model.
The hardest part was finding an exact specification of the DX100 Sysex format to ensure the binary data I was reading was being mapped to the correct data field.
The DX-100 manuals I could find listed the Sysex VMEM data fields in detail:
Pretty awesome skateboarding love letter to SF!
I’ve been a big fan of Evel records out of spain for a few years - tons of great releases from artists I love such as William Fields, Deli Kuvveti, NOXIN, Guy Birkin, and many more. So I was super stoked when they approached me last year about putting out a release!
It dropped on a friday, a split release with an amazing Spanish artist named AmorObsoleto!
My tracks are done via my custom live coding software, Soundb0ard
I was revisiting the Don Melton episode of Internet History podcast and heard them mention ‘Code Rush’ - I kinda vaguely remember watching this years ago, but quite nutty to revisit now. It’s such a crazy time-capsule, covering the tail end of the Browser wars, as Netscape rush to meet their own deadline to release the source code of Netscape Communicator, and the formation of Mozilla.org.
Riveting!
I’m still digging into Web Audio best practices and found this to be a pretty awesome wee demo of building a Web Audio synth.
Found this vid via a recent JWZ blogpost - super good wee 30 min documentary about the sound design behind Wipeout 2097, a game that came out with the european release of the PlayStation in 1996, done by UK game design studio Psygnosis. And graphic design by Designers Republic! I didn’t know they had worked on games (they’re very well known in music circles for many Warp records covers) - Awesome!
This guy is pretty good!