We&#39;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.&nbsp; Another poster showed an example of modifying that to trigger with envelope/volume changes.&nbsp; Of course, we&#39;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?&nbsp; This is the missing link in the puzzle - heck, i&#39;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 &lt;<a href="mailto:olivier@heinry.fr">olivier@heinry.fr</a>&gt; 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>
&quot;Hugh Sung&quot; &lt;<a href="mailto:hughsung@gmail.com">hughsung@gmail.com</a>&gt; 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>
&gt; Here&#39;s one scenario i&#39;d like to see:<br>
&gt;<br>
&gt; 1. &nbsp;Pedal assigned [PgDn] keystroke within Liquid Media, which triggers<br>
&gt; scene change<br>
&gt; 2. &nbsp;PD outputs letters A-Z, depending on either volume or pitch frequency<br>
&gt; ranges input from audio source (microphone into acoustic piano)<br>
&gt; 3. &nbsp;A given scene within Liquid Media would then interpret the PD-generated<br>
&gt; keystrokes and trigger image events based on letter key &quot;depressed&quot; by PD.<br>
&gt;<br>
&gt; You&#39;d have the ease of image generation (a la Powerpoint) with the speed and<br>
&gt; power of PD to map the sound of acoustic music. &nbsp;Just my newbie imagination<br>
&gt; going here.<br>
&gt;<br>
&gt; On Tue, Apr 29, 2008 at 6:46 PM, Hugh Sung &lt;<a href="mailto:hughsung@gmail.com">hughsung@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; The pedals basically operate as programmable usb keyboard extensions,<br>
&gt; &gt; where you can custom assign any keystroke to any pedal (up to 12). &nbsp;I&#39;m<br>
&gt; &gt; hoping that by assigning a certain set of keys to the pedals and reserving<br>
&gt; &gt; the rest for PD to control that everything can simply work together, if PD<br>
&gt; &gt; can output keyboard letters/numbers. &nbsp;Everything would run from the same<br>
&gt; &gt; computer. &nbsp;Again, please forgive me if i sound completely ignorant regarding<br>
&gt; &gt; what&#39;s possible with PD...<br>
&gt; &gt; Many thanks again!<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Tue, Apr 29, 2008 at 6:13 PM, Andrew Turley &lt;<a href="mailto:aturley@acm.org">aturley@acm.org</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; &gt; The [fiddle~] and [bonk~] objects should let you capture all of the<br>
&gt; &gt; &gt; information that you are looking for. As far as getting that<br>
&gt; &gt; &gt; information from Pd to Liquid Media, that may be the tricky part. Your<br>
&gt; &gt; &gt; current pedals are sending keystrokes straight to Liquid Media. Do you<br>
&gt; &gt; &gt; know if there is a way to control Liquid Media via MIDI messages, or<br>
&gt; &gt; &gt; some sort of message sent via a socket connection (maybe OSC)? If so,<br>
&gt; &gt; &gt; then you might be able to use Pd to capture your pedal input and then<br>
&gt; &gt; &gt; combine that with the information from [fiddle~] and/or [bonk~] to<br>
&gt; &gt; &gt; send the appropriate information to Liquid Media. If the only way to<br>
&gt; &gt; &gt; control Liquid Media is through keystrokes, then you might need to<br>
&gt; &gt; &gt; write some software that intercepts the keystrokes from the pedals and<br>
&gt; &gt; &gt; changes them depending on what is going on in Pd.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; andy<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Tue, Apr 29, 2008 at 12:18 PM, Hugh Sung &lt;<a href="mailto:hughsung@gmail.com">hughsung@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; I&#39;m using a presentation program called &quot;Liquid Media&quot;, sort of like<br>
&gt; &gt; &gt; &gt; Powerpoint on steroids. &nbsp;Up to this point i had been using multiple<br>
&gt; &gt; &gt; foot<br>
&gt; &gt; &gt; &gt; pedals assigned to different keystrokes to trigger visual cues, like<br>
&gt; &gt; &gt; video<br>
&gt; &gt; &gt; &gt; clips, animated GIFs and the like, during live classical music piano<br>
&gt; &gt; &gt; &gt; recitals.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I&#39;d like to incorporate the dynamic capabilities of realtime visual<br>
&gt; &gt; &gt; sync,<br>
&gt; &gt; &gt; &gt; with the ability to easily &quot;change the scene&quot;, as it were. &nbsp;i&#39;m hoping<br>
&gt; &gt; &gt; that<br>
&gt; &gt; &gt; &gt; someone can help me come up with a combined solution where PD acts as<br>
&gt; &gt; &gt; an<br>
&gt; &gt; &gt; &gt; audio trigger controller, triggering keystroke events based on pitch<br>
&gt; &gt; &gt; ranges,<br>
&gt; &gt; &gt; &gt; dynamic peaks and rhythmic events, and Liquid Media accepts those<br>
&gt; &gt; &gt; &gt; PD-generated keystrokes to trigger correlating visual cues. &nbsp;Each<br>
&gt; &gt; &gt; scene<br>
&gt; &gt; &gt; &gt; would comprise of specific trigger-able events, and the foot switch<br>
&gt; &gt; &gt; would<br>
&gt; &gt; &gt; &gt; allow for a manual &quot;change of scene&quot;. &nbsp;i&#39;m hoping to accomplish two<br>
&gt; &gt; &gt; things<br>
&gt; &gt; &gt; &gt; with this combined approach:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; 1. &nbsp;make it a little easier to incorporate visuals synced to audio<br>
&gt; &gt; &gt; events<br>
&gt; &gt; &gt; &gt; 2. &nbsp;allow for easy scene transitions, to better compliment the<br>
&gt; &gt; &gt; &quot;narrative&quot;<br>
&gt; &gt; &gt; &gt; structure of classical compositions<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hope this makes sense...thanks all for your input so far! (and<br>
&gt; &gt; &gt; patience!)<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Tue, Apr 29, 2008 at 2:45 PM, Dan Wilcox &lt;<a href="mailto:danomatika@gmail.com">danomatika@gmail.com</a>&gt;<br>
&gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; As for forwarding keypresses and mouse events to an application ...<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; I have done this in Windows to control FLStudio (aka FruityLoops) by<br>
&gt; &gt; &gt; &gt; sending menu events and keypresses through python windows scripting,<br>
&gt; &gt; &gt; &gt; pywinauto, and osc in python.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; I have info and code on my website. &nbsp;It should still work but it&#39;s a<br>
&gt; &gt; &gt; bit<br>
&gt; &gt; &gt; &gt; old (2006) and I don&#39;t use Windows anymore.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Tue, 2008-04-29 at 13:05 -0400, marius schebella wrote:<br>
&gt; &gt; &gt; &gt; &gt; fiddle~ comes with pd (look in the &quot;extra&quot; folder), there is a help<br>
&gt; &gt; &gt; &gt; &gt; patch that will explain how it works.<br>
&gt; &gt; &gt; &gt; &gt; hope this helps.<br>
&gt; &gt; &gt; &gt; &gt; marius.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Hugh Sung wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; i&#39;m not familiar with that program - can you provide a link to<br>
&gt; &gt; &gt; fiddle~,<br>
&gt; &gt; &gt; &gt; &gt; &gt; or any other program that can easily do what i&#39;m looking for with<br>
&gt; &gt; &gt; all<br>
&gt; &gt; &gt; &gt; &gt; &gt; the various parameters?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Many thanks!<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On Tue, Apr 29, 2008 at 12:50 PM, marius schebella<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href="mailto:marius.schebella@gmail.com">marius.schebella@gmail.com</a> &lt;mailto:<a href="mailto:marius.schebella@gmail.com">marius.schebella@gmail.com</a>&gt;&gt;<br>
&gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hugh Sung wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Actually, this isn&#39;t for speech recognition - i&#39;m trying to come<br>
&gt; &gt; &gt; &gt; &gt; &gt; up with a simple way to use key triggers to activate visuals.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; For example: if the piano plays A440, i&#39;m presuming PD can be<br>
&gt; &gt; &gt; &gt; &gt; &gt; configured to recognize that pitch with a microphone input and<br>
&gt; &gt; &gt; &gt; &gt; &gt; then echo out a text string - the letter &quot;A&quot;, perhaps.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; in that case, you best use fiddle~. what&#39;s the other program? does<br>
&gt; &gt; &gt; &gt; &gt; &gt; it accept network communication? then you can send the letters<br>
&gt; &gt; &gt; over<br>
&gt; &gt; &gt; &gt; &gt; &gt; tcp or udp connection (netsend).<br>
&gt; &gt; &gt; &gt; &gt; &gt; marius.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hugh Sung<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href="http://www.hughsung.com" target="_blank">www.hughsung.com</a> &lt;<a href="http://www.hughsung.com" target="_blank">http://www.hughsung.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href="http://www.TabletPCMusician.com" target="_blank">www.TabletPCMusician.com</a> &lt;<a href="http://www.TabletPCMusician.com" target="_blank">http://www.TabletPCMusician.com</a>&gt;<br>

