Synthonico
Synthonico now supports sample based synths.
Upload your own mp3 or wav and set the synth mode to sample.
This powerful feature allows for realistic instrument sounds and beyond.
For most samples, increasing Bass and Treble Freq to max is recommended.
Use the Trim control to shave off the beginning of a sample for a more smooth start.
Click here for free sample downloads. Look for the small link titled Ensoniq-SQ-2-Piano-C4.wav
Or just use any compatible audio file you have and trim in down to quickly make your own custom sample.
Upload drum loops or tracks in the track controls, with full spectrum BPM. Click here for free drum loops.
Portamento glide, toggle on the Portamento to cause notes to automatically glide (does not work in guitar synth mode).
Sequencer, at the very bottom you can find the sequencer which automatically plays the keys you enter into it.
Convert to ABC will convert any music you have in the sequencer into a ready to use ABC file.
Record your sound, WebM makes small files and captures user played notes.
WAV recording will record any audio including any track that is playing.


Synth Mode

Sample Note

60, C4

Trim

+000.00s

Transpose

0st

Volume

50%

Threshold

-28dB

Oscillator Mode


Manual Slide

Slide Semitones

12st
    

Slide Time

0.060s

Attack

0.03s
    

Decay

0.0s

Sustain

0.00s
    

Release

0.60s

Bass Gain

6
    

Bass Freq

10000Hz

Treble Gain

3
    

Treble Freq

2800Hz

High Pass Cutoff

0Hz
    

High Pass Resonance

0

Low Pass Cutoff

6000Hz
    

Low Pass Resonance

0

Chorus

Chorus Detune

4cents

Chorus Delay

0s

Reverb

Reverb Time

3s

Reverb Damping

0.0

Reverb Mix

0.5

Ring Carrier

Ring Carrier Freq

3.00Hz

Ring Mix

0.5

Frequency Modulation

Modulation Frequency

1.04Hz

Frequency Depth

20cents

Distortion

Distortion Amount

0

LFO Mode

LFO Target

LFO Rate

0Hz

LFO Depth

0

LFO Dry

0

LFO Wet

1

0:00 / 0:00

Track Volume

100%

Track BPM

Default

Trim Front

+000.00s

Trim Back

-000.00s

Fade In

000.00s

Fade Out

000.00s

Sequencer

BPM

BPM: 120

Seq Volume

50%

Chord Capture Window

50ms

Sequencer Presets

Convert any notes in the sequencer into a ABC files. Click Covert to ABC then click Download ABC.
Rename it to something nice. The music will play at the BPM rate set in the sequencer.
The sequencer will only capture user notes or chords (max 3 notes) played every quarter.
In order to maintain notes of different length you have to manually edit them in the sequencer.
Use < before or after a note to halve its duration (e.g., a< or <a for eighth note), << for sixteenth.
Use > to lengthen: a> for half note (2 quarters), a>> for three quarters, a>>> for whole note (4 quarters).
Modifiers for chords should go inside the brackets before the first note. (e.g., {<n5 q 3})
Use spaces to separate notes. Use 'z' for a full rest ( z< for half rest).
Even without manual editing its great for making rudementary music.
The Convert to ABC sets a bar "|" symbol every fourth note by default.


Power Chords (n/ = number pad /, also bound to the ; key.)
A
{n/ 3 y}
{3 y}
{y i}
{i 9}
{9 ]}
{] \}
B
{n7 q 4}
{q 4}
{4 u}
{u o}
{o 0}
{0 \}
C
{n8 1 3}
{1 3}
{3 t}
{t 7}
{7 9}
{9 [}
D
{n/ 2 4}
{2 4}
{4 y}
{y 8}
{8 0}
{8 ]}
E
{n5 q 3}
{q 3}
{3 5}
{5 u}
{u 9}
{9 -}
F
{n/ 1 r}
{1 r}
{r y}
{y 7}
{7 p}
{p ]}
G
{n8 q 2}
{q 2}
{2 t}
{t 8}
{8 [}
{[ \}


Made with Grok. Hosted on Neocities. Synthonico was inspired by FL Studio and Lord of the Rings Online music system.
Synthonico uses web based API. Synthonico is a total of 114KB in size.
If it happends to glitch out on you just refresh the page.

Tips and Tricks
Sequencer preset number 1 shows a example of a sequence with rests and half duration notes.
Sequencer preset number 2 shows the available scale. (Currently only sequencer preset 1 and 2 contain sequences.)

You can use any song as a sample, click the Upload Sample button at the top to upload the song and then use Trim control to find a good spot.
Then use the Attack, Sustain, Decay and Release envelope controls to adjust its durations.

You can upload audio into the Upload Track control, trim / fade its ends and then export the audio.
This is useful for creating smooth transitions and loops, as well as creating samples.

Many computer keyboards limit how many keys can be pressed at once.
If your keyboard has this limitation, pressing the keys in rapid succession instead of simultaneously can sometimes achieve the desired chord.

The Chords chart shows how to play a chord shape through most of the scale.
You can explore any combination of those keys across the scale for different harmonics.


Synthonico Adjustable Controls (via + / - Buttons)

Core Synth Controls
Transpose: Shifts the overall pitch of all played notes (keyboard, sequencer, samples) up or down in semitones without altering the sample rate or playback speed. Applied multiplicatively to the base frequency calculation (e.g., MIDI note + transpose). Useful for quick key changes; affects everything except uploaded tracks. Resets to concert pitch.

Volume: Controls the master gain for keyboard-played notes (not sequencer or tracks). Directly sets the `gain.value` of the `keyboardGain` node in the audio mixer, scaling output amplitude linearly (e.g., 100% = 1.0 gain). Higher values can cause clipping if not limited by the compressor; use for balancing synth loudness against other elements.

Threshold: Sets the input threshold for the global `DynamicsCompressorNode` (limiter) applied to the entire mix (keyboard + sequencer + tracks + effects). When signal exceeds this level, compression kicks in (ratio 20:1, knee 6dB, attack 0.001s, release 0.1s). Lower values (more negative) compress more aggressively to prevent peaks; higher values allow louder dynamics. Affects perceived loudness and sustain.

Envelope (ADSR) Controls
Attack: Defines the time for the envelope's attack phase on each note (keyboard/sequencer). Uses `linearRampToValueAtTime` on the per-note `GainNode` to fade from 0 to 1 over this duration (min 0.005s enforced). Shorter attack = snappier/pluckier sound; longer = smoother fade-in. Applies post-LFO/chorus but pre-effects like reverb/distortion. Does not affect guitar mode pluck decay.

Decay: Sets the decay time after attack, where the envelope drops from full amplitude toward sustain level (but code sustains at 1.0 until release). If >0, triggers an early release via timeout. Longer decay allows notes to hold longer before fading; short = punchy. Only active if decay >0; interacts with sustain/release for ADSR shape.

Sustain: Holds the envelope at full amplitude (1.0 gain) during the sustain phase, before release begins. Longer sustain = notes ring out indefinitely (until key up); shorter = quicker fade to release. Applied via `setValueAtTime(1.0)` on the per-note gain node. In sequencer, scales with note duration.

Release: Controls the fade-out time after key release (or note end in sequencer), using `linearRampToValueAtTime` from 1.0 to 0 over this duration. Longer release = smoother tail-off with reverb bloom; short = abrupt cutoff. Affects oscillator stop times to match; crucial for legato/portamento smoothness.

EQ & Filter Controls
Bass Gain: Boosts/cuts low frequencies via a `BiquadFilterNode` (lowshelf type) at the bass frequency. Positive values add warmth/bass emphasis; negative thins the low end. Applied early in the signal chain (post-oscillator, pre-other filters). Clipping risk at high gains; interacts with bass freq for tonal shaping.

Bass Freq: Sets the corner frequency for the lowshelf bass filter (min 10Hz enforced). Lower = affects deeper bass; higher = shelves higher lows. Shifts the EQ curve's knee; pair with gain for sub-bass punch or mud removal. Post-oscillator, affects all modes (basic/sample/guitar).

Treble Gain: Boosts/cuts high frequencies via a `BiquadFilterNode` (highshelf type) at the treble frequency. Positive = brighter/sparkly highs; negative = dulls/muffles. Early in chain; high gains can introduce harshness, especially with distortion.

Treble Freq: Sets the corner frequency for the highshelf treble filter (min 10Hz). Lower = boosts lower highs (presence); higher = affects air/sparkle. Fine-tunes brightness; essential for sample mode to enhance transients.

High Pass Cutoff: Rolls off frequencies below this point using a `BiquadFilterNode` (highpass type). Higher cutoff = thinner/cleaner sound (removes rumble); 0 = no filtering. Q/resonance adds peak at cutoff for emphasis. Post-EQ, pre-lowpass; great for clarity in bass-heavy patches.

High Pass Resonance: Sets the Q (resonance) of the highpass filter, peaking/boosting near the cutoff frequency. Higher = sharper/resonant cut (e.g., synth lead bite); 0 = flat rolloff. Can cause ringing/oscillation at extremes; use sparingly for tonal color.

Low Pass Cutoff: Attenuates frequencies above this point via `BiquadFilterNode` (lowpass type). Lower = muffled/warm (e.g., pad sounds); higher = brighter/full spectrum. Core for filter sweeps; LFO can modulate if targeted.

Low Pass Resonance: Q for the lowpass filter, boosting near cutoff for resonance. Higher = squelchy/peaky (classic synth filter); extremes cause self-oscillation. Interacts with LFO for sweeps; post-highpass for sequential filtering.

Modulation & Effects Controls
Chorus Detune: Detunes chorus voices (± detune cents) for thickening via multiple detuned oscillators/delays. Higher = wider/spread sound; 0 = mono-like. Only active if chorus enabled; creates subtle pitch modulation for movement.

Chorus Delay: Short delay time for chorus voices (via `DelayNode`). Higher = more pronounced comb-filtering/warble; pairs with detune for Leslie/ensemble effects. Multi-voice (3 sources); gain-scaled to 0.3 per voice.

Reverb Time: Duration of the convolver reverb impulse response (generated on change). Longer = more space/echo; generates random stereo impulse with exponential decay. Wet/dry mix controlled separately; damping affects high-frequency rolloff.

Reverb Damping: High-frequency damping in reverb impulse (lowpass filter at 2000-18000Hz). Higher = darker/muffled tails; 0 = bright/ringy. Regenerates impulse on change; balances clarity vs. realism in wet signal.

Reverb Mix: Wet/dry balance for reverb (wet gain = mix, dry = 1-mix). Higher = more ambient wash; applied post-mixer, pre-limiter. Only active if reverb enabled; affects entire output.

Ring Carrier Freq: Frequency of the carrier oscillator in ring modulation (sine wave). Lower = slow tremolo; higher = metallic/bell-like harmonics. Multiplies with input signal; mix blends dry/wet.

Ring Mix: Dry/wet blend for ring modulation (dry gain = 1-mix, wet = mix). Higher = more modulated timbre; uses gain nodes post-envelope. Only active if ring enabled; great for FM-like tones.

Modulation Frequency (FM): Frequency of the sine modulator oscillator for frequency modulation. Low = slow vibrato; high = metallic sidebands. Depth controls modulation index; connects to detune of all oscs.

Frequency Depth (FM): Depth of FM modulation (gain to detune param). Higher = wider pitch swings/harsher timbres; 0 = no effect. Sine modulator; only active if FM enabled. Interacts with mod freq for carrier-modulator ratios.

Distortion Amount: Drive level for waveshaper distortion (custom tanh-like curve). Higher = more clipping/harmonics/grit; 0 = clean. 4x oversampling; post-envelope, pre-ring. Only active if distortion enabled.

LFO Rate: Speed of the global LFO oscillator (waveform-selected). Higher = faster modulation; 0 = static. Targets pitch/volume/filter based on selection; restarts LFO on change.

LFO Depth: Modulation amount: cents (pitch), % (volume), Hz (filter), or none. Higher = stronger effect; display units adapt. Scales LFO gain; dry/wet levels blend unaffected/processed paths.

LFO Dry: Unmodulated (dry) signal level in LFO paths (gain node). Higher = more original sound; blends with wet for parallel modulation. Only for pitch/volume/filter targets.

LFO Wet: Modulated (wet) signal level in LFO paths. Higher = more LFO effect; balances with dry for subtle/washed modulation. Post-LFO gain nodes.

Sample-Specific Controls
Sample Note (Base Note): Sets the reference MIDI note for sample playback rate calculation (e.g., freq = 440 * 2^((note-69)/12)). Higher = assumes sample is tuned higher, speeding up lower notes. Only in sample mode; display shows MIDI + note name.

Trim (Sample): Trims silence/attack from sample start (shifts buffer data forward). Higher = skips more initial audio for smoother loops/transients. Rebuilds buffer on change; recommend max bass/treble for samples.

Track Controls
Track Volume: Gain for uploaded track playback (via `tracksGain` node). Scales amplitude linearly; 100% = unity. Mixes with synth/sequencer; higher risks clipping.

Track BPM: Adjusts playback speed of uploaded track via `playbackRate` (default assumes 120 BPM). Higher = faster/t higher pitch; doesn't preserve pitch—use for tempo-matching loops.

Trim (Track): Trims from track start (shifts buffer, shortens duration). Higher = removes intro; reapplies on load/play. Negative not allowed; for cleaning loops.

Sequencer Controls
BPM (Sequencer): Tempo for sequencer note scheduling (quarter-note = 60/bpm seconds). Higher = faster playback; affects duration factors (< > modifiers). Independent of track BPM.

Seq Volume: Gain for sequencer notes (via `seqGain` node). Scales all scheduled notes; balances against keyboard/track.

Chord Capture Window: Time window for detecting simultaneous keypresses as chords in sequencer input. Higher = looser timing (forgiving for slower playing); lower = stricter (only true simultaneity). Affects `{}` chord insertion on keyup.