-
michaelallen
I've had issues getting an arduino to work right with PD on my Raspberry Pi. Basically PD won't start up right with the arduino plugged in from the command line without some finesse.
I turn the Pi on, start Jack, then start PD-Extended to open a patch. The patch has a load bang to a comport object with the device name and baud rate. This patch has a the CPU load meter set to print, and the value of several pots set to print through the arduino. The first time the patch will freeze:
ccrma@satellite ~ $ pd-extended -nogui -jack -open copy/effectpatch1.pd
verbose(5): Using /usr/lib/pd-extended/startup as startup.
verbose(4): Loading /usr/lib/pd-extended/startup/0.libdir.pd_linux
verbose(3): libdir loader 1.9
verbose(3): compiled on Oct 4 2012 at 15:46:18
verbose(3): compiled against Pd version 0.43.3.extended-20121004
verbose(4): Loading /usr/lib/pd-extended/startup/1.list.pd_linux
verbose(4): Loading extra in /usr/lib/pd-extended/startup/extra
verbose(3): libdir_loader: added 'extra' to the global objectclass path
verbose(14): Loaded libdir 'extra' from '/usr/lib/pd-extended/extra/extra'
verbose(4): Loading pdlua in /usr/lib/pd-extended/startup/pdlua
verbose(3): pdlua 0.7.1 (GPL) 2012 Martin Peach, based on
verbose(3): lua 0.6~svn (GPL) 2008 Claude Heiland-Allen <claudiusmaximus@goto10.org>
verbose(3): pdlua: compiled for pd-0.43 on Oct 4 2012 15:46:20
verbose(4): Loading tclpd in /usr/lib/pd-extended/startup/tclpd
verbose(3): tclpd loader v0.3.0
verbose(3): tclpd: trying to load /usr/lib/pd-extended/extra/tclpd/tclpd.tcl...
verbose(3): tclpd: loaded /usr/lib/pd-extended/extra/tclpd/tclpd.tcl
verbose(4): Loading vanilla in /usr/lib/pd-extended/startup/vanilla
verbose(3): libdir_loader: added 'vanilla' to the global objectclass path
verbose(14): Loaded libdir 'vanilla' from '/usr/lib/pd-extended/extra/vanilla'@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ the zexy external 2.2.5 @
@ (l) forum::für::umläute @
@ iem @ kug @
@ compiled: May 13 2012 @
@ send me a 'help' message @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@matchbox: OSC-pattern matching code (c) Matt Wright, CNMAT
verbose(3): libdir_loader: added 'cyclone' to the global objectclass path
verbose(14): Loaded libdir 'cyclone' from '/usr/lib/pd/extra/cyclone'
comport - PD external for unix/windows
LGPL 1998-2006, Winfried Ritsch and others (see LICENSE.txt)
Institute for Electronic Music - Graz
expr, expr~, fexpr~ version 0.4 under GNU General Public License
get_baud_ratebits: 9600
set_baudrate baudbits: 13^CPd: signal 2
Until I close it with Control-C. This takes about 60 seconds to close the program. Then I fire it up and the whole thing loads and begins printing the CPU load as I want, but not the pots. At this point I can keep closing and restarting PD and get the same result. Now, if I unplug the arduino and reconnect it, and start PD everything fires right up!
Any ideas why it won't load up from the start?
-
michaelallen
I modified the looper patch from GuitarExtended, to be used with footswitches to record and overdub.
One footswitch upon first click will begin recording and begin setting the tempo to determine the length of the table. Upon second click that footswitch stops recording and sets the table size. A second footswitch turns on or off the loop. If the loop is on, the first footswitch will begin recording overdubs. If the loop is off, pressing the first footswitch again will begin the process aknew, erasing the table and resetting the size.
I am getting clicking each time I record the loop. I'm guessing this is because I'm setting the table and the same time. Any ideas how to get around this?
-
michaelallen
Trying to run a patch with pd-extended on Raspberry pi running CCRMA which is a debian distribution i believe.
This patch connects to a teensy via usb. Program works great on my mac, i'm getting pots and switch input. plug the teensy into the RPi and run the command and here is the output:
ccrma@satellite ~ $ pd -nogui -open pots_switch.pd
repack 32
error: ... couldn't create
repack 35
error: ... couldn't create
repack 3
error: ... couldn't create
comport - PD external for unix/windows
LGPL 1998-2006, Winfried Ritsch and others (see LICENSE.txt)
Institute for Electronic Music - Graz
get_baud_ratebits: 9600
set_baudrate baudbits: 13If i run X, and open the gui, then the repack objects are not red boxed out. Any ideas?
-
michaelallen
I'm using some pots multiplexed to a Teensy 3.0, and some momentary switches connected straight to the Teensy. With the help of this board and posted examples as well as arduino code from here and the web, I've got the multiplexed pots putting data into PD as well as the switches.
I want to have the momentary switches control toggles, and change toggle state each time the switch is pressed. I have done:
switch input (coming from repack)
|
[sel 1]
|
[toggle]This works to flip the switch upon pressing, but it's like the toggle bounces and doesn't always latch or change state. The X in the toggle will flicker and sometimes it will latch, sometimes not. The same goes for untoggling, sometimes it works, sometimes not. I thought maybe the arduino was bouncing so I added code to debounce for 200ms. Doesn't change anything.
If I don't use the sel and just have a toggle coming from repack, the toggle is solid when I hold the switch down. Only when I try to [sel 1] does it seem to have issues. When the toggle has latched it is solid though.
Initially I was only using one switch so I didn't have the second repack object, just a number coming from the second output of the first repack. Trying to put this number into sel did the same thing.
I've attached the patch and ino if you want to review. Any ideas how to get rid of this bouncing/timing issue?
-
michaelallen
I have tried that, forgot to mention. Even delaying more than a second results in the same behavior.
-
michaelallen
I've edited a little more and gotten it to record and playback without clicking. I set the table size and then created a timer to trigger the tabplay to loop after the end of the first loop recorded.
This loop in it's original state, has a reverse function that now tries to play the full table size in reverse whether or not I filled it with signal. The way the reverse works is beyond me since I didn't create it, but I think since it records the table to a temp table, reverses it and then rewrites it to the original table, I would have to shorten and resize the table according to the timer length?
Any one have any ideas of how I could proceed?
Thanks,
http://www.pdpatchrepo.info/hurleur/GuitarExtended-Looper2.pd
-
michaelallen
It clicks when I first record. If There is a note playing when I start recording it clicks loud. If there is nothing playing the click isn't really noticeable. There is a vline object that ramps the input like you suggest.
Each overdub records without a flaw so I think it has to do with the table resize.
-
michaelallen
solved this by directing pd to load the zexy library upon start
-
michaelallen
I'm running Mavericks and using Arduino IDE to write to a Teensy 3.0. Works great for me. Are you able to program the Arduino with Arduino IDE, and how are you trying to use PD to get info to and from arduino?
-