&gt; &gt; &gt; &gt; &gt; &gt; <a href="http://www.musicmeetstech.com" target="_blank">www.musicmeetstech.com</a> &lt;<a href="http://www.musicmeetstech.com" target="_blank">http://www.musicmeetstech.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; ---<br>
&gt; &gt; &gt; &gt; &gt; Dan Wilcox<br>
&gt; &gt; &gt; &gt; &gt; <a href="http://robotcowboy.com" target="_blank">robotcowboy.com</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; Hugh Sung<br>
&gt; &gt; &gt; &gt; <a href="http://www.hughsung.com" target="_blank">www.hughsung.com</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; <a href="http://www.TabletPCMusician.com" target="_blank">www.TabletPCMusician.com</a><br>
&gt; &gt; &gt; &gt; <a href="http://www.musicmeetstech.com" target="_blank">www.musicmeetstech.com</a><br>
&gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &nbsp;<a href="mailto:PD-list@iem.at">PD-list@iem.at</a> mailing list<br>
&gt; &gt; &gt; &gt; &nbsp;UNSUBSCRIBE and account-management -&gt;<br>
&gt; &gt; &gt; &gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; <a href="mailto:PD-list@iem.at">PD-list@iem.at</a> mailing list<br>
&gt; &gt; &gt; UNSUBSCRIBE and account-management -&gt;<br>
&gt; &gt; &gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Hugh Sung<br>
&gt; &gt; <a href="http://www.hughsung.com" target="_blank">www.hughsung.com</a><br>
&gt; &gt; <a href="http://www.TabletPCMusician.com" target="_blank">www.TabletPCMusician.com</a><br>
&gt; &gt; <a href="http://www.musicmeetstech.com" target="_blank">www.musicmeetstech.com</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<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>