I have many years worth of work on acoustic signal processing in the form of matlab codes and unix shell scripts. I would like to build an interface so that I can get numerical output from a MIDI trigger and feed those numbers into these scripts. Those scripts are set up to write .wav files which can be easily re-loaded into pd.
It seems that pd offers a perfect way to get a numerical value from a MIDI interface, but after a few hours scanning tutorials and message boards I don't see an obvious way to feed this number into a shell script. (Is there not an object that can execute a command at the command line interface when it recieves a bang? That is all I need!)
In effect I would like to use my pre-existing scripts as externals, but I don't want to have to migrate all my codes into C. (I know even less about coding in C than coding in pd).
My apologies if this query is trivial or non-sensical. I am very new to the world of Pure Data and I'd be appreciative if someone would just let me know if this idea is feasible or not.
Yeah, I keep meaning to do that but I feel I should clean them up first. I am new to PD and, though I am learning fast, these are my first scripts and they are still a little buggy and cumbersome. But I'll re-double my efforts to get them de-bugged and will upload them soon. If I haven't put anything up in a week remind me again!
The left output of shell returns the terminal response to whatever commands were entered. I have found this works quite well if the terminal command only returns one line i.e.
[date +%Y.%.m.%d (
Nicely returns the terminal output into your PD workspace. If you use a terminal command that return multiple lines (i.e. ls), then only the first returned line appears in your symbol box at the end. There may be a way around this but I am pretty new to PD and havent found it yet.
For more involved commands I wrote a little shell script that I can execute from PD which executes the command I want and then writes the output to a text file. Then I load the textfile contents into PD with [textfile]
With some playing around you could probably get your desired voices into PD via one of those approaches. Let me know if it work or if any other problems crop up. Happy hacking!
(oh, and you may be aware of this already but this but whenever you enter a command into [shell] it is executed from the root directory, not the directory where the pd-patch is, so you need full path names for everything you do -- that took me a frustrating hour to figure out)
Many thanks for the prompt reply!
[Shell] seems perfect for my use but when I try to create I receive the following message:
... couldn't create
Is [shell] a standard feature? Perhaps I need to re-install PD?
Btw, [netsend] / [netreceive] are working well and I can certainly use those for my project if I can't get the [shell] object to work. Thanks for the info!