Rosso is a circuit simulator for building your own guitar effects pedals. Lay out resistors and transistors, wire them together, and it solves that circuit and turns it into sound. Before you commit to a board, you can hear what a single part change does.
The design loop
Pick from 1,920 real parts, drop them in and draw wires. Values can be changed later, freely.
The circuit itself is solved and comes out as audio. The waveform and spectrum are shown at the same time, so you can check with your ears and your eyes at once.
A wiring check runs continuously. Suggested improvements, grounded in measurement, can be applied to the circuit with a single button.
Nothing past IN reaches GND. Add a resistor to set the input impedance.
Changing the 100n in the output stage to 22n moves the -3dB point from 1.6kHz up to 7.2kHz.[Apply]
Q1's collector sits at 4.6V - roughly midpoint on a 9V supply.
Part library
Swap the transistor and the same circuit sounds different. Rosso keeps the real parameters for every part - hFE and junction capacitance, Koren coefficients for tubes - so the difference between an AC128 and a BC109C, or between a 12AX7 and a 12AT7, is something you can swap in and listen to.
How finely a part is modeled varies by field. The 158 tubes have 115 distinct parameter sets and the 160 op-amps have 107. The 180 germanium transistors, on the other hand, are sorted into 36 classes by hFE and leakage current, so part numbers in the same class behave identically (published measurements are scarce here, and we would rather not invent numbers).
180 parts including the AC128, OC44, NKT275, AD149 and MP38. Low hFE, heavy leakage and an fT of only 1.5MHz are all modeled, so you get that round, unruly character.
188 parts including the 12AX7, EL34, KT88, 6L6GC, 300B and 2A3. They run on the Koren model, so you can build anything from a preamp to an output stage.
33 parts including the MN3007, MN3005, MN3207 and V3205D - the heart of chorus, flanger, vibrato and analog delay.
The JRC4558D, TL072, NE5532, TA7136AP and more. Each carries its own GBW and slew rate, so differences in bandwidth come through.
The clipping differences between a 1N34A, a 1N4148 and a BAT41; the spread between a 2SK117 and a J201. What decides the quality of your distortion is simply which part you pick.
Sub-octaves from a CD4013, the SSM2164, NE570 companders, optocouplers, CdS cells, varicaps, even thyristors.
Lotus Engine
Lotus Engine is a solver that solves the circuit on every sample. Written in Rust, it assembles the circuit into nodal equations (MNA) and solves the nonlinear devices with Newton's method. The shape of the distortion is not an approximation curve - it falls out of the diode and transistor equations themselves.
No single point in a circuit can be solved ahead of the rest. The voltage at any node depends on the whole circuit at once, so all 46 device types go into one matrix and are solved together.
The waveform and spectrum on the right are computed right here on this page (a sine wave plus a tanh soft clip, then a DFT). Because it is squashed symmetrically, no even harmonics appear - that is why every other bar is missing. The app itself goes much further, solving the physical equations of each device simultaneously.
4DEM - schematic capture and diagnosis
Paste in a picture of a schematic from a book or the web and 4DEM reads the parts and wiring and rebuilds it as a Rosso circuit. It places everything in the same layout as the original rather than rearranging it, so you can work with your source drawing side by side.
The read runs several times and the results are cross-checked, then anything that disagrees is flagged for you. Nothing is poured straight in - you confirm before applying. Suggestions for what to improve once it is built (where to add a resistor or a capacitor) are 4DEM's job too, and those come from measurements.
Reading a schematic with AI uses your own Google Gemini API key (there is a free tier). The key is stored only on your machine. If you do not use this feature, no setup is needed.
| Parts recognized | 14 |
| Agreed on across 3 reads | 12 |
| Disagreements (please check) | 2 - the values of R4 and C3 |
Note: this display is an illustration of the feature. Accuracy depends heavily on the condition of the schematic.
Features for people who build
Record the state of the selected parts as A and B, then switch with the Tab key. The rest of the circuit stays identical, so only what you wanted to compare changes. Turn a pot and the sound follows without recompiling.
Shift-drag to select an area, Ctrl+C / Ctrl+V to copy. You can also duplicate onto a grid with a set number of stages, so a multi-stage clipper or a ladder filter goes down all at once.
Click to switch. The numbers are the parameters stored for each part.
Feed a live signal in from an audio input. A plucked-string simulation, sine, square, noise, or your own audio files can all be the source.
Put a 1x12 open back or a 4x12 closed back after the circuit and judge the sound as it leaves a speaker.
From standard up to 8x oversampling. Keep it light while you build, then raise it when you are finishing.
From an RC filter to a Marshall 1959-style preamp (three 12AX7s), an octave fuzz (CD4013), a ring modulator, a clean octave-up, and synth VCFs and sample-and-holds. Starting points to modify.
Circuits are plain-text JSON. Diffs are readable, which suits version control and handing a file to someone else.
The app tells you when a new version is out. No downloading it again.
Building your own pedals with Rosso
The most frustrating part of building your own pedals is finding out, once it is assembled, that it does not sound the way you pictured. Order the parts, wait for them, mount them, play it, unsolder them again. Rosso is a tool for getting that loop over with while it is still a schematic.
Germanium transistors vary widely in hFE and leakage even within one part number, and mail order will not let you pick. Rosso carries parameters per grade, so you can decide what range you are aiming for before you place the order.
No GND, a shorted supply, an op-amp power pin left floating, an electrolytic in backwards - the linter flags all of these while it is still a drawing. Far faster than hunting for them after everything is on the board.
"Suggest values" searches the E12 series while actually running the simulation. Pick a goal - maximum volume, staying clean, or maximum distortion - and it returns combinations of resistors and capacitors. On real hardware, every one of those trials means desoldering.
Load a picture of a schematic from a book or the web and it becomes an editable circuit. The 14 bundled presets work as starting points for modding as well.
Download
Version 1.4.0 · Free for personal use · Circuit data is stored on your own machine.
The builds are not code-signed. Your OS will warn you the first time you launch. On macOS, right-click the app and choose Open, or allow it from System Settings → Privacy & Security. On Windows, click "More info" then "Run anyway" in SmartScreen.
If macOS says "Rosso is damaged and can't be opened". This is a bug in macOS builds up to v1.3.4 - the app is not damaged. Right-click and Open does not get around this one, so run the following in Terminal first, then open it.
xattr -cr /Applications/Rosso.app
From v1.3.5 on this no longer happens (and if it does, the command above gets you through).
The macOS build is Apple Silicon only. There is no Intel Mac build yet.
Circuit simulation uses the CPU. Large circuits and high accuracy settings raise the load, so turn the quality setting down if you need to.