Phosphor is a spectrogram-based audio synthesis tool. You paint images on a canvas, and Phosphor turns them into sound. The X-axis is time, the Y-axis is frequency, and brightness controls volume. You can also import any image and hear what it sounds like.
Phosphor is inspired by MetaSynth and designed for sound designers, musicians, and anyone curious about the relationship between images and sound.
- Open Phosphor -- you'll see a dark canvas with a toolbar on the left and parameters on the right.
- Select the Brush tool -- press B or click the brush button in the toolbar.
- Paint on the canvas -- click and drag to draw. Higher on the canvas = higher pitch. Further right = later in time.
- Press Space to play what you've painted.
- That's it -- you've just created a sound from an image.
Try painting a diagonal line from bottom-left to top-right -- you'll hear a rising pitch sweep.
The canvas is a spectrogram -- a visual representation of sound:
- X-axis (horizontal): Time. Left is the start, right is the end.
- Y-axis (vertical): Frequency. Bottom is low pitch, top is high pitch.
- Brightness: Louder sounds are brighter. Black = silence.
- Colour: When using the timbre palette, colour represents the harmonic content (timbre) of the sound.
Toggle these with keyboard shortcuts to help you paint:
- Piano Roll (P): Shows note lines overlaid on the canvas, so you can paint at specific pitches.
- Beat Grid (G): Shows vertical time divisions for rhythmic alignment.
- Snap to Grid (S): Snaps your brush to the nearest grid line.
The main painting tool. Click and drag to add sound to the canvas. Use [ and ] to decrease and increase brush size.
Remove painted content. Works like the brush but clears instead of adding.
Draw straight spectral lines. Click to set the start point, then click again to complete the line. Great for precise tonal content.
Like the brush, but automatically generates overtones above the fundamental frequency you paint. Creates richer, more natural tones.
Draw a selection rectangle on the canvas. Selected regions can be:
- Copied (Cmd+C) and Pasted (Cmd+V)
- Cleared (Delete)
- Inverted (Edit menu)
- Blurred (Cmd+B) -- smooths the spectral content
The timbre palette in the toolbar lets you paint with different tonal qualities:
- None (grey): Pure sine tone -- just the fundamental frequency, no overtones.
- Saw (red): Sawtooth wave -- bright and buzzy, all harmonics present.
- Square (green): Square wave -- hollow sound, only odd harmonics.
- Warm (blue): Soft and round -- just the first few harmonics.
When you paint with a colour, the Harmonic Brush automatically generates the corresponding overtone pattern. The hue controls which harmonic profile is used, and the saturation controls how strong the overtones are.
Go to File > Import Image (Cmd+I) or drag and drop an image onto the canvas.
Any image works -- photos, drawings, text, abstract art. Phosphor maps:
- Brightness to volume
- Colour (hue) to harmonic content / timbre
- The image is stretched to fill the spectrogram's time and frequency range
Go to File > Export Image (Cmd+Shift+E) to save your spectrogram as a PNG.
Go to File > Import Audio (Cmd+Shift+I) to load a WAV or AIFF file.
Phosphor analyses the audio using an FFT and displays its spectrogram. You can then edit the spectrogram and re-synthesize the modified audio.
Go to File > Export Audio (Cmd+E) to render your spectrogram to a WAV file.
The right-hand panel controls the spectrogram's properties:
- Duration: Length of the sound in seconds.
- Sample Rate: Audio sample rate (44100 Hz is standard).
- FFT Size: Frequency resolution. Larger = more precise frequencies but less time precision.
- Frequency Range: The minimum and maximum frequencies displayed and synthesized.
- Beat Grid / Snap to Grid: Toggle rhythmic overlays and snapping.
| Action | Shortcut |
|---|---|
| Brush | B |
| Eraser | E |
| Line | L |
| Harmonic Brush | H |
| Select | R |
| Action | Shortcut |
|---|---|
| Play / Stop | Space |
| Action | Shortcut |
|---|---|
| Brush size down | [ |
| Brush size up | ] |
| Action | Shortcut |
|---|---|
| Piano roll | P |
| Beat grid | G |
| Snap to grid | S |
| Action | Shortcut |
|---|---|
| Zoom in | + |
| Zoom out | - |
| Reset zoom | Cmd+0 |
| Action | Shortcut |
|---|---|
| Undo | Cmd+Z |
| Redo | Cmd+Shift+Z |
| Select all | Cmd+A |
| Copy | Cmd+C |
| Paste | Cmd+V |
| Clear selection | Delete |
| Blur selection | Cmd+B |
| Action | Shortcut |
|---|---|
| New project | Cmd+N |
| Open project | Cmd+O |
| Save | Cmd+S |
| Save as | Cmd+Shift+S |
| Import image | Cmd+I |
| Import audio | Cmd+Shift+I |
| Export audio | Cmd+E |
| Export image | Cmd+Shift+E |
| Quit | Cmd+Q |
- Start simple: A single horizontal line is a pure tone. A vertical line is a click/impulse. Build from there.
- Use the piano roll overlay (P) to paint at specific musical notes.
- Zoom in (+) for detail work on small frequency ranges.
- Undo is generous -- Cmd+Z supports up to 30 levels of undo.
- Try importing photos -- landscapes often make interesting drones, text creates rhythmic patterns.
- Blur (Cmd+B on a selection) smooths harsh edges and creates evolving textures.
- Report bugs: Help > Report a Bug, or visit GitHub Issues
- Suggest features: Help > Suggest a Feature, or visit GitHub Discussions
- Join the community: Discord or Help > Join Discord
- Website: roexaudio.com/phosphor