Skip to content

ZXMushroom63/synthetic-audio

Repository files navigation

SYNTHETIC Audio Logo

A feature-rich web-based DAW

SYNTHETIC Audio is a DAW made from scratch, with no inspiration from other softwares. Almost everything is implemented in a different and unique way.
Try it here

Editor Screenshot #1

Editor Screenshot #2

Demo project files

You can find demo files in the demos folder.

  • synth_demo.sm - Song demonstrating how synths work in SYNTHETIC
  • guitar_demo.sm - Demo file showcasing playing instruments from soundfonts. Go on the plugins tab (inside the ...) and press 'Download FluidR3-GM Soundfonts' to hear the instruments. You will need to reload for the changes to take effect.
  • synth2_demo.sm - Longer song demonstrating how synths work in SYNTHETIC, along with heavy use of the filter stack.

Feature list:

  • Timeline
  • Use audio samples
  • Synths
  • Editor layers
  • Lots of filters
  • Easily draw custom waveforms
  • Stereo audio and noise
  • Waveform visualiser
  • Cool logo
  • More LFOs than you know what to do with
  • ffmpeg transcoding - export as wav, mp3, m4a, flac, opus & ogg
  • Soundfonts (plugins tab & instrument node) - Use up to 127 instruments, more if you find plugins
  • HVCC patch support - Load puredata (.pd) patches compiled with my fork of hvcc
  • Multiplayer support!

Hosting

Offline

You can load SYNTHETIC from a file:// URL, and it will function. You won't be able to use ffmpeg codecs (only wav), and no multiplayer support.

Static website

Host as a static website (eg: github pages). You can use all features, including ffmpeg codecs. Bandwidth usage is heavily optimised through service workers, so you should stay under any quotas very easily.

Multiplayer server

Clone the repository, run npm i and then run npm run host. This will activate a server with multiplayer support. To use it, simply go to http://localhost:80. You should automatically connect to the server. Note that the server will not save the project between restarts, you must manually save to a file and load it. If you know your IP and how to port-forward, or create tunnels, you can connect to a server via IP using the Remote Multiplayer module in the Misc tab.