SYNO is a markup language designed for synthesis inside Obsidian. It enables structured and flexible sound synthesis using a compact notation. This plugin provides a parser, audio engine, and UI for real-time control and visualization of synthesis parameters.
npm install -g typescript
# Compile TypeScript
tsc main.ts --outDir .
tsc worklet-processor.ts --outDir .
- Modular syntax for synthesis.
- AudioWorklet integration for high-performance processing.
- Inline highlighting and real-time visualization.
- Compact notation for frequency, volume, panning, envelopes, and effects.
s440 # 440 Hz sine wave
t440 # 440 Hz triangle wave
a440 # 440 Hz sawtooth wave
q440 # 440 Hz square wave
s100>300'1 # Sweep 100 to 300 Hz in 1s
s440p-1 # Panned fully left
s440p1 # Panned fully right
s440p-1>1'5 # Pan sweep from left to right in 5s
s440e9159 # Attack, decay, sustain, release
s440r3 # 3s reverb
s440f8 # 8000 Hz cutoff filter
- Extend Worklet-based synthesis engine.
- Implement advanced envelope handling.
- Improve UI visualization with better VU meters.
- Expand syntax for granular synthesis.
- TypeScript
- Web Audio API
- AudioWorklet
- Obsidian Markdown Extensions
- AST Parsing
Contributions are welcome! Please submit issues and pull requests.
MIT License