Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Lua client for supercollider scsynth and supernova. Pure lua implementation based on standard portable modules: lualanes, wxlua, luasocket, plus some custom modules: osclua, pmidi, random.

------Lua learning resources--------

------Lua2SC learning resources---------

  • The pieces and other examples I will be uploading.
  • Ctrl+I will find the source of most keywords (those in pale blue color in the IDE)
  • I am open to any questions posted as issues in Lua2SC repository.

------Ubuntu Studio building requirements --------- All of them can be installed with sudo apt install

  • cmake (should be >= 3.13)
  • libasound2-dev

and for wx module

  • libgtk2.0-dev
  • libgl1-mesa-dev
  • freeglut3-dev


from build directory:

  • set LUAJIT_BIN to the desired installation absolute location in init_cmake.bat (.sh)
  • add -DBUILD_WXLUA=ON in init_cmake.bat if you wish to also build wx module.
  • run init_cmake.bat (or copy to
  • make
  • make install

you will get Lua2SC installed directory where you pointed LUAJIT_BIN to.

this directory can be copied anywhere.

--------------To first try---------------------

run: Lua2SC.bat or

  1. set Debug/settings
  2. Supercollider/BootSC (wait until booted)
  3. open simple_theme (or any other) in lua2SC\examples\
  4. Debug/run (F6)
  5. Debug/Cancel run (F5)

Alt text

------------Using lillypond--------------------

  1. Find location of lilypond executable in Debug->Settings
  2. Set as first line in script: LILY = require"sc.lilypond"
  3. Set as last line in script: LILY:Gen(initial beat,last beat)
  4. Run as plain lua script with F7

------------Using Non real time---------------

  1. Set as first line in script: NRT = require"sc.nrt":Gen(number of beats to render)
  2. Run script with Run Lua2SC (F6)