ChucKchat Manual
by Les Hall
What is ChucKchat?
ChucKchat is software designed for music and chat across the web. It has a crude chat interface and a music generator plus a looping interface, all suitable for net-looping events.
I suppose you may now be wondering what a net-looping event is… that's my made-up term to describe one of the things we like to do at radio.electro-music.com, which is to loop audio using the delays of the internet as the delay lines of the looper.
I go to the electro-music.com website and log in to the forum, then join chat, and finally fire up my software including ChucK, iTunes, and Nocecast plus soundflower. With this setup on my Mac, I can both transmit to the electro-music.com public channel and listen to it at the same time. By routing the adc through something then out to the dac in ChucK, I establish a loop over the web.
To make this process fun and interesting, I created ChucKchat which allows anyone else who has a copy of ChucKchat to send commands to my computer that will vary the way that the music sounds. Various parameters of the alert beep and also more importantly of the music generating software are adjustable in this way.
Oh, and the music is created by a Boolean Sequencer and a Karplus Strong algorithm. The basks formed by these two items can have long or short sequences that are randomly generated, and can sound like percussion or string synthesis.
As I normally do, I am giving ChucKchat away for free without stipulation of use, my only request is that you keep my name in the credits as original author. I hope you enjoy ChucKchat and maybe even code up your own functionality into it as well!
Les Hall (Inventor)
Adding Friends
To add friends, and yourself, make a frends.txt file. The format is simple just name followed by ip address with an enter key pressed after each line, like this:
jan 0.0.0.0
steve 0.0.0.0
les localhost
The last line must be yourself and have localhost instead of an ip address. Naturally I have used 0.0.0.0 instead of my friends' real ip addresses in this example, but you get the idea - put their ip address in the file after their name. Note that the last friend, who is yourself, must be followed by an enter key so the final line of the file is blank. This is a ChucK limitation.
ChucKchat is a serverless system in which only client programs exist. Everything you type in ChucKchat gets broadcast (when you press enter) to all of the ip addresses in your friends list as shown above.
This way everyone else hears what you type and you hear what everyone else types, but no server is required. The system has limitations, but this is just for friendly jams among small groups of people so it should not require fancy administration - or so I hope!
Sending commands
the format for commands is as follows:
identity command value
where identity is your friend's nickname (or your own), command is a single text word, and value is a floating point number. The available commands are:
identity volume value
sets the volume of the beep
identity frequency value
sets the frequency of the beep
identity beep value
beeps your friend with beep volume value * the set volume
identity ps.mix value
sets the pitshifter mix, 1.0 = full pitch shifting, 0.0 = no pitch shipting, 0.5 = half effect
identity ps.shift value
set the shift value of the pitch shifter
identity bs.bits value
set the number of bits in the boolean sequencer and generates a new pattern array
identity bs.tempo value
set the tempo of the boolean sequencer, in notes per second
identity bs.gain value
sets the gain of the boolean sequencer
identity ks.ingain value
sets the input gain of the karplus strong circuit
identity ks.inoff value
sets the input offset of the kerplus strong circuit
identity ks.gain value
sets the feedback gain of the karplus strong circuit