Review: Zoom H4 Digital Audio Recorder
I bought an H4 shortly after they came out. Overall, the H4 is a nice budget portable recorder that is small enough to carry with you anywhere. The sound is better than I expected for the money. It does have some problems, though: [Read More]Android: Common Tasks
This is a list of things that are easy to do in Google Android, but are sometimes not entirely obvious. [Read More]Android: Custom Buttons
Buttons in Android have three states: normal, focused, and pressed. Each of these states has its own 9.png file, stored in android.jar, and you can easily use your own graphics if you decide you don't like the default Android Orange. I love orange a much as the next guy...probably more, but come on, it just doesn't go with everything. If you want to have a custom UI, you're going to want to figure out how to get rid of the orange highlights. So, here's how to do it. [Read More]Android: Custom Spinners
This tutorial shows how to replace the default Spinner graphics in a Google Android application. [Read More]MP3 Encoding, 16 bit , 24 bit, or 32 bit?
I've had a number of people tell me that it's best to feed an MP3 encoder--like LAME--24 or 32 bit audio files (i.e. don't dither down to 16 bit first). The rationale behind this is that it "allows the encoder to have the most accurate picture of the audio signal so that it can generate the best MP3 data". The problem is that when you're encoding the file, you have no idea what bit rate the decoder or audio interface might support. [Read More]Flash: A better sortOn() function
The Array.sortOn() function in ActionScript 2 and ActionScript 3 has a bug in it that causes you to be unable to use it to sort on Object properties that use a Getter function rather than a native property...Getting around this isn't too hard, you just have to make your own sortOn prototype. [Read More]Rendering Isometric Tiles in Blender 3D
Isometric projection is a method of efficiently faking a third-person overhead-camera 3D plane within a 2D plane. Since squares are drawn compressed with 90° angles drawn at 120° or 60° depending on the corner, and all of the lines representing each dimension are parallel, it's possible to use 2D sprite-based tiling and animation in a game that looks 3D-ish without having to do any actual 3D calculations. The drawback is that objects in the game do not appear to get smaller or larger as they move closer or farther away. This can lead to idiosyncrasies of the sort exploited in the works of M. C. Escher. [Read More]PHP: Replace "Smart Quotes" and other high-bit characters
Simple PHP function to replace all of the high-bit characters that cause problems, especially with RSS feeds and XML parsing. [Read More]Actionscript 3: Extra Timer Callback Parameters
I've seen this request mentioned in a fair number of forums: people want to be able to pass their own parameters to Timer callback function. Seems logical. You're calling a function, so of course you want to be able to pass in parameters. The problem is that, unlike the old setInterval method, there isn't any obvious way to pass in parameters to either the Timer class or the TimerEvent class. In Actionscript 2.0, you could use setInterval, which has optional extra parameters specified in the constructor. [Read More]OSC between Max/MSP and SC3
This is a quick and dirty tutorial that shows exactly how to communicate between Max/MSP and SuperCollider 3 with Open Sound Control (OSC). This could be useful for a number of things. If you want to use SC3, but would like to be able to do video processing with Jitter, for instance. Or, if you want to write a patch in SC3, but design an interface for it in Max. [Read More]SC3: Flash and OSC
Example files for connecting Flash and OSC together for use with SuperCollider 3. [Read More]SC3 Tank Reverb (JMC)
Excellent sounding reverb, courtesy JMC [Read More]Search SC3 Code Script
This is a simple perl script which can be run to search through the text of the Supercollider 3 Help files, or through your own collection of Supercollider .rtf files, looking for a specified character string. This is helpful, say if you'd like to know which Help files deal with, say, "EnvGen", or "SynthDef". It's also helpful if you want to find that bit of code that you wrote 6 months ago that had something to do with a "reverb" unit, or something like that. [Read More]JPEG to WAV Converter
Here's a little program which will convert an image in JPEG form into an audio file. [Read More]SC3 808 Kick Drum
An 808-style kick drum for SuperCollider 3. [Read More]SC3 Markov Chain
An Example markov chain SynthDef [Read More]SC3 Pulse Train
One possible way to implement a pulse-train in SuperCollider 3. [Read More]Roland XP-80 Device XML for Cubase SX3
This is a Cubase XML set up file for a Roland XP-80. It just contains patch names, none of the editing palettes or anything like that. Also, the User bank has the names of my patches, so you'll have to change those to fit your User bank patches. Still, it also contains the patch names for the other 4 banks, so it's better than nothing. [Read More]







