- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
677 lines
29 KiB
HTML
677 lines
29 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Pd Documentation 3</TITLE>
|
|
<meta http-equiv="Content-Type" content="text/html">
|
|
<link rel="stylesheet" type="text/css" href="pdmanual.css" media="screen">
|
|
</HEAD>
|
|
|
|
|
|
<BODY>
|
|
|
|
<H2>Pd Documentation chapter 3: Getting Pd to run</H2>
|
|
|
|
<P>
|
|
<A href="index.htm#s3"> back to table of contents </A>
|
|
<BR><BR>
|
|
</P>
|
|
|
|
<P> The following are basic instructions on how to get Pd installed and running
|
|
on your machine. More details are maintined online on the
|
|
<A href=http://www.pure-data.info/>pure-data.info</A> site.
|
|
|
|
<P>Pd runs under Microsoft Windows, Linux, and MacOS (10.2 or later). How to
|
|
get Pd up and running depends on your operating system, but the overall strategy
|
|
is the same. You must first get and install it, and then untangle whatever
|
|
problems arise in handling audio and MIDI input and output, and finally get Pd
|
|
to meet its real-time obligations reliably.
|
|
|
|
<P> Installation instructions are platform-specfic; the following three
|
|
sections
|
|
will describe what to do for various operating systems you might have.
|
|
In case of trouble also consult the Pd mailing list archive on
|
|
<A href="http://iem.at/mailinglists/pd-list/">
|
|
http://iem.at/mailinglists/pd-list/</A>
|
|
, which often has late-breaking news about configuration problems and solutions.
|
|
The rest of this section describes how to get audio and MIDI to work.
|
|
|
|
<H3> <A name=s1.0> 3.1. Audio and MIDI </A> </H3>
|
|
|
|
<P>
|
|
To test audio and MIDI, start Pd and select "test Audio and MIDI" from the
|
|
"Media" menu. You should see a window like this:
|
|
|
|
<CENTER><P>
|
|
<IMG src="fig11.1.png" ALT="test tone patch">
|
|
</P></CENTER>
|
|
|
|
<P> First, try to get Pd to play a sine wave over your speakers. The "TEST
|
|
TONE" control at top left turns this on and off. Normally, all the output
|
|
channels are turned on so that when you turn the tone on (to a soft -40 dB or a
|
|
louder -20 dB) you should get output on the first eight of your output channels.
|
|
(If you have fewer than 8 output channnels open, the extra
|
|
channels aren't played; and if you have more, this particular patch won't
|
|
use them.)
|
|
|
|
<P> If there's anything wrong, the most likely outcome is that you will hear
|
|
nothing at all. This could be for any of at least three reasons: Pd might
|
|
have failed to open the audio device; the audio card's output volume might
|
|
be set to zero; or your audio system might not be set to amplify the computer
|
|
output.
|
|
|
|
<P> The number boxes labeled "AUDIO INPUT" show the levels of incoming
|
|
audio, in dB, with 100 being maximum. (Incoming signals may clip at
|
|
RMS levels below 100; for instance, a sinusoid clips at about 97 dB.)
|
|
Any DC present in the input (such as you get with cheap audio hardware)
|
|
will show up as level unless you turn on the "input hipass" toggle
|
|
at right; then the DC component is filtered out before metering.
|
|
|
|
<P> To test the quality of audio input and output, turn on "monitor"
|
|
(also at right) which causes the inputs to be played to the outputs at
|
|
unit gain. You should hear a faithful, non-distored copy of whatever is
|
|
sent through the patch.
|
|
|
|
<P> It is easy to get two copies of Pd running by accident; on most machines
|
|
only one at a time may be inputting and outputting sound. (Some copy of Pd
|
|
might have audio or MIDI devices open and prevent the copy you're trying to use
|
|
from getting access to them.) Having extra
|
|
copies of Pd around will also eat CPU cycles uselessly.
|
|
|
|
<P>
|
|
You may be interested in getting only audio output or audio input, or
|
|
you may need both to run simultaneously. By default, Pd will try to run
|
|
both, but if you don't need either input or output, you may find that Pd
|
|
runs more reliably, or at least more efficiently, with the unused direction
|
|
turned off. This may be specified in Pd's command line flags or using the
|
|
"audio settings" dialog panel.
|
|
|
|
<P>
|
|
Depending on your application you will have a more or less stringent latency
|
|
requirement. Ideally, when any input (audio, MIDI, keyboard, network) is
|
|
available, the outputs (in particular the audio output) should react instantly.
|
|
In real life, it is necessary to buffer the audio inputs and outputs, trying
|
|
always to keep some number of milliseconds ahead of real time to prepare for the
|
|
inevitable occasions where the CPU runs off to service some different task
|
|
from Pd. How small this latency can be chosen depends on your OS and your
|
|
audio driver.
|
|
|
|
<P> TIP: If Pd starts up but you get distortion or glitches in the audio
|
|
output, this could be either because the "audio I/O buffer" isn't big enough,
|
|
or else because the CPU load of the patch you're running is too great for the
|
|
machine you have, or else because the ADC and DAC are out of sync or even at
|
|
different sample rates. To test for the first possibility, try increasing the
|
|
audio latency in the command line or the "audio settings" dialog (but see also
|
|
under your OS below.) For the second, start up your favorite performance
|
|
monitor program; and for the third, try starting Pd up with ADCs disabled.
|
|
|
|
<P> In addition to the "test audio and MIDI" patch, the "Media" menu
|
|
contains items for controlling audio and MIDI settings. The first two
|
|
items, "Audio on" and "Audio off", open or close the audio devices and
|
|
start or stop Pd's audio computation.
|
|
|
|
<P> If there is a choice of
|
|
audio API to make, the Media menu will display them. (On Linux, they are
|
|
OSS, ALSA, and Portaudio; on Windows, you get MMIO and ASIO). On Mac the only
|
|
one is portaudio. More information
|
|
about the APIs appears in the sections below.
|
|
|
|
<P> Selecting an API (even if it's the one already in use), or, alternatively,
|
|
selecting "Audio Settings..." from Preferences, opens
|
|
a dialog panel like this:
|
|
|
|
<CENTER><P>
|
|
<IMG src="fig11.2.png" ALT="audio settings dialog">
|
|
</P></CENTER>
|
|
|
|
The exact choices you get depend on the operating system and API. The sample
|
|
rate controls both audio output and input. The audio throughput delay is
|
|
the nominal amount of time, in milliseconds, that a sound coming into the
|
|
audio input will be delayed if it is copied through Pd straight to the
|
|
output. Naturally you would like this to be as small as possible, but,
|
|
depending on OS, API, and even the specific choice of audio hardware, there
|
|
will be a limit to how small you can make this. You can typically get
|
|
10 msec on linux (and lower still if you use special tricks), 30 msec on Mac
|
|
OSX, and 60 msec on Windows (but note that there might be ways that a
|
|
patient Windows user can reduce this).
|
|
|
|
<P> Next you get a choice of input and output device. If you want to open
|
|
more than one, hit "use multiple devices" and you'll be allowed up to 4
|
|
in and 4 out. Each audio device is 2 channels by default, but you may
|
|
specify more if your hardware supports it.
|
|
|
|
Other parameters may be tweaked using the command line; see under
|
|
<A href=#s4> preferences and startup options </A>.
|
|
|
|
<H6> MIDI </H6>
|
|
|
|
<A> The "channel message" midi objects in Pd
|
|
such as notein or pgmout will take channels 1-16 to mean the first open MIDI
|
|
port, 17-32 the second one, and so on. The midiin, sysexin, midiout objects
|
|
give you a separate inlet to specify which of the open MIDI port numbers
|
|
you want.
|
|
|
|
<P> System exclusive MIDI message input and output are theoretically supported
|
|
but does not work uniformly across all operating systems..
|
|
|
|
<H3> <A name=s1.1> 3.2. Installing Pd in Microsoft Windows </A> </H3>
|
|
|
|
<P> Pd should work under any version of Windows since 95. You can download as
|
|
a self-extracting archive (a ".exe" file). Run this and select a destination
|
|
directory when prompted, such as "\pd" or "Program Files\pd".
|
|
|
|
<P> If for example you put Pd in "C:Program Files\pd", the executable program
|
|
will be "C:Program Files\pd\bin\pd". You can simply adjust your path to
|
|
include C:\pd\bin and then invoke "pd" in a command prompt window. You can also
|
|
make a shortcut to the executable program (left-click on it and drag to the
|
|
desktop, for example.)
|
|
|
|
<P> Pd requires "TCP/IP networking" to be turned on. This doesn't mean you
|
|
have to be on a real network, but simply that Pd actually consists of two
|
|
programs that make a "network link" (locally) to intercommunicate.
|
|
|
|
<H4> Audio in Microsoft Windows </H4>
|
|
|
|
<P>
|
|
Pd offers both the ASIO and MMIO APIs in Windows. Which of these works better
|
|
will depend on your audio hardware.
|
|
|
|
<P>
|
|
MIDI timing is very poor if you are using simultaneous audio input and output;
|
|
if you suppress either audio input or output things will improve somewhat under
|
|
NT; you can apparently get the jitter down to ~40 msec. On W95 performance is
|
|
simply terrible. W98, with either audio input or output suppressed, offers
|
|
fairly good MIDI timing (~5 msec jitter). The "first edition" used to crash
|
|
occasionally; this might be fixed in the "second edition".
|
|
|
|
<H4> ASIO </H4>
|
|
|
|
<P> As of version 0.35 Pd supports ASIO. Invoke Pd as "pd -asio" and, if
|
|
needed, specify "-sounddev" (etc.) flags to specify which device (see
|
|
"the Pd command line" below.) You can also specify a "-blocksize" different
|
|
from the default (256 samples) and "-audiobuf" in milliseconds. Pd will
|
|
round this down to a power of two buffers, each of "-blocksize" in sample
|
|
frames.
|
|
|
|
<P> TIP: Often your machine will allow you to use ASIO with built-in PC
|
|
audio hardware. Sometimes it is necessary to set a ridiculously high block size
|
|
for this to work (on my machine I have to set it to 4096 -- about 1/10 of a
|
|
second!)
|
|
|
|
<P> Using MMIO I've been able to get very low latencies (6 msec) using M-audio
|
|
PCI converters (Delta 44).
|
|
|
|
<H3> <A name=s1.2> 3.3. Installing Pd in Linux </A> </H3>
|
|
|
|
<P> What to do depends on which flavor of Linux you are running (e.g., Debian
|
|
or Red Hat). The instructions here should work for Pd 0.33 and up regardless of
|
|
your situation. (If not, you can read the Pd mailing list archives for
|
|
recent problems; if you have found a new problem you're welcome to post it
|
|
to the list.)
|
|
|
|
<P> Pd is available via the package systems for some linux distributions,
|
|
but not always in the most recent version possible. It's relatively easy to
|
|
compile your own copy of Pd and that is the approach described here.
|
|
|
|
<H4> Getting Pd as a .tar.gz </H4>
|
|
|
|
<P> Before you start, you might want to check that you have the resources Pd
|
|
needs. The main things you need are the C compiler, X windows (including
|
|
the X development package for Pd to link against), TK, and the ALSA "devel"
|
|
headers. It should be
|
|
enough to load "tcl-devel", "tk-devel", and "alsa-devel" packages using
|
|
yum or apt-get.
|
|
|
|
<P> There are two parallel compilation setups now available. The old one is
|
|
described here; as of 0.43 I still use that but I plan to discontinue this for
|
|
0.44 and start using only the new one (by Hans). The following description
|
|
applies to the old one. Look in the INSTALL.txt file to see how to use the
|
|
new one.
|
|
|
|
<P>
|
|
Download Pd, perhaps from
|
|
<a href="http://www.crca.ucsd.edu/~msp/software.html">
|
|
http://www.crca.ucsd.edu/~msp/software.html</A> ,
|
|
to file such as "pd-linux-033.tar.gz". Open a "shell"
|
|
window, cd to
|
|
the directory containing the file, and type the command,
|
|
<PRE>
|
|
tar xzf pd-linux-033.tar.gz
|
|
</PRE>
|
|
<P>which creates a directory named "pd". I do this from my home directory.
|
|
Next, compile it. "CD" to pd and read the INSTALL.txt, or else just cd
|
|
to "pd/src" and type
|
|
|
|
<P>
|
|
<BR> ./configure
|
|
<BR> make
|
|
</P>
|
|
|
|
<P> You can pass flags to "configure" to customize your compilation:
|
|
|
|
<PRE>
|
|
To enable debugging (and losing code optimization) add "--enable-debug".
|
|
To use Portaudio, add "--enable-portaudio".
|
|
To put Pd in /usr/bin instead of /usr/local/bin, add "--prefix=/bin".
|
|
</PRE>
|
|
|
|
Alsa and Jack support should auto-configure, but "--enable-alsa" od
|
|
"--enable-jack" will force their inclusion.
|
|
|
|
<P> After "make", just type "~/pd/bin/pd" to run pd.
|
|
|
|
<P> Alternatively, as superuser, you can run "make install" after "make depend"
|
|
and then anyone on your system can just type "pd" to run it.
|
|
|
|
<H4> Testing audio and MIDI. </H4>
|
|
|
|
<P>
|
|
Next try audio. We want to know whether audio output works, whether audio
|
|
input works, and whether they work simultaneously. First run "aumix" (or
|
|
any newer audio mixer app) to
|
|
check audio input and output gains and learn which input (mic; line;
|
|
etc.) is "recording".
|
|
Then test audio output by running
|
|
<PRE>
|
|
pd -noadc
|
|
</PRE>
|
|
<P>and selecting "test audio and MIDI" from the "Media" menu. You should see
|
|
a patch. Turn on the test tone and listen. Do the usual where's-the-signal
|
|
business.
|
|
|
|
<P>
|
|
Then quit Pd and test audio input via
|
|
<PRE>
|
|
pd -nodac
|
|
</PRE>
|
|
<P>Re-open the test patch and hit "meter"; look at the levels. 100 dB is a
|
|
hard clip; arrange gains so that the input signal tops out around 80 or 90,
|
|
but no higher.
|
|
|
|
<P> Now see if your audio driver can do full duplex by typing "pd" with no
|
|
flags. If you see error messages involving /dev/dsp or /dev/dsp2, you're
|
|
probably not able to run audio in and out at the same time. If on the other
|
|
hand there's no complaint, and if the audio test patch does what you want, you
|
|
might wish to experiment with the "-audiobuffer" flag to see what values of
|
|
audio latency your audio system can handle.
|
|
|
|
<H3> Audio hardware in Linux </H3>
|
|
|
|
<P>
|
|
Installing and testing audio and MIDI drivers in Linux can take
|
|
days or weeks. There apears to be no single place where you can get detailed
|
|
information on Linux audio.
|
|
|
|
<P>
|
|
There are two widely-used driver sets, called "OSS" and "ALSA". ALSA is
|
|
included in the standard Linux kernel since 2.4 or so. However, for some
|
|
audio cards you can find newer versions than are included in the kernel
|
|
releases. You can get ALSA from
|
|
|
|
<a href="http://www.alsa-project.org/">
|
|
http://www.alsa-project.org/</A> .
|
|
|
|
<P> ALSA is able to emulate OSS, so that you can usually run Pd using the
|
|
"OSS" driver settings even if it's actually ALSA that's running.
|
|
|
|
<P> By default, Pd uses ALSA. You can ask Pd to use ALSA's OSS emulation by
|
|
adding the "-oss" flag to the command line or fooling with the "media" menu
|
|
items.
|
|
|
|
<P> You can add ALSA devices by name on the Pd command line:
|
|
<PRE>
|
|
pd -alsaadd loupgarou
|
|
</PRE>
|
|
instructs Pd to offer the 'loupgarou' audio device in the Audio Settings panel.
|
|
|
|
<H4> Experiences with particular soudcards </H4>
|
|
|
|
<P>
|
|
Here are some of my own experiences with sound cards so far. See
|
|
also the Pd mailing list archives.
|
|
|
|
<H6> RME 9652 (Hammerfall) </H6>
|
|
|
|
<P> This is the best PCI sound card out there; it costs around $500 and has 3 ADAT
|
|
I/O ports and one SPDIF. There is a "baby hammerfall" also, which I think is
|
|
the "9632." DO NOT CONFUSE THE 9652/9632 WITH OTHER RME BOARDS WHICH MIGHT
|
|
NOT WORK WITH PD.
|
|
|
|
<P> The easiest way to use
|
|
Hammerfall boards in Pd is via ALSA and jack; but you can use ALSA alone:
|
|
<PRE>
|
|
pd -alsa -channels 26
|
|
</PRE>
|
|
works for me.
|
|
|
|
<H6> MIDIMAN </H6>
|
|
|
|
<P>Midiman sells PCI devices (delta 44, 66, 1010, and 1010LT)
|
|
with between 4 and 10 channels in and out, for
|
|
which there are ALSA drivers. These are also very good, and they are a
|
|
bit cheaper than Hammerfalls. The driver name is "ice1712".
|
|
|
|
<H6> USB sound devices</H6>
|
|
|
|
<P> Ed Kelly reports success with the Lexicon series of USB 1.0 devices (e.g.,
|
|
the Omega Studio; apparently 4 channels in and 4 out). Also known to work well
|
|
is the Edirol box (2 channels in and out).
|
|
|
|
<P> As of Sept. 2011, the only multi-channel USB device I've been able to use
|
|
with Pd is the Native Instruments Traktor Audio series. (I have the Audio
|
|
Traktor 10 which does indeed get 10 discrete channels in and out; the box is
|
|
designed for turntables and the I/O is all RCA. I haven't yet tested whether
|
|
the inputs are RIAA equalized or flat. To run this device you'll need to
|
|
compile and install an ALSA snapshot from at least September 2011. This won't
|
|
start showing up in Linux distros for at least some months.
|
|
|
|
<P> THe Alsa devel list is reporting progress on the M-audio Ultra series,
|
|
which goes up to 6 in and out (analog) with 2 more as SP/DIF. Things work
|
|
OK for input or output separately but "full duplex" (in and out simultaneously)
|
|
has sync problems.
|
|
|
|
<H3> <A name="s1.3"> 3.4. Installing Pd in Macintosh OSX </A> </H3>
|
|
|
|
<P>Pd version 0.35 and up support Macintosh OSX. You need the OSX Jaguar
|
|
distribution (10.2) or later. Recent versions of Pd require 10.4 or up.
|
|
|
|
<P> To install Pd you can always download the sources and compile them
|
|
yourself, or (easier) just download the Mac binary from the download page:
|
|
|
|
<A href="http://crca.ucsd.edu/~msp/software.html">
|
|
http://crca.ucsd.edu/~msp/software.html</A>.
|
|
|
|
This is in the form of a compressed Tar archive; just click on it and the Max
|
|
will extract the Pd application. Open this and you should be running.
|
|
|
|
<P> You might get various warnings about Pd trying to open an internet port.
|
|
This is normal although some system administrators will prevent you from
|
|
doing this (in which case you can't run Pd on that machine).
|
|
|
|
<P> The package by Hans-Christoph Steiner, on
|
|
|
|
<A href="http://at.or.at/hans/pd/installers.html">
|
|
http://at.or.at/hans/pd/installers.html</A>,
|
|
|
|
has many updates and extensions
|
|
which are not included in the original Pd distribution. Download this and
|
|
follow the (simple) instructions found there.
|
|
</P>
|
|
|
|
<H4> To install on OSX from source: </H4>
|
|
|
|
<P>
|
|
Whether you've downloaded the source or the "package" you can
|
|
always compile Pd for yourself, whether to make your own improvements, or
|
|
possibly so that you can get the newest version before it shows up compiled for
|
|
Mac OS X.
|
|
|
|
<P> To be able to compile Pd, you must have Tcl/Tk installed in the standard
|
|
places. I think this is true for all reasoably recent releases of OSX.
|
|
|
|
<P> Then, just as for linux, just unload pd-whatever.tar.gz into a directory
|
|
such as ~/pd-0.36-0, cd to pd-0.36-0/src, type "./configure"
|
|
and "make". Then type ~/pd-0.36-0/bin/pd to a shell and enjoy!
|
|
|
|
<P> If you wish you can put a line such as,
|
|
|
|
<pre>
|
|
alias pd ~/pd/bin/pd
|
|
</pre>
|
|
|
|
<P>in the file, ~/.tcshrc, so that you can later just type "pd" to a shell.
|
|
(The
|
|
shell only reads the ~/.tcshrc file on startup, so this won't take effect in
|
|
any existing shells unless you specially type
|
|
<pre>
|
|
source ~/.tcshrc
|
|
</pre>
|
|
<P>to them.)
|
|
|
|
<P> Follow the general directions above for testing audio and/or MIDI
|
|
as needed.
|
|
|
|
<P> To get MIDI working, you have to do the Mac OSX magic to get a USB
|
|
MIDI interface installed. I've seen this done with Midisport devices and
|
|
I think you just download the OSX driver and follow directions.
|
|
|
|
<H3> <A name=s4> 3.6. Preferences and startup options </A> </H3>
|
|
|
|
<P> Pd's behavior may be customized to instruct it where to find files, which
|
|
audio devices to open, what font size to use, and so on. Most of
|
|
these may also be changed using the various dialogs you can open from Pd's
|
|
menus. Others take effect only when Pd starts up; some of these appear
|
|
on the ``startup" dialog and some of them, too cranky to put in a GUI, must
|
|
be typed as <I> command line arguments </I>.
|
|
|
|
<P> In addition to the Audio and MIDI settings (see
|
|
<A href="#s1.0"> Audio and MIDI </A>), you can customize font size (from the
|
|
``edit" menu), directories to search for files (see
|
|
<A href="#s5"> How Pd searches for files </A>), and additional startup
|
|
parameters described below.
|
|
|
|
<P> All of these settings may be saved automatically between Pd sessions.
|
|
It is also possible to specify settings directly via the <I> command
|
|
line </I>. (A third mechanism, using configuration files, is deprecated and
|
|
isn't described here.) The Pd command line is described in the next
|
|
section. Command line settings, if given, each override the corresponding
|
|
setting that was saved from Pd.
|
|
|
|
<P> The startup settings (i.e., those that take effect only when Pd is started)
|
|
are controlled using the ``startup..." dialog from the File menu. The
|
|
dialog appears as follows:
|
|
|
|
<CENTER><P>
|
|
<IMG src="fig11.3.png" ALT="startup dialog">
|
|
</P></CENTER>
|
|
|
|
The slots at top each specify a binary ``library" for Pd to load on startup.
|
|
These may be for Gem, pdp, zexy, iemlib, cyclone, and so on. Typically, a
|
|
single binary object (an ``extern") is left for Pd to load automatically;
|
|
startup library loading is appropriate for collections of many objects
|
|
specified by a single binary library.
|
|
|
|
<P> The ``defeat real-time scheduling" contol, if enabled, makes Pd run without
|
|
its usual effort to become a real-time process (whatever this means in the
|
|
operating system you are using.) In Unix, Pd must usually be setuid to allow
|
|
real-time scheduling at all.
|
|
|
|
<P> The ``startup flags" allow you to add to Pd's command line on startup. This
|
|
is specified as described below, except that the initial word, ``pd", is
|
|
understood. For example, putting ``-rt" in this field sets real-time
|
|
scheduling; ``-sleepgrain 1" sets the sleep grain to 1 (see under MIDI below),
|
|
and typing "-rt -sleepgrain 1" does both.
|
|
|
|
<P> You may save the current settings for future Pd sessions with the
|
|
``save all settings" button; this saves not only the path but all other
|
|
settings as well.
|
|
|
|
<H6> Command line arguments </A> </H3>
|
|
|
|
<P>Pd may be run as a "command line" program from your "terminal emulator,"
|
|
"shell," or "MSDOS prompt." In Windows, if Pd is started using a "shortcut"
|
|
it is also run from a command line which you can edit using the ``properties"
|
|
dialog for the shortcut. In any operating system, Pd can be called from a
|
|
script (called a <I> batch file </I> on Windows or a <I> shell script </I>
|
|
on OSX or unix). The command line is just a line of text, which should be
|
|
of the form:
|
|
|
|
<PRE>
|
|
|
|
pd [options] [patches to open]
|
|
|
|
</PRE>
|
|
|
|
<P>although you may have to specify a path (such as "~/pd/bin/pd" or
|
|
"C:\program files\pd\bin\pd") so your command interpreter can find
|
|
Pd. Possible options include:
|
|
|
|
<PRE>
|
|
|
|
audio configuration flags:
|
|
-r <n> -- specify sample rate
|
|
-audioindev ... -- sound in device list; e.g., "2,1" for second and first
|
|
-audiooutdev ... -- sound out device list, same as above
|
|
-audiodev ... -- specify both -audioindev and -audiooutdev together
|
|
-inchannels ... -- number of audio in channels (by device, like "2" or "16,8")
|
|
-outchannels ... -- number of audio out channels (by device)
|
|
-channels ... -- specify both input and output channels
|
|
-audiobuf <n> -- specify size of audio I/O buffer in msec
|
|
-blocksize <n> -- specify audio I/O block size in sample frames
|
|
-sleepgrain <n> -- specify number of milliseconds to sleep when idle
|
|
-nodac -- suppress audio output
|
|
-noadc -- suppress audio input
|
|
-noaudio -- suppress audio input and output (-nosound is synonym)
|
|
-listdev -- list audio and MIDI devices
|
|
|
|
(linux specific audio:)
|
|
-oss -- use ALSA audio drivers
|
|
-alsa -- use ALSA audio drivers
|
|
-pa -- use portaudio (experimental version 19)
|
|
-alsadev <n> -- obsolete: use -audiodev
|
|
-32bit -- (probably obsolete) -- use 32 bit OSS extension
|
|
-alsaadd <dev> -- add a device to the ALSA device list
|
|
|
|
(Windows specific audio:)
|
|
-mmio -- use MMIO drivers and API
|
|
-asio -- use ASIO drivers and API
|
|
|
|
MIDI configuration flags:
|
|
-midiindev ... -- midi in device list; e.g., "1,3" for first and third
|
|
-midioutdev ... -- midi out device list, same format
|
|
-mididev ... -- specify -midioutdev and -midiindev together
|
|
-nomidiin -- suppress MIDI input
|
|
-nomidiout -- suppress MIDI output
|
|
-nomidi -- suppress MIDI input and output
|
|
-alsamidi -- use ALSA midi API
|
|
|
|
general flags:
|
|
-path <path> -- add to file search path
|
|
-nostdpath -- don't search standard ("extra") directory
|
|
-stdpath -- search standard directory (true by default)
|
|
-helppath <path> -- add to help search path
|
|
-open <file> -- open file(s) on startup
|
|
-lib <file> -- load object library(s)
|
|
-font <n> -- specify default font size in points
|
|
-verbose -- extra printout on startup and when searching for files
|
|
-version -- don't run Pd; just print out which version it is
|
|
-d <n> -- specify debug level
|
|
-noloadbang -- suppress all loadbangs
|
|
-stderr -- send printout to standard error instead of GUI
|
|
-nogui -- suppress starting the GUI
|
|
-guiport <n> -- connect to pre-existing GUI over port 'n'
|
|
-guicmd "cmd..." -- substitute another GUI program (e.g., rsh)
|
|
-send "msg..." -- send a message at startup (after patches are loaded)
|
|
-rt or -realtime -- use real-time priority (needs root privilege)
|
|
-nrt -- don't use real-time priority
|
|
-nosleep -- never relinquish CPU (only for multiprocessors!)
|
|
|
|
</PRE>
|
|
|
|
<P>Here are some details on some of the audio, MIDI, and scheduler options (but
|
|
see also the next section on file management.)
|
|
|
|
<H4> multiple devices. </H4>
|
|
|
|
<P> You can specify multiple MIDI input and output devices. For example,
|
|
"pd -midiindev 3 -midioutdev 4,2" asks for the third MIDI input device and the
|
|
fourth and second MIDI output device.
|
|
|
|
<P> Audio device selection is similar, except that you can also specify
|
|
channels by device: "-audioindev 1,3 -inchannels 2,8" will try to open device 1
|
|
(2 channels) and device 3 (8 channels.)
|
|
|
|
<H4> sample rate. </H4>
|
|
|
|
<P>The sample rate controls Pd's logical sample rate which need not be that of
|
|
the audio input and output devices. If Pd's sample rate is wrong, time will
|
|
flow at the wrong rate and synthetic sounds will be transposed. If the output
|
|
and input devices are running at different rates, Pd will constantly drop frames
|
|
to re-sync them, which will sound bad. You can disable input or output if this
|
|
is a problem.
|
|
|
|
<H4> audio buffer size and block size </H4>
|
|
|
|
<P>You can specify an audio buffer size in milliseconds, typically between 10 and
|
|
300, depending on how responsive your OS and drivers are. If this is set too
|
|
low there will be audio I/O errors ("data late"). The higher the value is,
|
|
on the other hand, the more throughput delay you will hear from the audio
|
|
and/or control inputs (MIDI, GUI) and the audio coming out.
|
|
|
|
<P> You can also specify the audio block size in sample frames. This is 64 by
|
|
default (except for MMIO for which it's 256), and may be 64, 128, or 256.
|
|
|
|
<H4> MIDI and sleepgrain</H4>
|
|
|
|
<P> In Linux, if you
|
|
ask for "pd -midioutdev 1" for instance, you get /dev/midi0 or /dev/midi00
|
|
(or even /dev/midi). "-midioutdev 45" would be /dev/midi44. In NT, device
|
|
number 0 is the "MIDI mapper", which is the default MIDI device you selected
|
|
from the control panel; counting from one, the device numbers are card
|
|
numbers as listed by "pd -listdev."
|
|
|
|
<P> The "sleepgrain" controls how long (in milliseconds) Pd sleeps between
|
|
periods of computation. This is normally the audio buffer divided by 4, but
|
|
no less than 0.1 and no more than 5. On most OSes, ingoing and outgoing MIDI
|
|
is quantized to this value, so if you care about MIDI timing, reduce this to 1
|
|
or less.
|
|
|
|
<H3> <A name="s5"> 3.7. How Pd searches for files </A> </H3>
|
|
|
|
<P>Pd has a search path feature; you specify the path on the command line
|
|
using the "-path" option. Paths may contain any number of files. If you
|
|
specify several files in a single "-path" option they're separated by colons
|
|
in unix or semicolons in NT.
|
|
|
|
<P> You can see and edit the path while Pd is running using the "path..."
|
|
item in the "File" menu:
|
|
|
|
<CENTER><P>
|
|
<IMG src="fig11.4.png" ALT="startup dialog">
|
|
</P></CENTER>
|
|
|
|
<P> The path must be correctly set before you load
|
|
a patch or it may fail to find abstractions, etc., that are needed to
|
|
construct the patch. When Pd searches for an abstraction or an
|
|
"extern" it uses the path to try to find the necessary file. The "read"
|
|
messages to qlists and arrays (aka tables) do this too.
|
|
|
|
<P> If ``use standard extensions" is enabled, the usual ``extras" directory
|
|
is also searched. This contains standard external objects like ``expr" and
|
|
``fiddle", and perhaps much more depending on the distribution of Pd
|
|
you're using.
|
|
|
|
<P> You may save the current settings for future Pd sessions with the
|
|
``save all settings" button; this saves not only the path but all other
|
|
settings as well.
|
|
|
|
<P> Path entries may be relative to the patch directory; for instance,
|
|
if your path has an item, "../sound", and your patch is in "my stuff/all mine",
|
|
then Pd will look in "my stuff/sound". Spaces should be OK in the path to
|
|
the patch, but not in the path entry (../sound) itself. This is useful if
|
|
you have a patch and supporting files (even a supporting snapshot of pd)
|
|
that you want to distribute or carry around together.
|
|
|
|
<P> Regardless of path, Pd should look first in the directory containing
|
|
the patch before searching down the path. Pd does not automatically look
|
|
in the <I> current directory </I> however; to enable that, include ``." in
|
|
the path. The ``extra" directory, if enabled, is searched last.
|
|
|
|
<P> Filenames in Pd are always separated by (unix-style) forward slashes, even
|
|
if you're on Windows (which uses backslashes). This is so that patches can be
|
|
ported more easily between operating systems. On the other hand, if you
|
|
specify a filename on the command line (as in "pd -path c:\pdlib") the file
|
|
separator should agree with the operating system. <BR>
|
|
|
|
<P> If a filename specified in a patch has any "/" characters in it, the "path"
|
|
is not used; thus, "../sounds/sample1.wav" causes Pd only to look relative to
|
|
the directory containing the patch. You may also invoke externs that way.
|
|
|
|
<P> As of version 0.35, there may be spaces in the path to Pd itself; also,
|
|
the "openpanel" and "savepanel" objects can handle spaces. Spaces in the
|
|
path should work as of version 0.38.
|
|
|
|
</BODY>
|
|
</HTML>
|
|
|
|
|