Interaction Design Student Patches Available
Greetings all,
I have just posted a collection of student patches for an interaction design course I was teaching at Emily Carr University of Art and Design. I hope that the patches will be useful to people playing around with Pure Data in a learning environment, installation artwork and other uses.
The link is: http://bit.ly/8OtDAq
or: http://www.sfu.ca/~leonardp/VideoGameAudio/main.htm#patches
The patches include multi-area motion detection, colour tracking, live audio looping, live video looping, collision detection, real-time video effects, real-time audio effects, 3D object manipulation and more...
Cheers,
Leonard
Pure Data Interaction Design Patches
These are projects from the Emily Carr University of Art and Design DIVA 202 Interaction Design course for Spring 2010 term. All projects use Pure Data Extended and run on Mac OS X. They could likely be modified with small changes to run on other platforms as well. The focus was on education so the patches are sometimes "works in progress" technically but should be quite useful for others learning about PD and interaction design.
NOTE: This page may move, please link from: http://www.VideoGameAudio.com for correct location.
Instructor: Leonard J. Paul
Students: Ben, Christine, Collin, Euginia, Gabriel K, Gabriel P, Gokce, Huan, Jing, Katy, Nasrin, Quinton, Tony and Sandy
GabrielK-AsteroidTracker - An entire game based on motion tracking. This is a simple arcade-style game in which the user must navigate the spaceship through a field of oncoming asteroids. The user controls the spaceship by moving a specifically coloured object in front of the camera.
Features: Motion tracking, collision detection, texture mapping, real-time music synthesis, game logic
GabrielP-DogHead - Maps your face from the webcam onto different dog's bodies in real-time with an interactive audio loop jammer. Fun!
Features: Colour tracking, audio loop jammer, real-time webcam texture mapping
Euginia-DanceMix - Live audio loop playback of four separate channels. Loop selection is random for first two channels and sequenced for last two channels. Slow volume muting of channels allows for crossfading. Tempo-based video crossfading.
Features: Four channel live loop jammer (extended from Hardoff's ma4u patch), beat-based video cross-cutting
Huan-CarDance - Rotates 3D object based on the audio output level so that it looks like it's dancing to the music.
Features: 3D object display, 3d line synthesis, live audio looper
Ben-VideoGameWiiMix - Randomly remixes classic video game footage and music together. Uses the wiimote to trigger new video by DarwiinRemote and OSC messages.
Features: Wiimote control, OSC, tempo-based video crossmixing, music loop remixing and effects
Christine-eMotionAudio - Mixes together video with recorded sounds and music depending on the amount of motion in the webcam. Intensity level of music increases and speed of video playback increases with more motion.
Features: Adaptive music branching, motion blur, blob size motion detection, video mixing
Collin-LouderCars - Videos of cars respond to audio input level.
Features: Video switching, audio input level detection.
Gokce-AVmixer - Live remixing of video and audio loops.
Features: video remixing, live audio looper
Jing-LadyGaga-ing - Remixes video from Lady Gaga's videos with video effects and music effects.
Features: Video warping, video stuttering, live audio looper, audio effects
KatyC_Bunnies - Triggers video and audio using multi-area motion detection. There are three areas on each side to control the video and audio loop selections. Video and audio loops are loaded from directories.
Features: Multi-area motion detection, audio loop directory loader, video loop directory loader
Nasrin-AnimationMixer - Hand animation videos are superimposed over the webcam image and chosen by multi-area motion sensing. Audio loop playback is randomly chosen with each new video.
Features: Multi-area motion sensing, audio loop directory loader
Quintons-AmericaRedux - Videos are remixed in response to live audio loop playback. Some audio effects are mirrored with corresponding video effects.
Features: Real-time video effects, live audio looper
Tony-MusicGame - A music game where the player needs to find how to piece together the music segments triggered by multi-area motion detection on a webcam.
Features: Multi-area motion detection, audio loop directory loader
Sandy-Exerciser - An exercise game where you move to the motions of the video above the webcam video. Stutter effects on video and live audio looper.
Features: Video stutter effect, real-time webcam video effects
Seq Sampler Loop
No sound out of this Oscar.
Here's a bit of the error message:
ch file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus13.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus16.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus16.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus14.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus14.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/zapa06.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav: No such file or directory
error: soundfiler_read: /home/pelao/Documentos/audio/loops/terminus15.wav:
But, it looks awesome.
Keep well ~ Shankar
How do you guys use PD with other audio programs?
didnt know jack also worked for windows xp?
EDIT:just downloaded jack from the website,but i get all kinds of errors when i try to unzip?
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open Versions\Current\Headers (jack-1.9.2\bin\osx_32bits\Jackmp.framework\Headers --> Versions\Current\Headers)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open Versions\Current\Jackmp (jack-1.9.2\bin\osx_32bits\Jackmp.framework\Jackmp --> Versions\Current\Jackmp)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open Versions\Current\Resources (jack-1.9.2\bin\osx_32bits\Jackmp.framework\Resources --> Versions\Current\Resources)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create ersions\Current\Headers
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Jackservermp
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Resources
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open jack-1.9.2\bin\osx_32bits\Jackservermp.framework\Resources (A --> jack-1.9.2\bin\osx_32bits\Jackservermp.framework\Resources)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Panda
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Resources
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open jack-1.9.2\bin\osx_32bits\Panda.framework\Resources (A --> jack-1.9.2\bin\osx_32bits\Panda.framework\Resources)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Headers
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Jackmp
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Resources
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open jack-1.9.2\bin\osx_64bits\Jackmp.framework\Resources (A --> jack-1.9.2\bin\osx_64bits\Jackmp.framework\Resources)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Headers
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Jackservermp
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Resources
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open jack-1.9.2\bin\osx_64bits\Jackservermp.framework\Resources (A --> jack-1.9.2\bin\osx_64bits\Jackservermp.framework\Resources)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Panda
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create Versions\Current\Resources
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot open jack-1.9.2\bin\osx_64bits\Panda.framework\Resources (A --> jack-1.9.2\bin\osx_64bits\Panda.framework\Resources)
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Symbolic link points to missing file
! C:\Documents and Settings\administartor\Desktop\jack audio\jack-1.9.2.tgz: Cannot create
Can't run PD 0.42-4 under OSX 10.4.11
I hope I did this right: I opened Console, then launched PD. I've pasted the contents of the console window below (after that I pasted the contents of pd.crash.log
===== Saturday, March 28, 2009 11:45:29 AM America/New_York =====
2009-03-28 11:46:02.321 BOMArchiveHelper[343] opened /Users/larz/Downloads/.BAHh1Ptn/pd-0.42-4.mac.tar
Pt_Start() called
Mar 28 11:46:42 KlipperBook crashdump[394]: pd crashed
Mar 28 11:46:43 KlipperBook crashdump[394]: crash report written to: /Users/larz/Library/Logs/CrashReporter/pd.crash.log
pd_gui: pd process exited
================
pd.crash.log:
**********
Host Name: KlipperBook
Date/Time: 2009-03-28 11:46:40.715 -0400
OS Version: 10.4.11 (Build 8S2167)
Report Version: 4
Command: pd
Path: /Applications/Pd-0.42-4.app/Contents/Resources/Scripts/../bin/pd
Parent: Pd [351]
Version: (0.38)
PID: 352
Thread: 3
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004
Thread 0:
0 libSystem.B.dylib 0x9001a1cc select + 12
1 pd 0x00044706 sys_microsleep + 19 (s_inter.c:207)
2 pd 0x000423a7 m_mainloop + 468 (m_sched.c:511)
3 pd 0x000444a2 sys_main + 1642 (s_main.c:313)
4 pd 0x00002876 _start + 216
5 pd 0x0000279d start + 41
Thread 1:
0 libSystem.B.dylib 0x90009cd7 mach_msg_trap + 7
1 com.apple.CoreFoundation 0x9082d21b CFRunLoopRunSpecific + 2014
2 com.apple.CoreFoundation 0x9082ca36 CFRunLoopRunInMode + 61
3 com.apple.audio.CoreAudio 0x91469356 HALRunLoop::OwnThread(void*) + 158
4 com.apple.audio.CoreAudio 0x91469171 CAPThread::Entry(CAPThread*) + 93
5 libSystem.B.dylib 0x90024227 _pthread_body + 84
Thread 2:
0 libSystem.B.dylib 0x90047dd7 semaphore_timedwait_signal_trap + 7
1 com.apple.audio.CoreAudio 0x914765a4 CAGuard::WaitFor(unsigned long long) + 212
2 com.apple.audio.CoreAudio 0x914764c6 CAGuard::WaitUntil(unsigned long long) + 66
3 com.apple.audio.CoreAudio 0x91474e42 HP_IOThread::WorkLoop() + 690
4 com.apple.audio.CoreAudio 0x91474b8b HP_IOThread::ThreadEntry(HP_IOThread*) + 17
5 com.apple.audio.CoreAudio 0x91469171 CAPThread::Entry(CAPThread*) + 93
6 libSystem.B.dylib 0x90024227 _pthread_body + 84
Thread 3 Crashed:
0 pd 0x00074746 PaUtil_SetInputFrameCount + 13 (pa_process.c:464)
1 pd 0x00079b60 AudioIOProc + 1925 (pa_mac_core.c:1879)
Thread 3 crashed with X86 Thread State (32-bit):
eax: 0x00000000 ebx: 0x000793ec ecx: 0x00000000 edx: 0x00000000
edi: 0x00000000 esi: 0xb0182190 ebp: 0xb0182168 esp: 0xb0182168
ss: 0x0000001f efl: 0x00010246 eip: 0x00074746 cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
Binary Images Description:
0x1000 - 0x8cfff pd /Applications/Pd-0.42-4.app/Contents/Resources/bin/pd
0x4ad000 - 0x4b2fff com.apple.audio.AppleHDAHALPlugIn 1.3.7 (1.3.7a23) /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn
0x6cc000 - 0x6cffff com.apple.LiveType.component 2.1.3 /Library/QuickTime/LiveType.component/Contents/MacOS/LiveType
0x6d4000 - 0x739fff com.apple.LiveType.framework 2.1.3 /System/Library/PrivateFrameworks/LiveType.framework/Versions/A/LiveType
0x761000 - 0x7cefff com.DivXInc.DivXDecoder 6.6.0 /Library/QuickTime/DivX Decoder.component/Contents/MacOS/DivX Decoder
0x7dd000 - 0x7e0fff Motion /Library/Frameworks/Motion.framework/Versions/A/Motion
0x1008000 - 0x10a7fff com.apple.QuickTimeImporters.component 7.4.5 (67) /System/Library/QuickTime/QuickTimeImporters.component/Contents/MacOS/QuickTimeImporters
0x10cb000 - 0x1111fff com.apple.motion.component 1.0 /Library/QuickTime/Motion.component/Contents/MacOS/Motion
0x1117000 - 0x11b7fff net.sourceforge.webcam-osx.common 0.9.1 /Library/QuickTime/macam.component/Contents/MacOS/macam
0x70000000 - 0x700fafff com.apple.audio.units.Components 1.4.7 /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio
0x8fe00000 - 0x8fe4afff dyld 46.16 /usr/lib/dyld
0x90000000 - 0x90171fff libSystem.B.dylib /usr/lib/libSystem.B.dylib
0x901c1000 - 0x901c3fff libmathCommon.A.dylib /usr/lib/system/libmathCommon.A.dylib
0x901c5000 - 0x90202fff com.apple.CoreText 1.1.3 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x90229000 - 0x902fffff ATS /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x9031f000 - 0x90774fff com.apple.CoreGraphics 1.258.77 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x9080b000 - 0x908d3fff com.apple.CoreFoundation 6.4.10 (368.33) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x90911000 - 0x90911fff com.apple.CoreServices 10.4 (???) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x90913000 - 0x90a07fff libicucore.A.dylib /usr/lib/libicucore.A.dylib
0x90a57000 - 0x90ad6fff libobjc.A.dylib /usr/lib/libobjc.A.dylib
0x90aff000 - 0x90b63fff libstdc++.6.dylib /usr/lib/libstdc++.6.dylib
0x90bd2000 - 0x90bd9fff libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib
0x90bde000 - 0x90c51fff com.apple.framework.IOKit 1.4.8 (???) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x90c66000 - 0x90c78fff libauto.dylib /usr/lib/libauto.dylib
0x90c7e000 - 0x90f24fff com.apple.CoreServices.CarbonCore 682.28 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x90f67000 - 0x90fcffff com.apple.CoreServices.OSServices 4.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x91008000 - 0x91047fff com.apple.CFNetwork 129.22 (129.23) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x9105a000 - 0x9106afff com.apple.WebServices 1.1.3 (1.1.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/WebServicesCore.framework/Versions/A/WebServicesCore
0x91075000 - 0x910f4fff com.apple.SearchKit 1.0.7 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x9112e000 - 0x9114cfff com.apple.Metadata 10.4.4 (121.36) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x91158000 - 0x91166fff libz.1.dylib /usr/lib/libz.1.dylib
0x91169000 - 0x91308fff com.apple.security 4.5.2 (29774) /System/Library/Frameworks/Security.framework/Versions/A/Security
0x91406000 - 0x9140efff com.apple.DiskArbitration 2.1.2 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x91415000 - 0x9141cfff libbsm.dylib /usr/lib/libbsm.dylib
0x91420000 - 0x91446fff com.apple.SystemConfiguration 1.8.6 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x91458000 - 0x914cefff com.apple.audio.CoreAudio 3.0.5 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x9151f000 - 0x9151ffff com.apple.ApplicationServices 10.4 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x91521000 - 0x9154dfff com.apple.AE 314 (313) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x91560000 - 0x91634fff com.apple.ColorSync 4.4.10 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x9166f000 - 0x916e2fff com.apple.print.framework.PrintCore 4.6 (177.13) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x91710000 - 0x917b9fff com.apple.QD 3.10.25 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x917df000 - 0x9182afff com.apple.HIServices 1.5.2 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x91849000 - 0x9185ffff com.apple.LangAnalysis 1.6.3 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x9186b000 - 0x91886fff com.apple.FindByContent 1.5 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/FindByContent.framework/Versions/A/FindByContent
0x91891000 - 0x918cefff com.apple.LaunchServices 182 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x918e2000 - 0x918eefff com.apple.speech.synthesis.framework 3.5 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x918f5000 - 0x91935fff com.apple.ImageIO.framework 1.5.6 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x91948000 - 0x919fafff libcrypto.0.9.7.dylib /usr/lib/libcrypto.0.9.7.dylib
0x91a40000 - 0x91a56fff libcups.2.dylib /usr/lib/libcups.2.dylib
0x91a5b000 - 0x91a79fff libJPEG.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x91a7e000 - 0x91addfff libJP2.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x91aef000 - 0x91af3fff libGIF.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x91af5000 - 0x91b7dfff libRaw.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRaw.dylib
0x91b81000 - 0x91bbefff libTIFF.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x91bc4000 - 0x91bdefff libPng.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x91be3000 - 0x91be5fff libRadiance.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x91be7000 - 0x91cc5fff libxml2.2.dylib /usr/lib/libxml2.2.dylib
0x91ce2000 - 0x91ce2fff com.apple.Accelerate 1.3.1 (Accelerate 1.3.1) /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x91ce4000 - 0x91d72fff com.apple.vImage 2.5 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x91d79000 - 0x91d79fff com.apple.Accelerate.vecLib 3.3.1 (vecLib 3.3.1) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x91d7b000 - 0x91dd4fff libvMisc.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x91ddd000 - 0x91e01fff libvDSP.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x91e09000 - 0x92212fff libBLAS.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x9224c000 - 0x92600fff libLAPACK.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x9262d000 - 0x9271afff libiconv.2.dylib /usr/lib/libiconv.2.dylib
0x9271c000 - 0x9279afff com.apple.DesktopServices 1.3.7 /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x927db000 - 0x92a0bfff com.apple.Foundation 6.4.10 (567.37) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x92b25000 - 0x92b40fff libGL.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x92b4c000 - 0x92ba4fff libGLU.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x92bb8000 - 0x92bb8fff com.apple.Carbon 10.4 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x92bba000 - 0x92bcafff com.apple.ImageCapture 3.0.4 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x92bd9000 - 0x92be1fff com.apple.speech.recognition.framework 3.6 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x92be7000 - 0x92bedfff com.apple.securityhi 2.0.1 (24742) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x92bf3000 - 0x92c84fff com.apple.ink.framework 101.2.1 (71) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x92c98000 - 0x92c9cfff com.apple.help 1.0.3 (32.1) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x92c9f000 - 0x92cbdfff com.apple.openscripting 1.2.5 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x92ccf000 - 0x92cd5fff com.apple.print.framework.Print 5.2 (192.4) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x92cdb000 - 0x92d3efff com.apple.htmlrendering 66.1 (1.1.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x92d65000 - 0x92da6fff com.apple.NavigationServices 3.4.4 (3.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x92dcd000 - 0x92ddbfff com.apple.audio.SoundManager 3.9.1 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0x92de2000 - 0x92de7fff com.apple.CommonPanels 1.2.3 (73) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x92dec000 - 0x930e1fff com.apple.HIToolbox 1.4.10 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x931e7000 - 0x931f3fff com.apple.opengl 1.5.1 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x93263000 - 0x93263fff com.apple.Cocoa 6.4 (???) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x93265000 - 0x9391bfff com.apple.AppKit 6.4.10 (824.45) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x93c9c000 - 0x93d17fff com.apple.CoreData 91 (92.1) /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x93d50000 - 0x93e09fff com.apple.audio.toolbox.AudioToolbox 1.4.7 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x93e4c000 - 0x93e4cfff com.apple.audio.units.AudioUnit 1.4.3 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x93e4e000 - 0x9400ffff com.apple.QuartzCore 1.4.12 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x94055000 - 0x94096fff libsqlite3.0.dylib /usr/lib/libsqlite3.0.dylib
0x9409e000 - 0x940e1fff libGLImage.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x940e5000 - 0x940fbfff com.apple.CoreVideo 1.4.2 /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x9410b000 - 0x945c7fff libGLProgrammability.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
0x948d3000 - 0x94beafff com.apple.QuickTime 7.4.5 (67) /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
0x96cbe000 - 0x96cf4fff com.apple.audio.midi.CoreMIDI 1.5.1 (41) /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
0x970c7000 - 0x970c7fff com.apple.vecLib 3.3.1 (vecLib 3.3.1) /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
0x97641000 - 0x97646fff com.apple.agl 2.6.2 (AGL-2.6.2) /System/Library/Frameworks/AGL.framework/Versions/A/AGL
0x9896d000 - 0x998fefff com.apple.QuickTimeComponents.component 7.4.5 (67) /System/Library/QuickTime/QuickTimeComponents.component/Contents/MacOS/QuickTimeComponents
Yay...
I took this from my blog which is an eyesore and hard to concentrate on.
Let's learn how to combine arduino and puredata into one almighty power, the mighty AARRGHDATA(i think the proper name is the classier pduino, i guess you say it peedweeno, or padooiino)
Firstly. If you haven't already, check that your arduino is working. if you know this. keep scrolling until you see a kitten.
Plug it in and fire up the arduino software. You can get that from here
now lets do a quick test(is shouldve flashed when you plugged it in anyway) but get an LED, and put it so that the longer leg(theres a fancy name for this) is in the slot for digital pin 13 and the shorter leg(also has a fancy name) is in GND(you could say things "gund" or "gnnnd" but im fairly sure it just means GROUND.
now go file>sketchbook>examples>digital>blink and it will open that sketch. click the "upload" button and watch as it updates you on upload status and tells you when its complete.
is it blinking? nice. i could go on more about this, but i want to talk about PD, thats where it gets fun.
KITTENS
you can start looking again if you like pd.
once again, go to file>sketchbook>examples>library-firmata>standard firmata
dont see it? its a standard library now, so you should probably check you have the latest version(anything above 12 will be fine)
around this time you want to open pd and try create an object called "arduino". nothing? then you need to be going here to visit the wonderful mr hans, and download pduino.(i'm not sure if the arduino library is standard in pd extended now)
did you upload that standard firmata sketch to your board? i didnt tell you to. but thats ok, i like the way you think. do that if you haven't.
once thats uploaded properly, you can quit the arduino software, we do not need its services anymore.
now go inside that pduino folder you downloaded and open the patch arduino-test.pd
you should see something like thisss.
i dont know why all those errors happen. but click the "devices" message box in there to check what port your arduino is on.
hans is pretty awesome for making this patch, its really easy to understand i think.
change your port to whatever pd tells you your arduino is on.
HUZZAH! CONNECTIVITY!
now, lets say we still have that LED plugged in. want to test it?
hit that "pulse all outputs" toggle, and it should blink on and off. look around that subpatch, its pretty simple too. (you will want to know all these messages to send when writing your own patch for stuff)
Input is easy too. turn on that little toggle under [arduino 1] to let through outlet info.
you'll also want to enable your analogIns in the yellow radio up there.
say you had a potentiometer you wanted to connect up, it's really easy. and a breadboard will make all your connections easier to make.
but you'd just connect it up like this.
then you'd just enable the input you are using in that patch(input 2 in this case) and watch the input stream in through the a3 number box at the bottom.
this is how it works for me anyway.
that should just show you how the basics of it work, and you can move from there.
Arduino and pure data
Hello. I'm trying to use Arduino with Puredata using the Firmata Library. I downloaded Firmata and installed the library as instructed in the readme, and then loaded 'AnalogFirmata' from the library examples. When I try to compile this example (or any of the others) I receive a string of error statements. Code and errors listed below. Any suggestions?
Code:
/* This firmware supports as many analog ports as possible, all analog inputs,
* four PWM outputs, and two with servo support.
*
* This example code is in the public domain.
*/
#include <Firmata.h>
#include <Servo.h>
/*==============================================================================
* GLOBAL VARIABLES
*============================================================================*/
/* servos */
Servo servo9, servo10; // one instance per pin
/* analog inputs */
int analogInputsToReport = 0; // bitwise array to store pin reporting
int analogPin = 0; // counter for reading analog pins
/* timer variables */
extern volatile unsigned long timer0_overflow_count; // timer0 from wiring.c
unsigned long nextExecuteTime; // for comparison with timer0_overflow_count
/*==============================================================================
* FUNCTIONS
*============================================================================*/
void analogWriteCallback(byte pin, int value)
{
switch(pin) {
case 9: servo9.write(value); break;
case 10: servo10.write(value); break;
case 3:
case 5:
case 6:
case 11: // PWM pins
analogWrite(pin, value);
break;
}
}
// -----------------------------------------------------------------------------
// sets bits in a bit array (int) to toggle the reporting of the analogIns
void reportAnalogCallback(byte pin, int value)
{
if(value == 0) {
analogInputsToReport = analogInputsToReport &~ (1 << pin);
}
else { // everything but 0 enables reporting of that pin
analogInputsToReport = analogInputsToReport | (1 << pin);
}
// TODO: save status to EEPROM here, if changed
}
/*==============================================================================
* SETUP()
*============================================================================*/
void setup()
{
Firmata.setFirmwareVersion(0, 2);
Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
Firmata.attach(REPORT_ANALOG, reportAnalogCallback);
servo9.attach(9);
servo10.attach(10);
Firmata.begin();
}
/*==============================================================================
* LOOP()
*============================================================================*/
void loop()
{
while(Firmata.available())
Firmata.processInput();
if(timer0_overflow_count > nextExecuteTime) {
nextExecuteTime = timer0_overflow_count + 19; // run this every 20ms
for(analogPin=0;analogPin<TOTAL_ANALOG_PINS;analogPin++) {
if( analogInputsToReport & (1 << analogPin) )
Firmata.sendAnalog(analogPin, analogRead(analogPin));
}
}
}
Error Statements:
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: typedef 'callbackFunction' is initialized (use __typeof__ instead)
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: expected primary-expression before 'int'
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: typedef 'sysexCallbackFunction' is initialized (use __typeof__ instead)
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'argv' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:81: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:81: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:86: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:87: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:88: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:90: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: 'callbackFunction' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:96: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:97: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'sysexCallbackFunction' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'void FirmataClass::attach(int, int)' cannot be overloaded
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: with 'void FirmataClass::attach(int, int)'
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:99: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:104: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:105: error: ISO C++ forbids declaration of 'byte' with no type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:105: error: expected ';' before '*' token
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:107: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:108: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:109: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:110: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:112: error: 'boolean' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:115: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:116: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:117: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:118: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:119: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:122: error: 'sysexCallbackFunction' does not name a type
In function 'void setup()':
PD Sound
Hello!
I just came from a 4 day workshop about PD. I liked it so much that I already bought arduino, a couple of sensors and a webcam.
Anyway I was working on college computers and everything was ready to use, but now I installed it on my pc and I can't read wave files from it.
The error is:
"signal outlet connect to nonsignal inlet", and it happens every time I try to play a .wav file, when I select "compute audio" on console, when I select "Audio on", and every time I touch on "audio settings" or "ASIO".
I run the "test audio and MIDI" and I can hear both test signals. I've tried using some example patches in the 3.audio.examples folder and I could hear pc sounds.
Happens either I use GEM or not.
I made a file that has a .wav and I'm using the webcam as motion sensor to change the sound pitch. As I try to play the .wav, the console shows that error.
The .wav file is in the same folder as the PD file ofc.
I searched the forum and google for solutions:
@Thor said:
Go to Preferences > Audio Settings
then choose your built-in-audio or whatever device you use
I have noticed that when I use my isight with GEM, PD sometimes defaults to use it as input AND output (!)
try that and I bet you will be ok
=didnt work
@nickj said:
If you have a camera plugged in (ichat) , go into preferences -> audio settings then untick the input (isight) device 1.
=didnt work - dont have ichat cam but still I checked if it had any sound input and it doesnt.
@http://en.flossmanuals.net/PureData/TroubleShooting said:
I get the message "error: signal outlet connect to nonsignal inlet (ignored)" when I open a patch.
This error tends to go with the previous error "I get the message '... couldn't create' when I open a patch...". Often this error means that an object has failed to create, usually because it uses an External Object which is not available in the current installation or configuration of PD. PD will preserve the location and connections of an object which fails to create, but it will not function. You can use the "Find last error" function under the "Find" menu to track down which objects caused errors. PD will treat uncreated objects as Dataflow Objects even if they were originally Audio Objects, so this error will follow the previous one. Please see the relevant sections in the "Configuring PD" chapter for information about setting the "Path" and "Startup" options. If the External is not available in PD Extended, you may need to install it yourself.
now I ran out of ideas and just decided to ask...
I have:
- Pd-0.40.3-extended
- Win XP SP2
- Vimicro USB pc cam (VC0305)
- Realtek AC'97 Audio
If anyone can help, thx in advance.
Interfacing PD with the Arduino ... how?
i got a problem in uploading the file to the board. ( I have press play, same error found. When I press upload to I/O, below error found)
anyone can help?
thx
////////////////////////////
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: typedef 'callbackFunction' is initialized (use __typeof__ instead)
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: expected primary-expression before 'int'
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: typedef 'sysexCallbackFunction' is initialized (use __typeof__ instead)
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'argv' was not declared in this scope
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:81: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:81: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:86: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:87: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:88: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:90: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: 'callbackFunction' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:96: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:97: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'sysexCallbackFunction' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'void FirmataClass::attach(int, int)' cannot be overloaded
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: with 'void FirmataClass::attach(int, int)'
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:99: error: 'byte' has not been declared
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:104: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:105: error: ISO C++ forbids declaration of 'byte' with no type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:105: error: expected ';' before '*' token
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:107: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:108: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:109: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:110: error: 'byte' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:112: error: 'boolean' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:115: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:116: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:117: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:118: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:119: error: 'callbackFunction' does not name a type
/Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:122: error: 'sysexCallbackFunction' does not name a type
In function 'void setup()':
Crack
> Andy, *astonishing* sounds.
> 100% Pure Pure Pure PureData?
> (allowed answers: YES!!!).
Thanks very much Alberto, as you surmise...yes indeed. Not just pure Pd but very efficient Pd. One tries to re-factor the equations and models, transforming between methods and looking for shortcuts, boiling each one down to the least number of operations. There are nicer sounds, but these ones are developed to use low CPU and run multiple instances in real-time.
> About EA: which games?
Truth be told, I don't know. If I did I would probably have to observe NDA anyway. Which is one reason I'm not working on them, because I am going to publish all my methods in a coherent and structured thesis - it's the best strategy to push procedural audio forwards for all. Maybe it will be personally rewarding later down the line. But I do talk to leading developers and R&D people, and slowly working towards a strategic consensus. All the same, I'd be rather cautious about saying who is doing what, games people like to keep a few surprises back
> So this means designing an audio engine which is
> both responsive to the soundtrack/score, as well as
> to the actual action and human input of the game?
> Why wouldn't PD be the natural choice?
Pd _would_ be the natural choice. Not least of all, it's BSD type license means developers can just embed it. But it has competitors, (far less capable ones imho) that have established interests in the game audio engine market including a vast investment of skills (game sound designers are already familiar with them). So rather than let Pd simply blow them out of the water one needs a more inclusive approach by saying "hey guys..you should be embedding Pd into your engines"
Many hard decisions are not technical, but practical. For example you can't just replace all sample based assets, and you need to plan and build toolchains that fit into existing practices. Games development is big team stuff, so Pd type procedural audio has to be phased in quite carefully. Also, we want to avoid hype. The media have a talent for siezing on any new technological development and distorting it to raise unrealistic expectations. They call it "marketing", but it's another word for uninformed bullshit. This would be damaging to procedural audio if the marketers hyped up a new title as "revolutionary synthetic sound" and everyone reviewed it as rubbish. So the trick is to stealthily sneak it in under the media radar - the best we can hope for with procedural audio to begin with is that nobody really notices Then the power will be revealed.
> Obi, I've noticed that a lot of your tutorials and
> patches are based on generative synthesis/modelling,
> rather than samples. Is this the standard in the game world?
No. The standard is still very much sample based, which is the crux of the whole agenda. Sample based game audio is extremely limited from an interactive POV, even where you use hybrid granular methods. My inspiration and master, a real Jedi who laid the foundations for this project is a guy called Perry Cook, he's the one who wrote the first book on procedural audio, but it
was too ahead of the curve. Now we have multi-core CPU's there's actually a glut of cycles and execs running around saying "What are we going to use all this technology for?". The trick in moving from Perrys models to practical synthetic game audio is all about parameterisation, hooking the equations into the physics of the situation. A chap called Kees van den Doel did quite a lot of the groundwork that inspired me to take a mixed spectral/physical approach to parameterisation. This is how I break down a model and reconstruct it piecewise.
> Is this chiefly to save space on the media?
Not the main reason. But it does offer a space efficiency of many orders of magnitude!!!! Just as a bonus I don't think many games developers have realised or understood this profound fact. Procedural methods _have_ been used in gaming, for example Elite was made possible by tricks that came from the demo scene to create generative worlds, and this has been extended in Spore. But you have to remember that storage is also getting cheaper, so going in the other direction you have titles like Heavenly Sword that use 10GB of raw audio data. The problem with this approach is that it forces the gameplay to take a linear narrative, they become pseudo-films, not games.
> Cpu cycles?
No, the opposite. You trade off space for cycles. It is much much more CPU intensive than playing back samples.
> Or is it simply easier to create non-linear sound design
> this way?
Yes. In a way, it's the only way to create true non-linear (in the media sense) sound design. Everything else is a script over a matrix of pre-determined possibilities.
oops rambled again... back to it...
a.
Soundflower to Decrease CPU usage for those with Firewire interfaces
Hey Guys,
I've noticed, consistently, that if I select my MOTU 828mkII as both Audio In and Audio Out in PD .39extended (newest build from Hans in daily builds, RC4) my CPU usage jumps to almost double as compared to CPU usage with my Built In audio as Audio In and Audio Out. I have not seen this behaviour in any other Mac OS X application.
I've found a way around this.
If you're a Mac OS X user, go ahead and download Soundflower from Cycling74's website: http://www.cycling74.com/downloads/soundflower
Soundflower mirrors Jack in function, but is only available for OS X. It creates a virtual 2 channel and 16 channel interface in your OS so you can route audio between applications and out the soundcard.
To work around this CPU usage bug with firewire interfaces, select Soundflower 2ch or Soundflower 16ch as your default Audio Out / Audio In within Pd. Then within the Soundflowerbed menu, select your firewire interface as your soundflower output. I don't know why this works, but it does. You can now decrease your CPU usage up to about 2x when using a firewire interface. Screenshots follow.
Builtin audio OR soundflower as output while playing the 7. datastructure sequencer demo
Firewire as audio output while playing the 7. datastructure sequencer demo
Soundflower config