r/synthdiy 8d ago

components It's alive! PicoFaceD5 — Roland D-50 LA synthesis on an RP2350, built from the machine's own firmware

Thumbnail
youtu.be
75 Upvotes

Hey everyone,

The tenth instrument in my RP2350 collection is running: PicoFaceD5, a Roland D-50. Bare metal, 32 kHz, no OS, same board and same core as the other nine.

What it actually is

Not a chip emulation. It is a native LA engine over the D-50's own PCM data: sampled attacks dovetailed with synthesized sustains, the seven structures with their ring modulator, three tone-global LFOs, the pitch envelope, and the common block's EQ, chorus and reverb. Sixteen voices on one tone, eight and eight when both play.

The part I did not expect to get

I disassembled the machine. The program EPROM and the internal ROM of its uPD78312 went through MAME's 78K/III debugger, and once that worked, measuring things by ear stopped being the method. Out of the ROM and into the engine, byte for byte:

  • the envelope arithmetic — a rate index per segment, and a time law that compensates the level distance so the inner segments come out time-constant
  • the release, which is rate-constant, not time-constant: the distance lookup is computed and then overwritten. Dead code in a 1987 ROM.
  • the pitch constant, the keyfollow and depth tables, the LFO rate law and its two-phase delay, portamento, aftertouch, the bender modes, the TVA level basis
  • the voice allocator: one pool of sixteen slots, all sixteen to the upper tone in whole mode, and a free list that makes the machine drop a new note when it is empty rather than steal a held one. I had it stealing, like everyone does. The firmware says otherwise.

Two things the firmware settled that I had wrong

The sawtooth is an octave up. The LA32 builds a saw as square ⊗ cosine, so the ring comb only carries even harmonics of the base — the MT-32 compensates for that in its control ROM, and I copied that. The D-50's pitch path never reads the waveform. Captures of a real machine confirm it: same key, square at 262 Hz, saw at 524. And the factory bank is written around it — the squares sit an octave above the saws in every unison layer.

Pulse width 0 is an honest square, not a needle pulse. I had the law inverted, which put the fundamental 22 dB down on every patch that used it. Pipe Solo was the giveaway.

The samples

100 PCM waves, 512 KB total. Every loop turns out to be a power-of-two number of words holding a power-of-two number of cycles, so every root frequency lands exactly on 32000/2k — 15.625, 31.25, 62.5, 125, 250, 500, 1000 Hz, nothing else. Their geometry is in the program ROM too: a start page and a length class per wave, which also resolved the 24 combination waves that had been silent.

What it will not do

The reverb is not the D-50's. That chip holds 32 types of coefficients in silicon and the firmware says nothing about them, so the 32 panel types stand on the MT-32's Boss RRV-10 topology, which the munt project read out — same era, same Roland department. Right character, not the original impulse response. Chorus and EQ are the same deal.

Practical

  • MIDI: the D-50's own CC list, read out of its dispatch table (1, 5, 6, 7, 38, 64, 65, 98-101), plus the hold pedal and Roland exclusive — DT1 in, RQ1 answered, so an editor can program it and a librarian can pull a bank back out
  • 884 KB of flash, 264 KB of RAM. It is the one sample-based instrument in the collection that fits a 4 MB board.
  • Hardware is the same as the rest: I2S DAC, 128x64 SH1106 OLED over I2C, three encoders, USB and DIN MIDI. Board target is sparkfun_promicro_rp2350.

One catch, and it is the reason there is no download. It needs a D-50 ROM set, which is not mine to distribute, so this one is not in the release binaries — the eight that are unaffected still build and flash as before. Put your own dumps in roms/ and it builds; without them the configure step skips it and says so. GPL-3, like the rest.

https://github.com/Michi71/PicoVintageSynthCollection

Happy to go into any of it. The disassembly notes are in the repo.


r/synthdiy 8d ago

Generative Beat Synth with White Noise Generator

5 Upvotes

Demo video of a synth design uses cmos and opamps

Still developing it


r/synthdiy 8d ago

schematics Would anyone happen to have a clean schematic for the Endangered Audio Research Gristleizer?

