Copyright (c) 2016 Anna Xambó anna.xambo@gatech.edu
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
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
.
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.
The MIT License (MIT).
- ATTACK loop 140 bpm-31.wav by Jovica: http://freesound.org/people/Jovica/sounds/5145/
- digibass_loop_140bpm.mp3 by harri: http://freesound.org/people/harri/sounds/16173/
- 21916__jppi-stu__numbers-for-free.flac by jppi_Stu: http://freesound.org/people/jppi_Stu/sounds/21916/
- 23526__djduppy__commoditize-140bpm.mp3 by djduppy: http://freesound.org/people/djduppy/sounds/23526/
- Pressing Phone Buttons.mp3 by Percy Duke: http://freesound.org/people/Percy%20Duke/sounds/23536/
- duppyHouse05_140bpm.wav by djduppy: http://freesound.org/people/djduppy/sounds/23570/
- BakelitePhoneDialing_.wav by HerbertBoland: http://freesound.org/people/HerbertBoland/sounds/29950/
- Rock140bpm.wav by johnnypanic: http://freesound.org/people/johnnypanic/sounds/30198/
- add a little bass.wav beat.wav by yapppy: http://freesound.org/people/bloomypetal/sounds/31899/
- BreakbeatEP-ALLC-140bpm.wav by oscillator: http://freesound.org/people/oscillator/sounds/43587/
- interference.wav by NoiseCollector: http://freesound.org/people/NoiseCollector/sounds/46438/
- WaveBaseLoop.wav by M-RED: http://freesound.org/people/M-RED/sounds/50848/
- japanese.numbers.wav by dobroide: http://freesound.org/people/dobroide/sounds/52786/
- squarebass.wav by levite_sound: http://freesound.org/people/levite_sound/sounds/58563/
- 50.aiff by Corsica_S: http://freesound.org/people/Corsica_S/sounds/69168/
- alphabet_german_male.wav by reinsamba: http://freesound.org/people/reinsamba/sounds/69247/
- numbers_german_male.wav by reinsamba: http://freesound.org/people/reinsamba/sounds/69250/
- Bass_Harmony 140 BPM.mp3 by SirmXe: http://freesound.org/people/SirmXe/sounds/94275/
- glitchBeat5.wav by mikobuntu: http://freesound.org/people/mikobuntu/sounds/103043/
- COMPUTER NUMBERS.wav by sandyrb: http://freesound.org/people/sandyrb/sounds/102536/
- glitchedout2.ogg by mikobuntu: http://freesound.org/people/mikobuntu/sounds/103043/
- 140DubBreak.wav by mikobuntu: http://freesound.org/people/mikobuntu/sounds/106796/
- Electro-swing(140).wav by mikobuntu: http://freesound.org/people/mikobuntu/sounds/106799/
- tekkno.wav by mikobuntu: http://freesound.org/people/mikobuntu/sounds/107558/
- Glitch Loop.wav by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/114031/
- B3 Dubstep Loops 6 - Drums Stem.wav by Ongitak: http://freesound.org/people/Ongitak/sounds/118631/
- electro magnetic interference.wav by thatjeffcarter: http://freesound.org/people/thatjeffcarter/sounds/123374/
- Spring theory.wav by jobro: http://freesound.org/people/jobro/sounds/124406/
- tek_glitch.wav by mikobuntu: http://freesound.org/people/mikobuntu/sounds/124692/
- crushedrums_140.wav by mojomills: http://freesound.org/people/mojomills/sounds/127338/
- B7 Dubstep Loops 3 by Ongitak: http://freesound.org/people/Ongitak/sounds/128236/
- Glitch_Drumloop_95BPM by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/129159/
- dubstep_loop_epic_140BPM by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/130495/
- telephone_bakelite_(w55)_dialing.wav by ShotgunPicker: http://freesound.org/people/ShotgunPicker/sounds/137044/
- dubstep_drumloop_crunch_140BPM.wav by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/137224/
- Keyboard typing by avakas: http://freesound.org/people/avakas/sounds/144120/
- Glitch Crushed Drums 140bpm by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/147525/
- Minimal__glitch_dubstep_beat_140 by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/152947/
- keyboard typing old by Eelke: http://freesound.org/people/Eelke/sounds/158057/
- 8-bit-harmony-140 by DirtyJewbs: http://freesound.org/people/DirtyJewbs/sounds/159393/
- HH140_Bass Groove.wav by day_tripper13: http://freesound.org/people/day_tripper13/sounds/166648/
- Interference1.aif by timgormly: http://freesound.org/people/timgormly/sounds/170150/
- Video codec audio glitches by laspaziale: http://freesound.org/people/laspaziale/sounds/171393/
- French ABC by sergeeo: http://freesound.org/people/sergeeo/sounds/177263/
- Numbers in French by sergeeo: http://freesound.org/people/sergeeo/sounds/177269/
- Numbers in Spanish by sergeeo: http://freesound.org/people/sergeeo/sounds/177270/
- 140 dubstep loop 3.wav by OttoRecV8: http://freesound.org/people/OttoRecV8/sounds/178903/
- 140 dubstep loop 2.wav by OttoRecV8: http://freesound.org/people/OttoRecV8/sounds/178904/
- 140 dubstep loop 5.wav by OttoRecV8: http://freesound.org/people/OttoRecV8/sounds/178906/
- Dubstep Growl like Skrillex ! by OttoRecV8: http://freesound.org/people/OttoRecV8/sounds/184698/
- interferenceSonicScape.wav by trip_sound: http://freesound.org/people/trip_sound/sounds/190485/
- Growl Bass by Goup_1: http://freesound.org/people/Goup_1/sounds/190565/
- dubstep5.wav by LoopPacks: http://freesound.org/people/LoopPacks/sounds/200852/
- Phone Dialing.mp3 by LPSPurpleLPS: http://freesound.org/people/LPSPurpleLPS/sounds/202128/
- dubstep lead saw by oceanictrancer: http://freesound.org/people/oceanictrancer/sounds/222460/
- Dubstep snare by shainexedubstep: http://freesound.org/people/shainexedubstep/sounds/223098/
- 140 bpm noise thing by oceanictrancer: http://freesound.org/people/oceanictrancer/sounds/235417/
- sub-bass-wobble-slide-e1.wav by luckylittleraven: http://freesound.org/people/luckylittleraven/sounds/239514/
- EXPERIMENTAL DRUMS 03 by jalastram: http://freesound.org/people/jalastram/sounds/244793/
- Drum&Bass Synth Drum Loop 160 BPM by unfa: http://freesound.org/people/unfa/sounds/249681/
- badbabdabb-Super_loop_140bpm_by_OnlyTheGhosts.ogg by OnlyTheGhosts: http://freesound.org/people/OnlyTheGhosts/sounds/251006/
- keepemmoving-gumboots_loop_140bpm_by_OnlyTheGhosts.ogg by OnlyTheGhosts: http://freesound.org/people/OnlyTheGhosts/sounds/251438/
- E17z.wav by kwahmah_02: http://freesound.org/people/kwahmah_02/sounds/255772/
- Female android_numbers_edit.wav by Renjility: http://freesound.org/people/Renjility/sounds/257735/
- Tuning Faux Numbers Station.flac by kb7clx: http://freesound.org/people/kb7clx/sounds/275605/
- Radio interference.wav by quetzalcontla: http://freesound.org/people/quetzalcontla/sounds/337747/
- urban beat loop_140.aif by sergio c: http://freesound.org/people/sergio%20c/sounds/338957/
- Break Beat Drum Loop 140 BPM by SSS_Samples: http://freesound.org/people/SSS_Samples/sounds/339117/