Skip to content
/ syno Public

Obsidian plugin that allows users to generate and manipulate sound synthesis directly inside Obsidian using a simple and flexible text-based notation.

License

Notifications You must be signed in to change notification settings

zzigo/syno

Repository files navigation

SYNO - Synthesis Notation for Obsidian

Obsidian TypeScript Web Audio API

Overview

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.

Installation

npm install -g typescript
# Compile TypeScript
tsc main.ts --outDir .
tsc worklet-processor.ts --outDir .

Features

  • 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.

Syntax

Basic Generators

s440  # 440 Hz sine wave
t440  # 440 Hz triangle wave
a440  # 440 Hz sawtooth wave
q440  # 440 Hz square wave

Frequency Sweeps

s100>300'1  # Sweep 100 to 300 Hz in 1s

Volume and Panning

s440p-1  # Panned fully left
s440p1  # Panned fully right
s440p-1>1'5  # Pan sweep from left to right in 5s

Envelopes

s440e9159  # Attack, decay, sustain, release

Reverb and Effects

s440r3  # 3s reverb
s440f8  # 8000 Hz cutoff filter

Roadmap

  • Extend Worklet-based synthesis engine.
  • Implement advanced envelope handling.
  • Improve UI visualization with better VU meters.
  • Expand syntax for granular synthesis.

Technologies Used

  • TypeScript
  • Web Audio API
  • AudioWorklet
  • Obsidian Markdown Extensions
  • AST Parsing

Contribution

Contributions are welcome! Please submit issues and pull requests.

License

MIT License

About

Obsidian plugin that allows users to generate and manipulate sound synthesis directly inside Obsidian using a simple and flexible text-based notation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages