Python/Pd - Exchanging Data
These are the methods used to send data from Python to PureData. The inverse path is done mainly with run and key messages.
pd.out
pd.out() allows you to output data to PureData without needing to wait for the Python function to finish executing. This is different from returning data to PureData using the return statement, which requires the function to complete before sending data.
-
Example
For example, consider the following function:
import pd def example_pdout(): for x in range(10): pd.out(x, symbol="loop") # output in outlet 0 pd.out("fim", symbol="end", out_n=1) -
Arguments
Parameters Type Description arg1Python ObjectPython thing that will be outputed.
Kwargs Type Description symbolstringIt prepend the string in the output, can be used with routeobject.out_nintIndex of the outlet used to output.
pd.send
You can use pd.send to send data to a receive object in your PureData patch. This method takes in two arguments: the name of the receive object and the value you want to send. For instance, suppose you have a receive object named "myReceiver" in your patch. To send the value 42 to this object, you could use pd.send("myReceiver", 42).
-
Example
import pd def pd.send(): """It sends a message to the py4pdreceiver receive.""" pd.send("py4pdreceiver", "hello from python!") pd.send("py4pdreceiver", 1) pd.send("py4pdreceiver", [1, 2, 3, 4, 5]) return 0Info
In this example, it will send to
py4pdreceiverthe message"hello from python!", then the number1, then the list[1, 2, 3, 4, 5]. -
Arguments
Parameters Type Description arg1stringName of the receiver object. arg2Python ObjectData that will be sent.
pd.tabwrite
pd.tabwrite is a method that is essentially a copy of the tabwrite object in PureData. With this method, you can write audio or any data supported to the PureData array.
-
Example
import pd import numpy as np def randomNumber(len): randomNumbers = np.random.rand(len) pd.tabwrite("table2test", randomNumbers, resize=True) -
Arguments
Parameters Type Description arg1stringName of the table. arg2Python ObjectList or array (numpy) of numbers.
Kwargs Type Description reziseBooleanSet if the table will be resized or not.
pd.tabread
pd.tabread is a method that is essentially a copy of the tabread object in PureData. With this method, you can read data from a PureData array directly from within your Python code. It will return one Numpy Array with the data of the table.
-
Example
import pd import numpy def readFromArray(): valuesFromArray = pd.tabread("py4pdArray", numpy=True) multi = numpy.multiply(valuesFromArray, 2) return multi -
Arguments
Parameters Type Description arg1stringName of the table.
Kwargs Type Description numpyBooleanReturn a list instead of a numpy array when False.