Skip to content

Elixir libary to interact with scsynth the SuperCollider audio server

License

Notifications You must be signed in to change notification settings

olafklingt/sc_ex_scsoundserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExSCSoundServer

This project provides a proof-of-concept implementation of an Elixir scripting interface to SuperCollider's scsynth and supernova DSP server.

🌴The idea was motivated by my personal use of SuperCollider and my preference for using Elixir as a scripting language. Contributors are encouraged to fork this repository and extend the functionality towards a more comprehensive feature set. If someone is interested in using this, please express your interest because it would motivate me to prioritise API consistency and configurability.

The API was inspired by SuperCollider's own sclang API and shares many similarities. Two important differences are:

  1. Only a subset of the flexibility of sclang is implemented here. This is because I focused on features that I personally use.
  2. While sclang relies exclusively on asynchronous calls to scsynth, ExScSoundServer provides an additional option for making synchronous calls. Synchronous calls allow you to use the return values from scsynth directly (see examples below).

Installation

def deps do
  [
    {:sc_ex_scsoundserver, git: "https://github.com/olafklingt/sc_ex_scsoundserver"}
  ]
end

API Reference

TODO

TODO

  • Implement synchronous and asynchronous calls to scsynth
  • server options (in the SuperCollider sense)
  • make function names in the API more consistent
  • application with configuration (in the Elixir sense)
  • Rename the repository to reflect more clearly that it isn't a sound server and not a synthesizer and not a stellar explosion.

Related Repositories

The following projects also combine Elixir with SuperCollider. They are independent proof-of-concept projects and examples.

ExSCSynthDef An experimental SynthDef compiler in Elixir that treats UGens as functions

ExSCLang Elixir port to a SuperCollider language instance

How to use and example

A example midi piano using my libraries is Axotypixusc "A eXample Of a TinY PIano in elIXir USing SuperCollider".

Contribute

TODO

License

GNU AFFERO GENERAL PUBLIC LICENSE

About

Elixir libary to interact with scsynth the SuperCollider audio server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published