;===============================================
; Simple mono 4-band parametric EQ instrument
; Uses 4 pareq units in series
; Designed in class 10/10/06
; Modified by RP 10/11/06
;===============================================
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
instr 1 ;a 4-band parametric EQ
;---Initialization Section
igain = p4 ;overall gain control
isound = p5 ;name of input sound file
ilowC = p6 ;low shelf corner freq
ilowV = ampdb(p7) ;boost/cut in dB
ilowQ = p8 ;low shelf Q
ilowBP = p9 ;low shelf bypass switch
imid1C = p10 ;midband1 Center Freq
imid1V = ampdb(p11) ;boost/cut in dB
imid1Q = p12 ;midband1 Q
imid1BP = p13 ;midband1 bypass switch
imid2C = p14 ;midband2 Center Freq
imid2V = ampdb(p15) ;boost/cut in dB
imid2Q = p16 ;midband2 Q
imid2BP = p17 ;midband2 bypass switch
ihighC = p18 ;high shelf corner freq
ihighV = ampdb(p19) ;boost/cut in dB
ihighQ = p20 ;high shelf Q
ihighBP = p21 ;high shelf bypass switch
ibalBP = p22 ;balance bypass switch
;---Performance Section
ainput soundin isound
ainput linen ainput,.01,p3,.49
ainput = ainput*igain ;scale the input
asound = ainput ;copy for the filters
;low section
if (ilowBP > 0) goto mid1 ;skip if low shelf bypassed
asound pareq asound,ilowC,ilowV,ilowQ,1 ;low shelving
mid1: if (imid1BP > 0) goto mid2 ;skip if mid1 bypassed
asound pareq asound,imid1C,imid1V,imid1Q,0 ;peaking
mid2: if (imid2BP > 0) goto high ;skip if mid2 bypassed
asound pareq asound,imid2C,imid2V,imid2Q,0 ;peaking 2
high: if (ihighBP > 0) goto bal ;skip if high shelf bypassed
asound pareq asound,ihighC,ihighV,ihighQ,2 ;high shelving
bal: if (ibalBP > 0) goto end ;skip if not balancing
asound balance asound,ainput ;balance with input
end: out asound
endin
;Test score for ourpareq2.orc
;Sound 1
; st dur gain insound
i01 0 4 .9 "rich44.wav"
; lowC lowV lowQ lowBP
100 0 .2 1
; mid1C mid1V mid1Q mid1BP
400 0 .2 1
; mid2C mid2V mid2Q mid2BP
800 0 .2 1
; highC highV highQ highBP balBP
2000 0 .2 1 1
;Sound2
; st dur gain insound
i01 + 35 .9 "BlackOrpheusHead1.wav"
s
f0 2
s
;Try some low end and high end boost with balance
;Sound 1
; st dur gain insound
i01 0 4 .8 "rich44.wav"
; lowC lowV lowQ lowBP
100 18 .2 0
; mid1C mid1V mid1Q mid1BP
400 0 .2 1
; mid2C mid2V mid2Q mid2BP
800 0 .2 1
; highC highV highQ highBP balBP
2000 12 .2 0 0
;Sound2
; st dur gain insound
i01 + 35 .9 "BlackOrpheusHead1.wav"
s
f0 2
s
;Try some low end and high end boost without balance
;Sound 1
; st dur gain insound
i01 0 4 .8 "rich44.wav"
; lowC lowV lowQ lowBP
100 18 .2 0
; mid1C mid1V mid1Q mid1BP
400 0 .2 1
; mid2C mid2V mid2Q mid2BP
800 0 .2 1
; highC highV highQ highBP balBP
2000 12 .2 0 1
;Sound2
; st dur gain insound
i01 + 35 .7 "BlackOrpheusHead1.wav"
s
f0 2
s
;Try some midrange boost with balance
;Sound 1
; st dur gain insound
i01 0 4 .8 "rich44.wav"
; lowC lowV lowQ lowBP
100 0 .2 1
; mid1C mid1V mid1Q mid1BP
400 12 2 0
; mid2C mid2V mid2Q mid2BP
800 12 2 0
; highC highV highQ highBP balBP
2000 0 .2 1 0
;Sound2
; st dur gain insound
i01 + 35 .9 "BlackOrpheusHead1.wav"
s
f0 2
s
;Try some midrange boost without balance
;Sound 1
; st dur gain insound
i01 0 4 .2 "rich44.wav"
; lowC lowV lowQ lowBP
100 0 .2 1
; mid1C mid1V mid1Q mid1BP
400 12 2 0
; mid2C mid2V mid2Q mid2BP
800 12 2 0
; highC highV highQ highBP balBP
2000 0 .2 1 1
;Sound2
; st dur gain insound
i01 + 35 .25 "BlackOrpheusHead1.wav"