Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 1.2 KB

README.md

File metadata and controls

22 lines (16 loc) · 1.2 KB

BQNoise

BQN scripts for audio synthesis and processing.

  • mix.bqn: General mixing utilities, e.g. add, repeat, clip, reverb
  • panap.bqn: Fancy mono-compatible panning
  • oscillator.bqn: Typical oscillators and noise generators for synthesis
  • filter.bqn: IIR filters to adjust tonality
  • scale.bqn: Utilities for working with scales (in the normal Western system, 12-TET)
  • tracker.bqn: Sequencer to make drum tracks or other arrangements from a text template
  • wav.bqn: Read and write .wav files
  • soxresample.bqn: Bind SoX's resampler for converting .wav files; only thing I'm not brave enough to do in BQN

See load.bqn and options.bqn for loading multiple scripts and options management.

The following C libraries are used in CBQN if available:

  • ./lib.c (build with $ make), for filters
  • FFTW's /usr/lib/libfftw3.so.3, for reverb
  • SoX's /usr/lib/libsoxr.so, for resampling

The filtering and reverb functions are also implemented in BQN, so that the only change is faster execution, by a factor of about 10 in each case. There's no BQN resampling implementation, so that SoX is needed to work with files at different frequencies.