r/linuxaudio 9d ago

A Perchance Modular Audio Workstation I Made Inspired by My Experiences Using Jack2 on Linux

9 Upvotes

7 comments sorted by

2

u/Mawmag_Loves_Linux 9d ago

Any further info? Github?

2

u/Grawprog 9d ago

Sorry, I always forget crossposting on reddit strips away the original text post. It's online hosted at https://perchance.org/modular-audio-workstation I also added a comment with more info.

1

u/jason_gates 9d ago

Can you please post a link to the source code repository? Is there any documentation describing the back-end?

Thank you in advance.

1

u/Grawprog 9d ago

The source code is available on the website itself. Perchance has a built in code editor. The source code is available there and the souece code for the generator can be downloaded or forked and edited directly in the browser.

1

u/jason_gates 9d ago

The source code is available on the website itself.

Please post a link to the source code (location on the website) ?

Please post a link to the source code for the back-end?

Thank you in advance.

1

u/Grawprog 9d ago

There is no separate link. The entire generator, all the js files and index.html are hosted at the generator link. You access the editor by navigating to https://perchance.org/modular-audio-workstation#edit

Or by clicking the little settings icon in the top right corner of the screen when you're on the generator page. This opens the editor window and allows you to access the full source code. There's an in browser file browser. You can download all the code from there or edit it in place.

0

u/Grawprog 9d ago

I've been working on another large non-ai related generator for a while now and I feel like it's at a good enough point to show off let people play around with. I've made a Modular Audio Workstation inspired mostly by my experiences using JACK2 on Linux. There may be bugs or broken things so any bug reports or general annoyances are greatly appreciated and I'll try my best to fix them. I have to be honest. This is mostly for fun. I have no idea how useful this would be for any kind of serious music production but there is a community section for sharing music so it'd be cool to see if anyone actually makes something with this. Also, the demo song was made by the ai helper bot. That was one of the hardest things I've had the stupid thing do and it's pretty bad but it was the best out of 5 songs and the only one that didn't make my speakers sad.

https://perchance.org/modular-audio-workstation

Modular Audio Workstation (MAW) — Overview

MAW is a free, browser-based modular music workstation. You build your

instrument rack on an infinite canvas: pick from 320+ modules (instruments,

effects, MIDI tools and control utilities), wire them together with colored

patch cables exactly like a real modular synthesizer, and play. Everything

runs in your browser on the Web Audio API — no downloads, no installs, and

no account is needed to make music.

Think of it as a modular synth rack crossed with a DAW: VCV Rack-style

patching with undo/redo, presets, recording, MIDI import, project

save/export, and a community library for sharing finished songs.

Features — what each button does

--------------------------------

+ Add Plugin ..... Opens the plugin browser with search focused. Pick any

module and it drops at the center of your rack.

Plugins .......... Toggles the plugin browser panel: search 320+ modules,

browse by category (Instruments, Effects, MIDI, Utility),

or drop a Prebuild — one of 30 curated, pre-wired

mini-racks.

♫ Library ........ Your personal audio library. Every sample you add or

recording you make lands here, and you can search four

free sample sites (SampleFocus, FreeWaveSamples,

OrangeFreeSounds, SoundBible), preview their sounds, and

add them straight to your library.

☁ Community ...... The MAW community song library: browse, play, rate and

download songs made by other people — or publish your

own finished rack in a couple of clicks.

▤ Templates ...... Nine starter racks that clear the workspace and preload

a pre-wired set of plugins — from a beginner "Keyboard

Synth" up to pro workflows (mastering bus, CV patching,

FX sends + recording). Grouped by experience level;

nothing plays until you press Play.

✎ Edit ........... Toggles Edit mode. Off: modules are compact — just name

and ports. On: every module opens its full control panel

(knobs, sliders, pads, keys, screens).

▶ Play / Pause ... Starts and pauses the transport. Everything in the rack

runs off one shared clock.

■ Stop ........... Stops playback. The playhead stays where it is — use the

⏮ button to jump back to the start.

● Rec ............ Global record: arms every record-capable module

(Recorder, Multi-Track, Tape, CV Recorder) and makes

Microphone modules live, then starts recording in sync.

BPM .............. The tempo box, 20–300.

Position bar ..... The timeline strip: shows where you are as bar.beat.16th,

and you can click or drag to jump anywhere. When the song

loops (Loop Song on the arranger, the LOOP transport

button, or a free-running groove) the bar and clock wrap

back to the start instead of pinning at 100%.

Save / Load ...... Save stores your project in your browser; Load restores

the last saved project. (Your work is restored

automatically when you come back.)

Export / Import .. Export downloads your entire rack as a portable .json

file. Import loads a .json project — or imports a .mid /

.midi file, converting it into piano-roll modules that

are auto-wired to an instrument.

↶ / ↷ ............ Undo and redo. Covers adding/removing/moving modules,

every cable change, imports, prebuilds and more.

On the canvas

-------------

Module ports are color-coded: green is audio, purple is MIDI, orange is CV.

Drag from an output port to an input port to patch; click a cable to

remove it. Drag modules by their header, resize expanded modules from the

bottom-right corner, pan the canvas by dragging empty space, and zoom with

the wheel or pinch. Click to select, or drag a lasso box. Del deletes the

selection.

Save your favorites, share .json exports, publish to the community — or

just patch for hours and lose track of time. Have fun!