[PD] Ram disk script for OS X (was Re: saving state of a patch)
Phil Stone
pkstone at ucdavis.edu
Tue Jul 22 18:49:49 CEST 2008
Hi,
Enrique Erne wrote:
> Phil Stone wrote:
>> Hi Atte,
>>
>> Now that you're on your way with sssad, there's a nice trick you
>> should know. If you find that loading a preset causes dropouts,
>> consider using a ram disk to hold your presets during performance.
>> This solved all my dropout problems, and it's easy to do (I can post
>> a script for OS X if anyone wants it).
>
>
> Hi Phil
>
> yes please post the script.
>
> thanks
> eni
>
OK. Most of this script is error checking; three lines do all the real
work.
This creates the ram disk as a volume called "RamDisk". You can change
that name, if you like, by editing the line that begins with "DISK_NAME=..."
____________________________
#!/bin/bash
#echo "Creating ramdisk..."
if [ -n "$2" ]; then ARG_ERR=ERR; fi
if [ -z "$1" ]; then ARG_ERR=ERR; fi
if [ -n "$ARG_ERR" ];
then
echo 1 argument: size in MB
exit
fi
MB_SIZE=$1
let "MB_SIZE *= 2048"
echo Creating ${MB_SIZE} 512-blocks ramdisk
CREATED_RAMDISK=`hdiutil attach -nomount ram://${MB_SIZE}`
echo New block device: ${CREATED_RAMDISK}
DISK_NAME="RamDisk"
echo Creating volume with label: ${DISK_NAME}
newfs_hfs -v ${DISK_NAME} ${CREATED_RAMDISK}
echo Mounting in /Volumes/${DISK_NAME}
diskutil mount ${CREATED_RAMDISK}
exit 0
___________________________
In my case, I call this from another script, which copies the presets I
need into the ram disk:
____________________________
#!/bin/bash
# Create a 2M ramdisk:
~/ramdisk 2
# Copy music data to it
cp -R ~/PD_Patches/Presets/ /Volumes/RamDisk/Presets/
cp -R ~/PD_Patches/Presets_Meta/ /Volumes/RamDisk/Presets_Meta/
cp -R ~/PD_Patches/Scales/ /Volumes/RamDisk/Scales/
exit 0
_____________________________
Note that this works well for presets, and would probably be okay with
small sound files. However, all that's really happening is that the
load time is shorter because of faster access to ram as opposed to hard
drive. If you load a big enough file, even from ram disk, and it takes
longer than one dsp cycle to load, you'll still get dropouts.
Phil Stone
pkstonemusic.com
More information about the Pd-list
mailing list