Introduction: Preparing the Operating System for Your Audiopint!

The AudioPint is the musician's 'toolbox,' incorporating all the audio effects a performer would need into one small, lightweight, and portable piece of equipment. While other performers might have to lug heavy effects pedals and sound boards, you can make your own all-purpose toolbox that allows you to record, morph, and play back your voice to create music in new and fun ways! These instructions assumes you've already gotten a chance to set up the hardware to your audiopint---now all you have to do is tweak the software to get it running!

This guide assumes you have a fair amount of knowledge of UNIX commands. You can learn more about the necessary commands and get more detail when you visit the official AudioPint wiki at http://www.audiopint.org.

Step 1: Setting Up the OS: Format the USB Drive

You can run the entire OS (operating system, e.g. Linux, Windows, Mac) on a 1 gig USB drive. We'll be using a Linux OS.

Here's how to get the OS on the USB. For more detailed instructions, go to http://audiopint.org/download. Follow these instructions using the terminal in Linux.

Format the USB drive to the Ext2 filesystem. You can do this in Linux by running "gparted," the Gnome Partition tool. This creates space for the OS image.

Gparted will open up in a window that looks like the picture below. As shown, right-click on the USB drive (usually marked as sda1) and point to "Format to" and then click on "Ext2" (not ntfs, as shown in the image).

image found here: http://www.linuxgem.org/user_files/Image/gparted_7_big.jpg

Step 2: Setting Up the OS: Download the Image

Download the image.
We've got an OS for you already!

If you happen to be using the same motherboard we're using (the Via EPIA EN), you can download our OS here. (Right-click on the link and click "Save Image As...")

If you are not using the Via EPIA EN, view this site for the rest of the instructions.

Step 3: Setting Up the OS: Restoring the Image

Use Partimage to restore the image to the USB disk.

After you unmount the USB disk, use partimage to get the OS image onto the disk.

In partimage, select the USB disk you want to restore the image on. Then enter the file name of the image (audiopint.000) in the file box, and select the 'restore an image' option. Leave all other default options and press continue (F5) until partimage starts to restore the image.

images found at www.partimage.org.

Step 4: Setting Up the OS: Getting the OS to Boot

Install GRUB on the MBR (Master Boot Record). GRUB (GRand Unified Bootloader) enables you to boot up and run the OS on your AudioPint. If your disk is labeled as /dev/sda, you'll need to type these things into the command line:

sudo mkdir /media/usbdisk
sudo mount -t ext2 /dev/sda1 /media/usbdisk
sudo grub-install --root-directory=/media/usbdisk --no-floppy --recheck /dev/sda
sudo umount /media/usbdisk

You're done setting up the OS! Now you can unmount the disk and pop it into your AudioPint.
A few notes about the OS: The root password is audiopint, and you must type in sudo sh make_writeable.sh before editing anything. Also, before shutting down, you must type in sudo sh make_readonly.sh.

Step 5: Make the Audio Program Start Automatically

To make your Audiopint fully portable, you'd probably like to add a feature that makes the audio program start right away when you plug the Audiopint in to a power source. The audio program we've created specifically for the Audiopint is called PureJoy and should already be installed with the OS. It was created using PureData, a graphical programming language suited for audio editing.

For more detailed instructions, see this link: http://audiopint.org/docs/startpd.

The first step is to create a file of sh commands to start PureJoy.

Create a new file in the /home/audiopint/purejoy directory. We've named this file run_audiopint4ch_OSS. You'll need to put in these PureData arguments in this file:

pd -lib zexy -lib joystick -oss -r 44100 -audiodev 1,2,3,4 -inchannels 2,2,2,2 -outchannels 2,2,2,2 -audiobuf 6 -nomidi purejoy_audiopint4ch_OSS.pd

Save the file. Now, in the command line, if you type in sudo sh run_audiopint4ch_OSS, PureJoy should start.

Step 6: Turning Off the GUI

After making sure that the script runs PureJoy, now we can turn the GUI (Graphical User Interface) off. The GUI is the window that allows you to view the code for PureJoy. Without the GUI, the hardware does not have to work as much to keep everything running.

Copy run_audiopint4ch_OSS into a file named run_audiopint4ch_OSSnogui and in the editor, add -nogui right after pd in the script, so it looks like this:

pd -nogui -lib zexy -lib joystick -oss -r 44100 -audiodev 1,2,3,4 -inchannels 2,2,2,2 -outchannels 2,2,2,2 -audiobuf 6 -nomidi purejoy_audiopint4ch_OSS.pd

Some comments about this step:
  • With these scripts you might have to change some things if you have less than 4 iMics. For example, if you only have 2 iMics, your script would be pd -lib zexy -lib joystick -oss -r 44100 -audiodev 1,2 - inchannels 2,2 -outchannels 2,2 -audiobuf 6 -nomidi purejoy_audiopint4ch_OSS.pd.
  • You may have to fiddle around with purejoy and the microphones to make sure that -audiodev 1,2 is correct. Fore example, with one of our AudioPints with two iMics, we discovered that the right inputs actually corresponded with -audiodev 2,3.

Step 7: Create the Initialization Script

Now that we have a file of commands that can start PureData, we can create an initialization script that will run when the system boots. This initialization script needs to be placed in the /etc/init.d directory.

Create a new script named pd and enter these lines:
   #! /bin/sh    # make sure the PD binary exists    PD_BIN=/usr/local/bin/pd    test -x $PD_BIN || exit 5    #required if you use LADSPA plugins in your patch    export LADSPA_HOME=/usr/lib/ladspa    export LADSPA_PATH=/usr/lib/ladspa    case "$1" in    start)	    echo -n "Starting PD\n"	    cd /home/audiopint/purejoy	    su audiopint run_audiopint4ch_OSS_nogui &	    ;;    stop)	    echo -n "Shutting down PD\n"            killall pd	    ;;    restart)            echo -n "Restarting PD\n"	    $0 stop	    $0 start	    ;;    *)	    echo "Usage $0 {start|stop|restart}	    exit 1	    ;;    esac    exit 0    # end

Generally, init.d files should have these permissions listed:

-rwxr-xr-x

The pd file might have these permissions listed:

-rw-r–r–

If so, edit the permissions by typing into the terminal:

chmod ugo+x pd

Test to see if the script works by typing

sudo ./pd start

Step 8: Update the Init State Directories

Since we have the initialization script ready, we can update the init state directory (analogous to a startup directory) to make the script run. Do this by typing

sudo update-rc.d -f pd start 99 2 3 4 5 .

(Don't forget the period at the end of the line.)

This should update the directories titled /etc/rc?.d , where ? is replaced by 2, 3, 4, and 5. Check to see if the rc2.d directory is updated.

cd /etc/rc2.d ls

There should be a file named S99pd located in the directory if you've updated correctly.

If you're finished editing the scripts, make the image read-only by typing

sudo sh ~/make_readonly.sh

You're pretty much done!!! You can try to unplug and plug in the AudioPint. Type ps aux | grep pd to see if PureJoy is running. If it is, you should be able to see the commands in the run_audiopint4ch_OSS_nogui script.

Congrats---you've made your AudioPint!