• CURRENT
  • BIO
  • COMPOSITIONS
  • PERFORMANCES
  • AUDIO
  • SOFTWARE
  • CV
  • BEER
  • CONTACT
  • event-based synthesis
  • audio sample

synthesis


most of the sounds i make use an event note-list generator called ngen (Why?). here is a quick example of the creating a csound score with ngen.

ngen input file (with my comments in italics):
rs(2781)
i5 = 13 0 5
{
p2 mo(T 1. V0.55 [0.005 0.02] [0.1 0.4]); event start time
p3 mo(T 1. 401 402); duration of events (subtract 400)
p4 pf(1.2) mo(3.5 1. V0.7 86 10); amplitude in dB
   mo(1.5 1. V0.7 10 00)
p5 se(T 1. [9728/191488/337408/486400/651264/]); position in table
p6 ra(T 1. [8.05 8.10]) ; transposition - 8.00=1, 8.01=2^1/12, etc...
p7 mo(T*0.3 1. 0 [-10 10]) ; spatialization x coordinate start
p8 mo(T*0.3 1. 20 [-10 10]) ; spatialization y coordinate start
p9 ex(T 1. [p7*1]); x end
p10 ex(T 1. [p8*1]); y end
p11 400; function table that references the sample
p12 0.01
p13 0
}

p2 dictates separation from event to event; p3 gives the duration which, in this case, is slowly being elongated from 1 second to 2. p4 gives the amplitude of the event in dB. p5 sets the skip-time of the sample that is being accessed; i use aubio (an open source onset detector) to detect event onsets within a sample. here is the sample i am using for this sound. aubio detected onsets (in this case plucks) at 9728, 191488, 337408, 486400 and 651264 samples. obviously i could label these attacks by hand, but aubio enables me to find attack points quickly, often times in complex samples with many onsets.

when the event-note block is processed by ngen, the following csound score is created:
i5 0 1 103.200 9728 8.068 20 20 400 0.010
i5 0.017 1.028 94.958 486400 8.083 -0.382 19.201 -0.382 19.201 400 0.010
i5 0.051 1.056 89.811 191488 8.084 -0.909 18.022 -0.909 18.022 400 0.010
i5 0.081 1.083 85.416 651264 8.088 -0.686 15.909 -0.686 15.909 400 0.010
i5 0.119 1.111 81.449 337408 8.099 -1.518 16.249 -1.518 16.249 400 0.010
i5 0.152 1.139 77.772 9728 8.093 2.329 14.077 2.329 14.077 400 0.010
i5 0.224 1.167 74.310 9728 8.064 0.442 13.069 0.442 13.069 400 0.010
i5 0.292 1.194 71.018 9728 8.094 1.268 12.226 1.268 12.226 400 0.010
i5 0.355 1.222 67.865 191488 8.054 -0.294 15.338 -0.294 15.338 400 0.010
i5 0.396 1.250 64.828 191488 8.078 1.694 14.695 1.694 14.695 400 0.010
i5 0.437 1.278 61.891 337408 8.064 4.026 11.406 4.026 11.406 400 0.010
i5 0.529 1.306 59.041 651264 8.064 2.160 5.696 2.160 5.696 400 0.010
i5 0.613 1.333 56.268 337408 8.068 -5.309 10.272 -5.309 10.272 400 0.010
i5 0.713 1.361 53.563 9728 8.065 5.379 12.342 5.379 12.342 400 0.010
i5 0.768 1.389 50.921 191488 8.080 -6.597 4.277 -6.597 4.277 400 0.010
i5 0.865 1.417 48.334 486400 8.060 -3.198 7.006 -3.198 7.006 400 0.010
i5 0.999 1.444 45.798 191488 8.084 -7.594 10.476 -7.594 10.476 400 0.010
i5 1.068 1.472 43.310 9728 8.063 -3.490 -1.790 -3.490 -1.790 400 0.010
i5 1.175 1.500 40.865 486400 8.092 0.506 -0.246 0.506 -0.246 400 0.010
i5 1.256 1.528 38.461 191488 8.050 4.262 9.587 4.262 9.587 400 0.010
i5 1.416 1.556 36.094 651264 8.100 -5.621 7.330 -5.621 7.330 400 0.010
i5 1.492 1.583 33.762 191488 8.084 5.137 -1.321 5.137 -1.321 400 0.010
i5 1.620 1.611 31.464 9728 8.060 5.137 -1.321 5.137 -1.321 400 0.010
i5 1.760 1.639 29.197 651264 8.099 5.137 -1.321 5.137 -1.321 400 0.010
i5 1.971 1.667 26.959 651264 8.073 5.137 -1.321 5.137 -1.321 400 0.010
i5 2.209 1.694 24.749 651264 8.054 5.137 -1.321 5.137 -1.321 400 0.010
i5 2.417 1.722 22.565 651264 8.088 5.137 -1.321 5.137 -1.321 400 0.010
i5 2.588 1.750 20.406 651264 8.078 5.137 -1.321 5.137 -1.321 400 0.010
i5 2.840 1.778 18.272 337408 8.066 5.137 -1.321 5.137 -1.321 400 0.010
i5 3.070 1.806 16.160 486400 8.083 5.137 -1.321 5.137 -1.321 400 0.010
i5 3.290 1.833 14.069 337408 8.050 5.137 -1.321 5.137 -1.321 400 0.010
i5 3.454 1.861 12 651264 8.087 5.137 -1.321 5.137 -1.321 400 0.010
i5 3.608 1.889 12 191488 8.061 5.137 -1.321 5.137 -1.321 400 0.010
i5 3.873 1.917 7.453 651264 8.074 5.137 -1.321 5.137 -1.321 400 0.010
i5 4.210 1.944 4.613 9728 8.074 5.137 -1.321 5.137 -1.321 400 0.010
i5 4.565 1.972 2.189 9728 8.093 5.137 -1.321 5.137 -1.321 400 0.010
i5 4.845 2191488 8.070 5.137 -1.321 5.137 -1.321 400 0.010
here is the audio created after the csound score is run in conjunction with this instrument from the orc file
this is a more complete sound (mixed down to 2 channels), comprising of 18 ngen blocks (which expand to 29 pages of csound score), including to one given above.

other programs i use

· Csound applications and resources.
· nGen homepage - a note event list generator front-end for Csound.
· SuperCollider homepage.
· CLAM a new cross platform audio tool library (GPL). Features SMStools which are supposedly (personally i suspect foul play!) from the original Spectral Modeling Synthesis.
· Pure Data (pd) applications.
· PVC 4.0 applications and information.
· Loris (from sourceforge) and info. an analysis/resunthesis program which features reassigned bandwidth-enhanced additive sound model.

Upcoming Peformances

· Joachim Goßmann and I will be designing audio for a virtural reallity installation by Ruth West presented at SIGGRAPH in August.
· On tour with the The GO Duo March 24th-31st.
· The Arditti String Quartet will premiere string quartet no. 1 for amplified string quartet during their residency at UCSD in March of 2007.
· Percussionist Matt Jenkins will perform open end for vibraphone and eight channel electronics at the UCSD composition juries on Februrary 18th, 2006.


All materials on this site are Copyright © 2008 by Ben Hackbarth
All Rights Reserved.