Professional Documents
Culture Documents
Chaotic Asco
Chaotic Asco
VARIANCE 0.3
$channel5 := map {
(98, ["ESA-98-NG.AI.wav", -4.0, 1.]),
(95, ["ESA-95-NG.AI.wav", -4.0, 1.]),
(89, ["ESA-89-NG.AI.wav", -4.0, 1.]),
(86, ["ESA-86-NG.AI.wav", -4.0, 1.]),
(84, ["ESA-NEW-84.A.wav", -4.0, 1.]),
(81, ["ESA-NEW-81.A.wav", -4.0, 1.]),
(77, ["ASA-BIS-77.A.wav", -4.0, 1.]),
(73, ["ASA-73-NG.AI.wav", -4.0, 1.]),
(70, ["ASA-70-NG.AI.wav", -4.0, 1.]),
(69, ["DSA-69-NG.AI.wav", -4.0, 1.]),
(66, ["DSA-66-NG.AI.wav", -4.0, 1.]),
(63, ["DSA-63-NG.AI.wav", -4.0, 1.]),
(62, ["GSA-62-NG.AI.wav", -4.0, 1.]),
(59, ["GSA-59-NG.AI.wav", -4.0, 1.]),
(56, ["GSA-56-NG.AI.wav", -4.0, 1.])
}
$channel12 := map {
(95, ["APIZZd-95-N.A.wav", -5.0, 0.]),
(92, ["APIZZd-92-N.A.wav", -5.0, 0.]),
(89, ["APIZZd-89-N.A.wav", -5.0, 0.]),
(86, ["APIZZd-86-N.A.wav", -5.0, 0.]),
(82, ["APIZZd-82-N.A.wav", -5.0, 0.]),
(79, ["APIZZd-79-N.A.wav", -5.0, 0.]),
(72, ["APIZZd-72-N.A.wav", -5.0, 0.]),
(66, ["APIZZd-66-N.A.wav", -5.0, 0.]),
(62, ["APIZZd-62-N.A.wav", -5.0, 0.]),
(59, ["APIZZd-59-N.A.wav", -5.0, 0.]),
(56, ["APIZZd-56-N.A.wav", -5.0, 0.])
}
$channel13 := map {
(86, ["LONG-86-N.AI.wav", -5.0, 0.]),
(82, ["LONG-82-N.AI.wav", -5.0, 0.]),
(79, ["LONG-79-N.AI.wav", -5.0, 0.]),
(76, ["LONG-76-N.AI.wav", -5.0, 0.]),
(72, ["LONG-72-N.AI.wav", -5.0, 0.]),
(69, ["LONG-69-N.AI.wav", -5.0, 0.]),
(66, ["LONG-66-N.AI.wav", -5.0, 0.]),
(62, ["LONG-62-N.AI.wav", -5.0, 0.]),
(59, ["LONG-59-N.AI.wav", -5.0, 0.]),
(56, ["LONG-56-N.AI.wav", -5.0, 0.])
}
; Function to use in @find for map that attempts to find the closest
key to input $a
@fun_def @closest($a, $key, $value) { $key >= $a }
/* Translate MIDI message to Samplor messages
Samplor arguments: <bang> <buffer-name> <offset/0> <dur/0>
<trans-inPitchScale> <amp> <pan>
Transposition: in semi-tones in MAP, translates to
2^(x/12).
Amplitude: Combine amp in MAP (db) & velocity. In
Linear.
*/
@MACRO_DEF Makenote($pitch, $velocity, $channel, $dur)
{
group Midinote_
{
;; Samplor value for $channel are in the inner
table $samplor($channel)
;; Now we need to calculate the needed
transposition from existing pitches.
;; NOTE: We will store calculations in @LOCAL
variables.
;; There will be certainly parallel calls to
this module and
;; this will avoid values being mixed through
various calls.
;; You need to explicitly tell Antescofo if
variables are local:
@local $ref_pitch, $trans, $amplitude, $panning,
$filename
; find closest pitch in samplor to requested pitch
$ref_pitch := @find($samplor($channel),
@closest($pitch))
if (@is_undef($ref_pitch))
{
$ref_pitch := @max_key($samplor($channel))
}
}
}
switch
{
; if random is 1,2 or 3, a grace note followed by a note is
generated
case ($chooser > 0):
$randomchannel1 := @rand_int(2)
$randomchannel2 := @rand_int(2)
;; turn on sampler
samp1-out-db -3.0
samp2-out-db 0.0
ir1-out-db -3.0
;; put it on stereo
src5 1. 1. 0. 0. 0. 0.
ir1-param damping 0.3,early 0.1, tail 0.75, roomsize 75, spread 23,
bandwidth 0.5, dry 0.0, revtime 11.0
/****** Commented:
NOTE D4 4.0
abort $R3A
abort $R3B
;;;;;; Cloud
ir1-param revtime 40.0, tail 0.75, early 0.1, bandwidth 0.5
$cloudpitches := [77, 81, 82, 83, 84, 87, 88, 90, 91]
$cloud_n := 9
;; Generate cloud_n1 times with 20ms delays between each
generation, pitches from list randomly
;; Send each pitch to channel 12 (vel= 80, dur=200ms) and
channel 13 (vel=20, dur=500ms)
$counter := 0
loop cloud 0.02 @tempo:=60
{
$randompitch :=
$cloudpitches[ (@rand_int( @size($cloudpitches) ) ) ]
;print DEBUG: Cloud random pitch on iteration
$counter is $randompitch
@Makenote($randompitch, 80, 12, 200ms)
@Makenote($randompitch, 20, 13, 500ms)
$counter := $counter + 1
} until ($counter >= (2*$cloud_n) )*/