PatchWerk-Radio-old
PatchWerk-Radio-old copied to clipboard
An internet radio station that plays generative music from PD patches
PatchWerks, A PureData based generative music internet radio station
Stream: http://radio.rumblesan.com/ Website: http://www.rumblesan.com/
About
PatchWerks is an internet radio station that streams audio which is synthesised in realtime with PureData.
For questions you can check out the blog or email me at [email protected]
I also hang around in IRC, #doomcentral on irc.freenode.net
Intro
The core of the whole project is a Python script that starts up an instance of PD then gets it to dynamically load up patches chosen at random from a given folder. The patch will run for about ten minutes, at which point the audio will fade over to a newly chosen patch.
All audio is generated and modified in realtime on the server and the idea is for the patches to be generative in nature so that repeated listenings of the patches will always sound similar but different.
The whole lot is then streamed out in Ogg format straight from PD and can be setup to connect to any Icecast2 server.
Setup
To set everything up, just pull down the PatchWerks and the Radio-Patches repositories. Modify the config.cfg file to point to the Icecast server you wish to connect to and set the paths to point to the directories for the master and Radio-Patches. Start the PatchWerks script with a -c flag and the config file and everything should just work.
To run everything as a daemon on *nix I've been using daemontools. I still need to tweak the exact setup for this but I'll put it all in here once I've got it working satisfactorily.
Dependencies
Python 2.6 or greater is recommended, might run with older versions Pd-Extended
Still to do
So much, mostly just making a heap of patches but I'll put some of the current Todos as well as some of the nebulous "Future Features" here.
- Stream Meta Data
- Organising which PD Libraries get loaded at startup
- Error handling and warning system
- Database integration for keeping track of patch play number
- Simple API for getting info on patches or current info
- Dynamically loaded effects patches
Useful things
http://puredata.hurleur.com/
The Pure Data forum Full of people who know what they're talking about and are very willing to help.
#dataflow on irc.freenode.net Also full of helpful, friendly and clever people.
Thanks
The base PD Python class is based on the code written by Chris McCormick. His website can be found at http://mccormick.cx/chrism and is worth checking out because he's a bit of a PureData wizard.
Thanks also to rdz on #dataflow for bringing the dynamic patch loading in PD to my attention.