Note: Oscilluna is in early development. Expect things to be a bit messy for now!
Oscilluna is a synthesizer that lets you draw your own waveforms. You can then apply a range of synthesis techniques like FM modulation, volume envelopes, filters, and various effects.
It is coded using Cmajor for audio/DSP, and TypeScript for the view.
To use the synthesizer there are a few options.
- The quickest way is to use the web version on the demo page.
- If you want to use it as a plugin have a look at the installation steps below.
- If you want to noodle with it in VSCode:
- Check out the repo.
- Install
cmajor tools
in VSCode. - Press
Ctrl-Shift-P
/Cmd Shift P
. - Run
Cmajor: Run patch
.
- Make sure you have the Microsoft Visual C Redistributable for Visual Studio 2022 installed.
- Download
Oscilluna.clap
from the latest release and place it underC:\Program Files\Common Files\Clap
. - Load it in a host that supports CLAP plugins such as Reaper or Bitwig.
Instructions and builds should hopefully be coming soon.
If you are feeling adventurous, follow the steps below to build it yourself.
The view is a simple Vite app. The dist
folder is committed to source control so it does not need to be built separately. If you are interested in playing around with the code and want to develop and build, please have a look at the README.md file in the view
folder.
Building Oscilluna should be the same as any other Cmajor project. You should be able to find instructions on their website or github on how to perform these steps for your environment. As the view comes prebuilt, no other dependencies should be needed.
A few options are, using Cmajor tools to:
- output a web assembly.
- output a CLAP plugin project and then compiling that.
- output a JUCE project and then compiling that into various plugin formats or a standalone app.
Please refer to the resources linked above for more options and help with this. I'm sharing the commands below that I used to compile the CLAP/JUCE projects generated with the Cmajor tooling, as these were not immediately obvious to me, but this doesn't cover all steps required.
After outputting a CLAP project, and downloading CLAP itself into C:\projects\clap\include
, I ran the following commands from the clap
project folder:
cmake -B build -DCLAP_INCLUDE_PATH="C:\projects\clap\include" -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
From where the Cmajor tooling saved your JUCE project:
cmake -B build -DJUCE_PATH="C:\projects\JUCE" -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
From where the Cmajor tooling saved your CLAP project (replace the path to CLAP):
cmake -B build -DCLAP_INCLUDE_PATH="/Users/lily/projects/clap/include" -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release