Skip to main content

rydia-core

rydia-core is a Rust-based DSP library providing small, composable UGens for offline audio experimentation, with Python bindings via PyO3.
The library focuses on explicit state, sample-by-sample processing, and numerically robust building blocks inspired by SuperCollider UGens and classic DSP literature.

rydia-core is designed for experimentation, analysis, and algorithmic sound construction rather than real-time audio I/O or plugin development.


Minimal example

1. Sine oscillator

import rydia

osc = rydia.SinOsc(48000.0)

samples = []
for _ in range(48000):
    samples.append(osc.process(440.0))

This produces one second of a 440 Hz sine wave at 48 kHz.

2. LFO-driven auto pan

import rydia

lfo = rydia.Lfo(48000.0, waveform=0)  # sine LFO
signal = 0.5

for _ in range(10):
    mod, _ = lfo.process(0.25)
    left, right = rydia.pan2(signal, mod)
    print(left, right)

The LFO output is used as a stereo pan modulation signal.

3. Delay line

import rydia

delay = rydia.DelayL(48000.0, 1.0)

for i in range(10):
    y = delay.process(float(i), 0.1)
    print(y)

This applies a fractional delay using linear interpolation.

For more advanced usage and complete examples, see the examples/ directory.


Provided UGens

Oscillators

  • SinOsc
    Phase-accumulating sine oscillator.

  • WhiteNoise
    Uniform white noise generator in the range [-1, 1].

Low-frequency modulation

  • Lfo
    Sine / triangle / saw LFO with an additional quarter-phase output.

Delay-based primitives

  • DelayS, DelayN, DelayL
    Sample, nearest-neighbor, and linearly interpolated delays.

  • CombS, CombN, CombL
    Feedback comb filters.

  • AllpassS, AllpassN, AllpassL
    Allpass filters based on SuperCollider-style formulations.

Filters and utilities

  • Biquad
    Transposed Direct Form II biquad executor.
    Accepts already-normalized coefficients (RBJ-compatible).

  • LeakDc
    DC-blocking filter (high-pass) useful after rectifiers and nonlinearities.

  • RingBufferS, RingBufferN, RingBufferL
    Power-of-two ring buffers for delay-based structures.

  • pan2
    Equal-power stereo panner.


Design principles

  • Explicit state, no hidden global context
  • Sample-by-sample processing
  • Deterministic behavior
  • Defensive testing against numerical instability
  • Rust as the source of truth for DSP logic

Python is treated as a thin orchestration and experimentation layer.


Non-goals

rydia-core intentionally does not provide:

  • Real-time audio I/O
  • Plugin formats (VST, AU, AAX)
  • High-level synthesis graphs, schedulers, or DAW-like workflows
  • Automatic filter design helpers or large DSP toolkits

Those concerns are expected to live in higher-level systems.


Project status

  • Python >= 3.10
  • Rust core with Python bindings
  • Offline / non-realtime oriented
  • Experimental / research-focused
  • API may evolve within 0.1.x

rydia-core favors clarity and composability over completeness or convenience.

Metadata

Release files for rydia-core 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rydia-core 0.2.0
File Size Uploaded Provenance Actions
rydia_core-0.2.0.tar.gz 49.1 kB Without provenance Details for rydia_core-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rydia-core 0.2.0
File Interpreter ABI Platform Actions
rydia_core-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for rydia_core-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Total release size: 309.8 kB

Release files / rydia_core-0.2.0.tar.gz

Download URL rydia_core-0.2.0.tar.gz
Size 49.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c516b7c8b5b5b5f2996747601c94c0410d76a7f18f4317a191d78f5a6bf9f1e8
BLAKE2b-256 checksum
How to use checksums
bc282e1e484150a5611d5dff35dbfe6ca8511d427e8980251cdd37d09ea8a0bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / rydia_core-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL rydia_core-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 260.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
837a96276a9fc193021b49ad5fd93643db09f03558f606a904c3c0ba8e60c9c9
BLAKE2b-256 checksum
How to use checksums
226ac9807d41ee09964c6dd6ec1dfa68b014ae4b4da58395be597a904ac0aaf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for rydia-core 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page