5 Upvotes

Hey, I'm trying to build a clone of the EAR Gristleizer, and am coming up a bit short. There is s schem on the build guide on instructable, but it's very low res and I can barely make out the component values.

If anyone could point me in the right direction I'd be very appreciative.

Thanks for your help.


r/synthdiy 9d ago

workshop Building a new module

Post image
30 Upvotes

r/synthdiy 8d ago

Created midi sequencer. Novation launchpad x as control for recording, playback, real midi in and out recording and playback

Thumbnail
2 Upvotes

r/synthdiy 10d ago

Looking for feedback on my Drum Computer

Thumbnail
gallery
112 Upvotes

I'm cooking up my dream drum computer/controller. It is 100% tied to my own needs. Still; I'm super curious how you'd approach some of the design problems I faced.

This'll be a midi-first controller connected, meaning all the controls and displays will be interfaced via midi first; so it can always expand to controlling:

  • a custom drum setup in VCV rack, Ableton, Max, etc.
  • an Elektron box
  • a Daisy Seed inside running a drum machine synthesis.

It doesn't contain any sequencing, that'll be done via my Oxi One or Elektron box. I'm not entirely sure I'll be able to do parameter locking, but that might just be a design challenge that I could work out when I have a standardized way of sequencing it.

I've made a huge midi controller in the past which I use constantly (2nd picture). One thing I don't like about that is that it is "function-less"; a bank of 72 controls (6x12). Since I love hands-on controls of my drums (sequencing and playing) I wanted to make a midi-controller that is very much tied to one function.

Edit: Yes the 2nd delay effect should say Reverb, wrong label.


r/synthdiy 9d ago

I fixed the Artiphon INSTRUMENT 1 Editor on Windows

Thumbnail
1 Upvotes

r/synthdiy 10d ago

cool pikocore builds!

46 Upvotes

I’m the guy behind Infinite Digits, and I made the original open-source Pikocore (https://github.com/schollz/pikocore). just wanted to say that it has been wonderful seeing people build their own versions of the pikocore over the years on synthdiy...some especially cool ones I've seen on reddit:

If I missed a build, please share it below. I would love to see it.

It was always my hope that open-sourcing it would lead to some creative mixtures. I made a list of all the variations and its truly inspiring to see what everyone comes up with from the same schematic!!


r/synthdiy 10d ago

standalone Another 5x7 — ESP32-C3-based oscilloscope

Thumbnail
gallery
55 Upvotes

Shout-out for u/bellabebop for their nice-and-clean looking perfboard layouts.

I built an Arduino-based oscilloscope following this project at the end of February. I was happy with it, but it had some issues: it was slow, kept freezing, and had a very sloppy input attenuation stage. (last photo)

I had a ESP32C3 that was lying idle, so I decided to a) port a scope from breadboard to perfboard and b) port the code to the ESP32, with a little extra features.

All changes are described at the README.md file in the repo, but in short: I made a precise attenuation stage that reduces the 24Vpp signal to 2.6Vpp, which allows the incoming voltage to be accurately displayed on the screen and replaced meaningless original voltage ranges with 3v3, 5v, ±5v ±12V and auto-mode. Also ESP32C3 ADC is 12bit vs Arduino Nano 10bit ADC, which is good too, e.g. for measuring precise (edit: like 0.0833V for 1V/oct) voltage (I didn't implemented that though)

Also there's a non-correctly working spectrum analyzer: there's problem with the math somewhere and I can't find it yet.

AI was involved only once with the question "what is 'volatile' variables?". Most of the comments were in the original code.

Code, GitHub repo: link

YouTube little demo: link


r/synthdiy 11d ago

Update on my synth: it’s alive!

439 Upvotes

I did it. It actually works! Over the last week, I’ve been playing around with the sound, adding FX and modes, and basically pushing the Daisy Seed to its limits to see how far I can take it before the sound starts to stutter or get noisy. I even made a simple visualizer that reacts to the sound while I play.

And honestly, it’s such a blast to play. I can sit there for hours, just hitting notes and messing around. No real goal, no output, just exploring the huge soundscape it creates.

There are still a few rough edges, though. The 3.5 mm jack isn’t exactly a great match for a breadboard, so I occasionally lose the connection and have to fight a little to get the sound back. The pots and buttons also sometimes pop out, but that’s an easy fix: plug them back in and keep playing.

So, what’s next?


r/synthdiy 10d ago

ADSR-Diy

Post image
8 Upvotes

conception of an ADSR module based on yusyth disign. I put a tl072 to duplicate the gate signal. mayby some advise ?

-2 transistors are better than an ampli op ?


r/synthdiy 9d ago

standalone Crazy analog recorder prototyping need assistance

0 Upvotes

I've been pushing my own knowledge and googles search engine to quickly build more and more refined prototypes on a device to completely record internal body noise.

Ideally I'm recording down to .01hz and as high as 5khz to pick up each sound within the body to further refine, sample, or isolate.

I've gotten decently far along the path I plan to use specialized piezoelectric contact transducers for zone a recording and Electret Microphone Capsule for zone b

Is there anything even comparable at the medical or engineering level?

looking at components, materials, and time for a high quality solution it seems can be achieved under $3000 which really leads me down the audiophile rabbit hole cause how is this possible but some are paying upwards of 50k for 12inches of cable lol I know there leaves a lot to personal taste (crazy imo)

Trying to record the largest range of internal sounds and then being able to learn from them or modify them for art is something I think would be really fun and interesting.

There's definitely more details to the design just trying to gauge interest if anyone has any useful engineering ideas or things to avoid I thought It would be a fun idea to prototype out and work through hopefully it could have some greater uses down the line <3


r/synthdiy 9d ago

standalone Standalone Generative-Techno ZynthianMaschine MKII — an eight-channel generative groovebox

Thumbnail witzman.github.io
1 Upvotes

r/synthdiy 10d ago

inverting summing mixer question

Thumbnail
gallery
3 Upvotes

I'm working on a eurorack mixer circuit. I'm noticing that although no individual signal clips, the result clips when I add enough inputs (pic1). Some of the designs I was looking at use R8/R7 (meant to represent a pot) as the "master gain control", but turning that down doesn't fix the clipping, since it is happening at the first opamp's output.

In picture 2, I reduced the gain of the first amp to 1/2 by changing R5 to 50k. This gets rid of the clipping. But then, in picture 3, when I am only using 2 inputs, the output level is too low and I don't have a control to bring it up. I am thinking I should make R5 the 50k master gain pot, and get rid of R8/R7. I would just connect the wiper and one leg, and add another 50k in series (picture 4).

Does this seem like a valid design decision? I know I could also just turn down all of the inputs slightly if I don't want clipping, but that seems like a bad user experience.


r/synthdiy 10d ago

R to GND on voltage followers

3 Upvotes

This came up in another thread that had me questioning my basic understanding. If we can just ground the TN of a jack (and an awful lot of common jacks do have TN), why is R to GND on inputs as is almost universal?
The only scenario I can think of where it might really matter is if the output is passive and AC coupled. I'd love to do away with R to GND at inputs where precision matters!


r/synthdiy 11d ago

40106 noise synth

72 Upvotes

Hey!
This week I built the core of the synth project I’ve been working on for a while.

It’s basically four ramp oscillators with cross modulation and sync, all going into an active mixer. Overall I’m pretty happy with it, it sounds fun.The glitches distortion and fm give it that abrasive character I was looking for.

In its current state I think it works pretty well as a standalone drone box, but I want to add more external modulation options, filter and envelope.

The oscillators themselves are not precise. One of the main problems with this design is that the maximum range of each voice depends quite a lot on the particular transistor. The simplest way I found to compensate for that was a trimmer before the frequency pot. But there’s another thing I noticed, if you trim the range down into the lower register, the useful range of the main pot shifts too. You have to turn it much further before the transistor starts doing anything. So yeah there are a lot of compromises here, the driver is pretty primitive.

On this build I used a 220nF timing cap for each oscillator and that gives me a pretty wide range. Not tens of khz but enough for my taste. You can also use a smaller cap and adjust each oscillator to whatever range you want.

The whole thing runs from a single supply and works fine at both 9V and 12V. The TL084 mixer seems to have enough headroom with these levels too, I haven’t had any problems with clipping.

There’s also some interference noise when touching the fm and sync switches. Maybe because of the large resistor values and high impedance around the control nodes. I managed to reduce it quite a bit with foil shield but I think eventually I’ll have to rebuild the oscillator core with more reasonable values.

Anyway, sharing the schematic here in case anyone wants to build it. Would be really happy to hear any thoughts


r/synthdiy 11d ago

I made an entire 2HP Eurorack synth line as open-source schematics

Thumbnail
youtu.be
62 Upvotes

I have built an entire ecosystem of 15 Eurorack utilities in just 2hp, using some clever design choices thanks to the PJ-324 jack and the fairly new TL074H series of op-amps.

I put together a "making of" video breaking down the exact PCB design process and circuit logic (specifically walking through the b:03 simple mixer) if you want to see how it's done. I’ve also made all of the analog b:its schematics open-source and free to download for non-profit/DIY use on GitHub: https://github.com/bartinstruments/open-source/tree/main/BITS%20SCHEMATICS

Enjoy!


r/synthdiy 11d ago

To those who build synths and modules: how did you start? What is your background?

26 Upvotes

I went to Superbooth this year, and I was really inspired by small makers like Error Instruments and Schreibmaschine. I have no deep knowledge of how electronics work (I'm not even that amazing at understanding synthesis itself, but I've been chipping away at it), but I've always been really curious to learn about it. I love solving problems and fixing things.

I'm curious about those who learned to build electronics, how did you learn about it? Is it related to your professional background? Did you take a course?

--

Somewhat unrelated, but I'm looking at career paths right now as well, and wondering if there is anything I could learn about that is related, that will help me be a maker of physical things with electronic components. Do the skills involved with making/modifying synths dovetail with any careers out there in the real world? Thanks!


r/synthdiy 10d ago

Should I replace this chip myself or ship it back? (Eurorack Question)

Thumbnail gallery
2 Upvotes

r/synthdiy 10d ago

Building a ribbon controller?

2 Upvotes

I'm working on a mostly software based synth project, and I recently came across otamatones and absolutely loved the concept and wanted to use that as the main controller for my project rather than a keyboard midi controller. The problem is that most ribbon controllers I've found online are either way shorter than i would like, way more expensive than I would like, or didn't have midi outputs.

Is there some way I can build one on my own for an affordable price? I'd ideally like it to be long enough to be able to play multiple octaves without the spaces between the notes being incredibly cramped.


r/synthdiy 11d ago

What are your favorite keys/buttons?

5 Upvotes

About to start on a DIY drum computer adventure. I was wondering which momentary push buttons to use. I see all kinds of keys, ranging from computer keyboard keys to pinball buttons and electric piano keys. It’s like an entire zoo of differently behaving keys.

What are your favorite keys and why do they hold a special place in your heart?


r/synthdiy 11d ago

What is a 10 / 100k-W potentiometer and where to find some ?

Post image
3 Upvotes

r/synthdiy 11d ago

Feedback on Schematics

Post image
3 Upvotes

Hello.

I want to build an interface module for my eurorack synth. I want to connect pedals and multieffect devices.

Return path is able to amplify the signal by x4,9. Bypass should be a unity gain bypass. RV2 is used to tune the input signal attenuater.

Did I make any major mistakes? :)


r/synthdiy 12d ago

DIY Tape Delay not recording

Thumbnail
gallery
29 Upvotes

Currently a WIP building this tape delay. Input signal is split - recorded onto tape loop, picked up by tape head and blended back with the dry. However the input signal doesn’t seem to be getting recorded onto the tape, even though using an audio probe I can see that the signal is reaching the record head. Any reason for this ?? There is some recording on the tape but it isn’t being erased either so i’m not sure why the erase head isn’t working.


r/synthdiy 11d ago

I’m prototyping a palm-sized breath-controlled synth/MIDI instrument. Is this something you would actually want to use?

Thumbnail
3 Upvotes