Dear list,
I am new to PD, and I would like to make some questions, if possible. I've read through the manual that came with the package, but it isn't yet complete, so I couldn't find all the answers.
Is there any reference file for the objects env~, loadbang, switch~, block~?
In the file phasor~.pd(reference folder) the object sig~ is used with the parameter "890". What is the function of this value?
In the objects line, line~ what is the funcion of the right-side input?
Is there any way to clean the command window?
Does PD work with Suse?
I haven't tested audio input yet, because I don't have any external devices connected. Is there any pre-made patch that might test it? I can only use the internal sources (wave or cd)
Is there any way of simulating the input of midi commands without having an external device?
Is it possible to run realtime synthesis with csound in pd? (like it is possible now with max)
In my laptop (compaq presario 700ea, windows xp) I use an external mouse. But this seems to (sooner or later) make the message "audio I/O stuck... closing audio" appear, and the only way to hear sound is reinitializing the program. When the touchpad is used, that problem doesn't happen. I tried -noadc to make it lighter, but it just delays the problem. Next I will try with -nomidiin, but I think it won't be a definite sollution (and for now I don't need inputs yet). Did anybody had that kind of problems so far?
Thanks,
João Miguel Pais
hi all, and happy 2002!
Listas wrote: ...
Is there any reference file for the objects env~, loadbang, switch~, block~?
Help/Pure Documentation->3.audio.examples/45.envelope.follower.pd, Help/Pure Documentation->1.manual/2.4.4.
In the file phasor~.pd(reference folder) the object sig~ is used with the parameter "890". What is the function of this value?
DC signal value. If input into a [phasor~], it is interpreted as frequency in Hz.
In the objects line, line~ what is the funcion of the right-side input?
Ramp time in ms.
Is there any way to clean the command window?
If you start Pd with '... &', you get full control over terminal window.
Does PD work with Suse?
Why not?
I haven't tested audio input yet, because I don't have any external devices connected. Is there any pre-made patch that might test it? I can only use the internal sources (wave or cd)
Help/Test Audio and MIDI.
Is there any way of simulating the input of midi commands without having an external device?
Yes, use a sequencer and a virtual MIDI port.
Is it possible to run realtime synthesis with csound in pd? (like it is possible now with max)
Not yet (but soon...?)
Krzysztof
Am Donnerstag, den 03. Januar 2002 um 17:22:33 Uhr (+0100) schrieb Krzysztof Czaja:
Is it possible to run realtime synthesis with csound in pd? (like it is possible now with max)
Not yet (but soon...?)
For linux there exists a solution:
Over the holidays, I wrote an external for pd, which is similar to the print object, but enabling the output of arbitrary symbols or floats to a file rather than to the message window. Csound for linux has an option to take realtime scorefile input from a pipe. Thus you can create a pipe as pseudo file with the command "mkfifo <filename>", specify this filename as pipe input in csound (using the -L flag) and open this file for writing from within pd (using my fileprint external).
That way, any i-statements or f-statements are interpreted as if they were written in the scorefile. The only difference is that p2 is interpreted as time-offset from the time of arrival at the pipe (which actually is quite handy).
In order to control csound at k-time, there is an OSC port in the unofficial version of csound for linux.
The only problem which remains is to redirect the sound output of csound back to pd. (Since csound blocks the audio-ports, you can't do any signal processing in pd if you don't have multiple soundcards.) Maybe someone has an idea, how to get that done. But I guess this issue has to be attacked from within csound.
the pd object, I wrote, is very small (ca. 6 KB) and I could well imagine its functionality can somehow be obtained with standard pd-objects. But if anybody is interested in it, drop me a note.
The object has one drawback, though: pd strips the first element in a list which is sent to the object, as I used class_addanything in the setup function of the object. There must be a way to get around that, but unfortunately, programming pd-externals is not very well documented and I remember back from the days when I wrote MAX externals that it is a little tricky. If anybody can help me with that it would be great since it doesn't make a lot of sense to send
"foo i1 0 0.3 72 60.3"
when all you want to get printed is
"i1 0 0.3 72 60.3".
Also, extensive error checking isn't implemented.
Yours Orm
hi Orm,
Orm Finnendahl wrote: ...
create a pipe as pseudo file with the command "mkfifo <filename>", specify this filename as pipe input in csound (using the -L flag) and open this file for writing from within pd (using my fileprint external).
it is a very nice idea. Based on the results you get while testing your external, could you somehow assess the jitter you get? Is timing much better than if you would have simply run
<pd-command> 2>&1 | awk '/csound/{print substr($0,9)}' | <csound-command>
and sent score line-events to [print csound] object?
The object has one drawback, though: pd strips the first element in a list which is sent to the object, as I used class_addanything in the setup function of the object. There must be a way to get around that,
Is your implementation based on print class implementation (x_interface.c) and the family of post() routines (s_print.c)?
Krzysztof
Hi Krzysztov (what a nice name!),
Am Samstag, den 05. Januar 2002 um 10:44:52 Uhr (+0100) schrieb Krzysztof Czaja:
it is a very nice idea. Based on the results you get while testing your external, could you somehow assess the jitter you get? Is timing much better than if you would have simply run
<pd-command> 2>&1 | awk '/csound/{print substr($0,9)}' | <csound-command>
and sent score line-events to [print csound] object?
I didn't try this yet, but I could imagine, piping the pd output to awk adds some unnecessary overhead (regexpr scanning etc.). No extensive testing was made with my object so far, but sending noteevents triggered by a metro object didn't create any noticeable jitter.
In general I think, redirection of the pd error stream is not the most elegant way to control csound as other systemrelated notifications and messages end up in awk's nirvana.
The object has one drawback, though: pd strips the first element in a list which is sent to the object, as I used class_addanything in the setup function of the object. There must be a way to get around that,
Is your implementation based on print class implementation (x_interface.c) and the family of post() routines (s_print.c)?
No. Thanks for the hint. I will look into that. I'm just delving into the whole issue of writing externals for pd and got some documentation (like Johannes Zmoelnigs text and Zicarellis text on MSP). The fileprint object actually was only a test as I'm actually planing to port my ancient code resource implementing realtime manageable markov chains in Max (from 1993) to pd and make it available to the public (is anybody interested?). Since this object contains some 4.500 lines I thought, I'd start small...
Yours, Orm
Another way to do this (probably cleaner) would be to use the "netreceive" program, which allows you to pipe "netsend" output to anywhere. This way stderr stays free for its "real" purpose... This is all linux only, of course, I think there are no pipes in Windows.
cheers Miller
On Sat, Jan 05, 2002 at 04:08:38PM +0100, Orm Finnendahl wrote:
Hi Krzysztov (what a nice name!),
Am Samstag, den 05. Januar 2002 um 10:44:52 Uhr (+0100) schrieb Krzysztof Czaja:
it is a very nice idea. Based on the results you get while testing your external, could you somehow assess the jitter you get? Is timing much better than if you would have simply run
<pd-command> 2>&1 | awk '/csound/{print substr($0,9)}' | <csound-command>
and sent score line-events to [print csound] object?
I didn't try this yet, but I could imagine, piping the pd output to awk adds some unnecessary overhead (regexpr scanning etc.). No extensive testing was made with my object so far, but sending noteevents triggered by a metro object didn't create any noticeable jitter.
In general I think, redirection of the pd error stream is not the most elegant way to control csound as other systemrelated notifications and messages end up in awk's nirvana.
The object has one drawback, though: pd strips the first element in a list which is sent to the object, as I used class_addanything in the setup function of the object. There must be a way to get around that,
Is your implementation based on print class implementation (x_interface.c) and the family of post() routines (s_print.c)?
No. Thanks for the hint. I will look into that. I'm just delving into the whole issue of writing externals for pd and got some documentation (like Johannes Zmoelnigs text and Zicarellis text on MSP). The fileprint object actually was only a test as I'm actually planing to port my ancient code resource implementing realtime manageable markov chains in Max (from 1993) to pd and make it available to the public (is anybody interested?). Since this object contains some 4.500 lines I thought, I'd start small...
Yours, Orm