pouët.net

ChipdiscoDJ v0.21 - a MOD/XM/S3M DJ app made with Processing

category: general [glöplog]
I'm a bit apprehensive about posting this here, but it has to happen sooner or later. This is my hobby project - very much a 'learning to code' project which I realise is full of questionable programming technique (I don't care) and which I also realise is done in Java (also don't care).

It uses my Processing library 'PortaMod', which is a really lightweight way of adding module soundtracks to your Processing sketches.

BB Image

Blurb:
Quote:

ChipdiscoDJ is a twin-deck MOD/XM/S3M player, set up like DJ software and with many of the same features. Needless to say, because modules are much better than MP3s, WAVs and other rendered audio files, you can do very cool stuff by digging into the notes as they’re calculated and played on the fly by the player engine. Adjust speed without adjusting pitch! Change pitch without altering speed! Mute individual instruments or channels! Trigger sub-pattern loops (a la Ableton Live) with pinpoint timing accuracy! Also, because modules are usually very small, you can roll up to a party with ChipdiscoDJ and a bunch of tunes on a floppy disk and kill that shit dead. No floppies? Don’t worry – you can queue up files from other websites by copying the URLs. Aaaawesome.

For those already familiar with Chipdisco, v0.21 represents a slight crawl forward in terms of features but a gargantuan, chasm-spanning leap forward in terms of stability and reliability – even though it’s still done in Java! It also looks a hell of a lot prettier now, and I think it’s sort of found itself visually after all this time (though there’s still scope for refinement…)



Feedback most welcome, either here or in the blogpost comments. It seems to work well on Windows and Linux (as long as Java is installed, natch) and - as usual - there are some problems with MacOS...but I'm working on them. Bugreports from Mac users are particularly welcome at the moment.

Cheers!
added on the 2010-12-05 16:52:13 by syphus syphus
Sounds a bit like a new incarnation of ModPlug Player. Cool! :)
Well I do have a tiny little single-tune player applet...but the next project is to get the audio engine working in Processing.js/HTML5/Firefox4 so that maybe by the time all browsers support that shit, I won't have to use Java applets at all... A man can dream ;)
added on the 2010-12-05 17:03:58 by syphus syphus
nice project, i'll give it a try :)
added on the 2010-12-05 18:20:14 by bull bull
funny project, will look into it later =)
Quote:
you can roll up to a party with ChipdiscoDJ and a bunch of tunes on a floppy disk


instant winner!

oh damn, computers don't have floppy drives anymore... :) nevertheless, cool idea and I will try it or look into it later.
added on the 2010-12-06 06:09:32 by jeenio jeenio
the font used for the module infos is a bit hard to read. anyway, a cool app!
added on the 2010-12-06 13:09:55 by nosfe nosfe
nosfe: that's because, with all "retro"-stuff, you HAVE to use crap unreadable fonts, otherwise it's not "retro". :)
added on the 2010-12-06 13:14:59 by gloom gloom
Yeah, I was about to say that font looks nasty too :) Is it changeable?

Maybe I'll give it a very quick look at some point, too busy lately :/ Can anyone recommend a good floppy disk emulator?
added on the 2010-12-06 14:35:01 by psonice psonice
nice. but for the sake of all humanity and sanity. Never EVER include Impulse Tracker support. Thanks!
added on the 2010-12-06 15:24:25 by Dubmood Dubmood
Quote:
sanity

Uhmmm, implementing 100% IT suport is a breeze compared to 100% XM support...
impulse tracker users are inbreed homoroids from outer space
added on the 2010-12-06 15:39:53 by Dubmood Dubmood
Haha I like the font. But you can't use things you like, otherwise it's not "pouet". I'll probably change it for my own sanity, at the risk of the kids thinking I'm not retro :)

Thanks for looking, chaps!
added on the 2010-12-06 15:39:55 by syphus syphus
Tried and liked it.
- Better change the Font in the sample fields to something readable
- It hangs when you click 'c' without having a second sound card (configured?)

Can I get the .jar somewhere to have it on disk?
added on the 2010-12-06 15:40:17 by raer raer
Thanks. Yup, changing the font right now, and also trying to fix the OSX/Linux bug where the cue mix hangs it. I think it happens even when secondary soundcards are installed...I've got some OSX users helping me, anyway :)

You can download 'application' versions (which in Processing are just packaged-up JARs with OS-specific executable scripts) from the links under the applet. Truck tells me that the OSX one is packaged weirdly and might need the executable bit set...although he was so angry about having to be in the same room as a Java applet that he was ranting a bit and I wasn't 100% sure what he meant ;)
added on the 2010-12-06 15:49:44 by syphus syphus
<3 Processing. I've been prototyping with it for the past year and I've really grown to like it (especially with the Javascript port now).

I'll have to check your player lib out later and better yet, _make_ something with it :)
added on the 2010-12-06 15:56:02 by visy visy
Yay! Literally _nobody_ on the Processing boards is interested in module formats whatsoever, or their advantages when used in simple sketches, so it'd be nice to see something done with it. So far, ps is the only person to have used it - for this: http://enoughrecords.scene.org/goto80_openfunksores/
added on the 2010-12-06 16:03:11 by syphus syphus
there should also be a possibility to scratch with mods ;)
added on the 2010-12-06 18:12:26 by nosfe nosfe
It can, but I haven't refined the MIDI control for it yet :) I can scan back and forth by row, but ideally it would use an X/Y controller, where one axis is the direction and the other is the number of rows per action (hence scratch speed).

My library also lets you glitch up samples during playback by letting you adjust sample loop start point and loop length: http://vimeo.com/8146425

You can also replace a song's samples with samples of your own on the fly, that's fun. And jam along to the song with a MIDI keyboard using one of the song's instruments \o/

Next thing I'm working on is pattern-based (i.e. non-DSP) delay...
added on the 2010-12-06 18:29:17 by syphus syphus
keep up the cool work syphus, it's getting better and better :)

would only hope someone would annoying browser devs to properly support java audio dom side object destruction. it works fine if you only load it once. but try killing the object and adding it again without a page refresh and you're in for sound browser miss-compliance hell :D
added on the 2010-12-06 19:29:02 by psenough psenough
uh uh, feature request. network load :D
i wanna post a random "http://chiptunes.com/tune.zip" and have it play on the decks :D
added on the 2010-12-06 19:30:07 by psenough psenough
oh nevermind, just noticed that it's already implemented :D
added on the 2010-12-06 19:31:30 by psenough psenough
Ah, you've discovered the hidden avant-garde textural sound collage feature!

Yes, it's a pain in the cock. Refreshing often doesn't kill the object either; safest is to go to the browser's homepage and then back again.
added on the 2010-12-06 19:32:48 by syphus syphus
i approve!
Fckin great toy! I wonder what's the bare minimum to run this, to create sort-of lo-tech portable dj-laptop filled with mods, for little oldschool parties.
added on the 2010-12-07 02:20:12 by wrthlss wrthlss

login