A few quick tips for Pure Data users

  1. Making Pd beautiful

    If the default Pd font is cramping your style, Andre Schmidt has created a nice alternative. To use it, you'll need to adjust a config file and install a font. I've only tried this on Windows XP.

    1. Install piidii.fon to your windows/fonts directory
    2. Replace all instances of the old font in the pd.tk config file in pd/bin.

    If you are using Pd 0.37 (the latest release), you can simply replace your pd.tk with this one.

    NOTE: I have made this work with Linux now. Try: this pcf font.

  2. Looping with tabplay~

    Need to quickly load and loop a soundfile for testing? Check out the brief tutorial available here. Source file included.

  3. Routing Audio

    [4route~] A simple abstraction to route one mono input to one of four mono outputs. The patch is easy to use and well documented internally. A help file is available. Note: You can only assign one output source at a time, but this can easily be modified.

    Thanks to cbit's SimplePatcher v1 for the idea.

  4. Using an M-Audio Delta 66 / Omni Studio / Envy24 / ICE1712 with ALSA in a non-standard card slot

    When you set up ALSA for the Delta 66 you will probably have a default routing of plughw:0. If your card is in a different slot, this can be very confusing. So confusing in fact that you may spend MONTHS trying to figure out the EXASPERATING solution that should be in the DOCUMENTATION but ISN'T.

    The fix is simple in hindsight. I will give you an overview:

    Given your sound card is in slot #2, ALSA can talk to it as hw:2. HOWEVER, if you are using the ICE1712 chipset - as is found in the Delta 66 - you will have problems. This chipset expects to receive the sound pre-formatted to it's bitrate (some kind of 32-bit) and samplerate (48000?). Most programs aren't going to want to convert their data just so they can talk to it.

    ALSA addresses this problem by allowing you to send your sound output to plughw:2. This "plug" layer does the conversion for you and forwards the audio to the correct device.

    NOW: How do you tell the average program you are running that the default device is NOT plughw:0 and is NOT hw:0 and SHOULD ACTUALLY BE plughw:2??

    IF your program is a little smarter (XMMS, Pd) you can explicitly tell it to address the plughw:2. But IF it is retarded (eg: almost every other program) you will need to customize an .asoundrc configuration file in your home directory (~/.asoundrc) telling ALSA how to handle default requests as plughw:2 calls instead.

    Here's how I did it, but not necessarily how it is supposed to be done:

    pcm.!default {
       type plug
    	slave.pcm ice1712
    }
    
    pcm.ice1712 {
    	type hw
    	card 2
    }
    
    ctl.ice1712 {
    	type hw
    	card 2
    }
    

    After finally getting audio out of Flash, Mplayer, and other apps, I am taking a moment to rejoice. Then I'll try to update this with multi-channel options.

    I know this is not directly Pd related, but it's super frustrating so I wanted to document it.


Valid XHTML 1.0!