We're having a neat discussion about this in the Pure Data forum now:<br><a href="http://puredata.hurleur.com/sujet-1686-fiddle-piano">http://puredata.hurleur.com/sujet-1686-fiddle-piano</a><br><br>jon2211 came up with a neat patch that demonstrates how well fiddle~ recognizes notes played on a piano within a given range, triggering a key text output. Another poster showed an example of modifying that to trigger with envelope/volume changes. Of course, we're still stuck with how to port the key stroke messages to an external application.<br>
<br>Would someone be willing to write up a python script that can intercept Pure Data text echoes and forward them to other concurrently running applications, like PowerPoint or Word? This is the missing link in the puzzle - heck, i'd even be willing to pay someone if they could come up with a useful workaround!<br>
<br>Keeping my fingers crossed...<br>Many thanks as always!<br><br><div class="gmail_quote">On Wed, Apr 30, 2008 at 6:11 AM, Olivier Heinry <<a href="mailto:olivier@heinry.fr">olivier@heinry.fr</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Le Tue, 29 Apr 2008 18:50:33 -0400,<br>
"Hugh Sung" <<a href="mailto:hughsung@gmail.com">hughsung@gmail.com</a>> a écrit :<br>
<br>
Python might bring you the right solution:<br>
<br>
<a href="http://www.rutherfurd.net/python/sendkeys/" target="_blank">http://www.rutherfurd.net/python/sendkeys/</a><br>
<br>
You can either send your letters/keystrokes from inside pd using the pyext external that loads your python script<br>
<br>
or send messages via OSC to a python script that implements the ixi software simpleOSC lib<br>
<br>
<a href="http://www.ixi-software.net/content/backyard.html" target="_blank">http://www.ixi-software.net/content/backyard.html</a><br>
<br>
++<br>
<font color="#888888">O.<br>
</font><div><div></div><div class="Wj3C7c"><br>
<br>
> Here's one scenario i'd like to see:<br>
><br>
> 1. Pedal assigned [PgDn] keystroke within Liquid Media, which triggers<br>
> scene change<br>
> 2. PD outputs letters A-Z, depending on either volume or pitch frequency<br>
> ranges input from audio source (microphone into acoustic piano)<br>
> 3. A given scene within Liquid Media would then interpret the PD-generated<br>
> keystrokes and trigger image events based on letter key "depressed" by PD.<br>
><br>
> You'd have the ease of image generation (a la Powerpoint) with the speed and<br>
> power of PD to map the sound of acoustic music. Just my newbie imagination<br>
> going here.<br>
><br>
> On Tue, Apr 29, 2008 at 6:46 PM, Hugh Sung <<a href="mailto:hughsung@gmail.com">hughsung@gmail.com</a>> wrote:<br>
><br>
> > The pedals basically operate as programmable usb keyboard extensions,<br>
> > where you can custom assign any keystroke to any pedal (up to 12). I'm<br>
> > hoping that by assigning a certain set of keys to the pedals and reserving<br>
> > the rest for PD to control that everything can simply work together, if PD<br>
> > can output keyboard letters/numbers. Everything would run from the same<br>
> > computer. Again, please forgive me if i sound completely ignorant regarding<br>
> > what's possible with PD...<br>
> > Many thanks again!<br>
> ><br>
> ><br>
> > On Tue, Apr 29, 2008 at 6:13 PM, Andrew Turley <<a href="mailto:aturley@acm.org">aturley@acm.org</a>> wrote:<br>
> ><br>
> > > The [fiddle~] and [bonk~] objects should let you capture all of the<br>
> > > information that you are looking for. As far as getting that<br>
> > > information from Pd to Liquid Media, that may be the tricky part. Your<br>
> > > current pedals are sending keystrokes straight to Liquid Media. Do you<br>
> > > know if there is a way to control Liquid Media via MIDI messages, or<br>
> > > some sort of message sent via a socket connection (maybe OSC)? If so,<br>
> > > then you might be able to use Pd to capture your pedal input and then<br>
> > > combine that with the information from [fiddle~] and/or [bonk~] to<br>
> > > send the appropriate information to Liquid Media. If the only way to<br>
> > > control Liquid Media is through keystrokes, then you might need to<br>
> > > write some software that intercepts the keystrokes from the pedals and<br>
> > > changes them depending on what is going on in Pd.<br>
> > ><br>
> > > andy<br>
> > ><br>
> > > On Tue, Apr 29, 2008 at 12:18 PM, Hugh Sung <<a href="mailto:hughsung@gmail.com">hughsung@gmail.com</a>> wrote:<br>
> > > > I'm using a presentation program called "Liquid Media", sort of like<br>
> > > > Powerpoint on steroids. Up to this point i had been using multiple<br>
> > > foot<br>
> > > > pedals assigned to different keystrokes to trigger visual cues, like<br>
> > > video<br>
> > > > clips, animated GIFs and the like, during live classical music piano<br>
> > > > recitals.<br>
> > > ><br>
> > > > I'd like to incorporate the dynamic capabilities of realtime visual<br>
> > > sync,<br>
> > > > with the ability to easily "change the scene", as it were. i'm hoping<br>
> > > that<br>
> > > > someone can help me come up with a combined solution where PD acts as<br>
> > > an<br>
> > > > audio trigger controller, triggering keystroke events based on pitch<br>
> > > ranges,<br>
> > > > dynamic peaks and rhythmic events, and Liquid Media accepts those<br>
> > > > PD-generated keystrokes to trigger correlating visual cues. Each<br>
> > > scene<br>
> > > > would comprise of specific trigger-able events, and the foot switch<br>
> > > would<br>
> > > > allow for a manual "change of scene". i'm hoping to accomplish two<br>
> > > things<br>
> > > > with this combined approach:<br>
> > > ><br>
> > > > 1. make it a little easier to incorporate visuals synced to audio<br>
> > > events<br>
> > > > 2. allow for easy scene transitions, to better compliment the<br>
> > > "narrative"<br>
> > > > structure of classical compositions<br>
> > > ><br>
> > > > Hope this makes sense...thanks all for your input so far! (and<br>
> > > patience!)<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > On Tue, Apr 29, 2008 at 2:45 PM, Dan Wilcox <<a href="mailto:danomatika@gmail.com">danomatika@gmail.com</a>><br>
> > > wrote:<br>
> > > > ><br>
> > > > > As for forwarding keypresses and mouse events to an application ...<br>
> > > > ><br>
> > > > > I have done this in Windows to control FLStudio (aka FruityLoops) by<br>
> > > > sending menu events and keypresses through python windows scripting,<br>
> > > > pywinauto, and osc in python.<br>
> > > > ><br>
> > > > > I have info and code on my website. It should still work but it's a<br>
> > > bit<br>
> > > > old (2006) and I don't use Windows anymore.<br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > > On Tue, 2008-04-29 at 13:05 -0400, marius schebella wrote:<br>
> > > > > fiddle~ comes with pd (look in the "extra" folder), there is a help<br>
> > > > > patch that will explain how it works.<br>
> > > > > hope this helps.<br>
> > > > > marius.<br>
> > > > ><br>
> > > > > Hugh Sung wrote:<br>
> > > > > > i'm not familiar with that program - can you provide a link to<br>
> > > fiddle~,<br>
> > > > > > or any other program that can easily do what i'm looking for with<br>
> > > all<br>
> > > > > > the various parameters?<br>
> > > > > ><br>
> > > > > > Many thanks!<br>
> > > > > ><br>
> > > > > > On Tue, Apr 29, 2008 at 12:50 PM, marius schebella<br>
> > > > > > <<a href="mailto:marius.schebella@gmail.com">marius.schebella@gmail.com</a> <mailto:<a href="mailto:marius.schebella@gmail.com">marius.schebella@gmail.com</a>>><br>
> > > wrote:<br>
> > > > > ><br>
> > > > > > Hugh Sung wrote:<br>
> > > > > ><br>
> > > > > > Actually, this isn't for speech recognition - i'm trying to come<br>
> > > > > > up with a simple way to use key triggers to activate visuals.<br>
> > > > > ><br>
> > > > > > For example: if the piano plays A440, i'm presuming PD can be<br>
> > > > > > configured to recognize that pitch with a microphone input and<br>
> > > > > > then echo out a text string - the letter "A", perhaps.<br>
> > > > > ><br>
> > > > > ><br>
> > > > > > in that case, you best use fiddle~. what's the other program? does<br>
> > > > > > it accept network communication? then you can send the letters<br>
> > > over<br>
> > > > > > tcp or udp connection (netsend).<br>
> > > > > > marius.<br>
> > > > > ><br>
> > > > > ><br>
> > > > > ><br>
> > > > > ><br>
> > > > > > --<br>
> > > > > > Hugh Sung<br>
> > > > > > <a href="http://www.hughsung.com" target="_blank">www.hughsung.com</a> <<a href="http://www.hughsung.com" target="_blank">http://www.hughsung.com</a>><br>
> > > > > > <a href="http://www.TabletPCMusician.com" target="_blank">www.TabletPCMusician.com</a> <<a href="http://www.TabletPCMusician.com" target="_blank">http://www.TabletPCMusician.com</a>><br>
> > > > > > <a href="http://www.musicmeetstech.com" target="_blank">www.musicmeetstech.com</a> <<a href="http://www.musicmeetstech.com" target="_blank">http://www.musicmeetstech.com</a>><br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > > ---<br>
> > > > > Dan Wilcox<br>
> > > > > <a href="http://robotcowboy.com" target="_blank">robotcowboy.com</a><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > --<br>
> > > > Hugh Sung<br>
> > > > <a href="http://www.hughsung.com" target="_blank">www.hughsung.com</a><br>
> > > ><br>
> > > > <a href="http://www.TabletPCMusician.com" target="_blank">www.TabletPCMusician.com</a><br>
> > > > <a href="http://www.musicmeetstech.com" target="_blank">www.musicmeetstech.com</a><br>
> > > > _______________________________________________<br>
> > > > <a href="mailto:PD-list@iem.at">PD-list@iem.at</a> mailing list<br>
> > > > UNSUBSCRIBE and account-management -><br>
> > > > <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
> > > ><br>
> > > ><br>
> > ><br>
> > > _______________________________________________<br>
> > > <a href="mailto:PD-list@iem.at">PD-list@iem.at</a> mailing list<br>
> > > UNSUBSCRIBE and account-management -><br>
> > > <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
> > ><br>
> ><br>
> ><br>
> ><br>
> > --<br>
> > Hugh Sung<br>
> > <a href="http://www.hughsung.com" target="_blank">www.hughsung.com</a><br>
> > <a href="http://www.TabletPCMusician.com" target="_blank">www.TabletPCMusician.com</a><br>
> > <a href="http://www.musicmeetstech.com" target="_blank">www.musicmeetstech.com</a><br>
> ><br>
><br>
><br>
><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Hugh Sung<br><a href="http://www.hughsung.com">www.hughsung.com</a><br><a href="http://www.TabletPCMusician.com">www.TabletPCMusician.com</a><br><a href="http://www.musicmeetstech.com">www.musicmeetstech.com</a>