p0 = output start time (seconds) p1 = duration (seconds) p2 = amplitude (absolute, for 16-bit soundfiles: 0-32768) p3 = frequency (Hz) p4 = noise gain (0.0-1.0) p5 = max pressure (0.0 - 1.0) p6 = pan (0-1 stereo; 0.5 is middle) [optional; default is 0.5] p7 = breath pressure table [optional; default is 1.0] p2 (amplitude), p3 (frequency), p4 (noise amp) and p6 (pan) can receive dynamic updates from a table or real-time control source. p7 (breath pressure table), if used, should be a reference to a pfield table-handle. Author: Brad Garton, based on code from the Synthesis ToolKit
Here's what Perry says about "BlowBotl":
MBLOWBOTL can produce other mono or stereo output.
Sample Scores
very basic:
rtsetparams(44100, 2) load("MBLOWBOTL") amp = 30000 ampenv = maketable("line", 1000, 0,1, 1,0) MBLOWBOTL(0, 3.5, amp*ampenv, 349.0, 0.3, 0.5) MBLOWBOTL(4, 3.5, amp*ampenv, 278.0, 0.7, 0.8)
rtsetparams(44100, 2) load("MBLOWBOTL") ampenv = maketable("line",1000, 0,0, 1,1, 2,0) amp = 20000.0 * 5 noiseamp = 0.1 st = 0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(7.03), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(7.05), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(7.07), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(7.08), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(7.10), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(8.00), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(8.02), noiseamp, 0.9) st = st + 2.0 MBLOWBOTL(st, 2.0, amp*ampenv, cpspch(8.03), noiseamp, 0.9)