1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
"""
Sending audio streams as Open Sound Control messages
**03-send-streams.py**
This program does not generate any sound. All it does is to produce
audio streams that are then send on an open port as OSC messages in
order to control a granulation process created in the example
*02-receive-streams.py*.
"""
from pyo import *
s = Server().boot()
# Manual control of the density of grains per second.
dens = Sig(0.5)
dens.ctrl(title="Density of grains per second")
# Generate a normalized random position in the sound with interpolation.
pos = Randi(min=0.00, max=1.00, freq=0.1)
# Manual control of the transposition per grain.
pit = Sig(0)
pit.ctrl(title="Transposition per grain")
# Manual control of the grain's duration.
dur = Sig(0.5)
dur.ctrl(title="Grain duration")
# Takes audio signals and sends their current value as OSC messages every buffer size.
send = OscSend(
input=[dens, pos, pit, dur],
port=9000,
address=["/density", "/position", "/pitch_rand", "/duration"],
host="127.0.0.1",
)
s.gui(locals())
|