/algonoise

A basic algorithmic DJ based on SuperCollider that produces algorithmic playlists for the dance floor.

Primary LanguageSuperColliderMIT LicenseMIT

ALGONOISE

Copyright (c) 2016 Anna Xambó anna.xambo@gatech.edu

Introduction

AlgoNoise is an algorithmic DJ that produces algorithmic playlists for the dance floor. The generated playlist is a mix of EDM and electronic music genres including Dub Step, Techno, Breakbeat, Drum and Bass, Glitch, Chiptune and above all Noise and Concrete music. It combines sound samples from FreeSound.org and sounds generated by synthesis using SuperCollider.

Listen to examples of generated algorithmic playlists located in the Examples folder or here:

https://soundcloud.com/algonoise

Application Start

The AlgoNoise application is based on the SuperCollider programming language.

http://supercollider.sourceforge.net

Drag the AlgoNoise folder located in the SC Extension folder to the Extensions folder of SuperCollider: /Users/{username}/Library/Application Support/SuperCollider/Extensions (in Mac)

Either recompile the class library (Language>Recompile Class Library) or restart SuperCollider.

As for the sound samples required to generate the playlist, create a folder within your personal directory with two subfolders: input for the sound samples that need to be loaded, and output for storing the generated DJ sessions. For this code to work, you need to download/copy to the input folder all the sound samples listed below in Sound credits.

Usage

Start the application by typing NoiseMachines.new(path) on the SuperCollider IDE. path should be replaced by the full path to the folder that you created in your personal directory, explained above.

A new song will be created by typing and executing x.playsong and recorded as a wav file. The algorithmic DJ session lasts for 15 minutes. A text file with a list of the FreeSound samples used will be created. Subsequently executing again the lines of code NoiseMachines.new(path) and x.playsong will create a new playlist.

For stopping the recording of the playlist earlier than the established 15 minutes, type s.stopRecording, then Language > Stop or CMD + Period.

For convenience, there is a RunMe.sc file that includes these two lines of code.

There is a random component in both the generation/selection of sounds, as well as on the control structure of the playlist. The random engine is self-contained, and executing the code again will retrieve a new algorithmic playlist.

License

The MIT License (MIT).

Sound credits