17

Sporth: A small stack-based audio programming language

 4 years ago
source link: https://paulbatchelor.github.io/proj/sporth
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Sporth

Sporth (SoundPipe fORTH) is a small stack-based audio programming language.

Compile the latest version here .

Features

  • Stack oriented paradigm
  • Written in portable C
  • 100+ unit generators to choose from
  • Powered by theSoundpipe DSP library
  • Unix-Friendly
  • Small codebase
  • Powerful C API
  • Live coding capabilities
  • Third-party plugin format

Why Sporth?

For composers, Sporth is a different approach to making sound. Stack based languages are somewhat novel in the world of musical languages, and lend themselves well to modular sound design scenarios. Sporth syntax is simple to learn, and rewarding to master. Sound designers and composers fluent in languages like Csound, ChucK, and Supercollider will find Sporth a new and refreshing take on the same basic concepts.

For developers, Sporth has a simple API that allows it to be used inside of other applications. In addition to compiling Sporth code, the API has access to other features of Sporth that would otherwise be unavailable, such as audio-rate software channels, and user defined function callbacks.

Things Using Sporth

  • AudioKit : iOS framework for audio synthesis and analysis.
  • Sporthlings: A collection of Sporth etudes and sketches. (Sound demos can be found here )
  • Ops is an iOS app written using AudioKit that makes extensive use of Sporth.
  • Chorth enables Sporth to be run inside of ChucK as a Chugin. It can be found in the Sporth project directory /util/chorth.
  • pd-sporth is a Sporth implemented as a pd external. It can be found in the Sporth project directory /util/pd.
  • LMMS-Sporth implements a Sporth editor inside of LMMS.
  • Moons is an interactive circular sequencer that uses a mixture of Soundpipe and Sporth to generate sound.

Documentation

The Sporth Cookbook

The Sporth Cookbook is the comprehensive text on Sporth. In addition to an introductory chapter on Sporth, it also contains several thoroughly documented patches for more advanced sporthers.

Reference

In the project folder, ugen_reference.txt is a mini reference for all the ugens in Sporth, with names, arguments, outputs, and a brief descriptions. When you install Sporth, a shell script called "ugen_lookup" is installed as well. To look up what 'tenv' does, run the command "ugen_lookup tenv". ugen_lookup also excepts any regular expressions supported by grep.

Soundpipe

Most of the ugens in Sporth exist under the same name in the Soundpipe library, which has much more thorough documentation of each module .

Projects

Home


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK