Add Equalizer support for emu10k1 Audigy

From: Piotr Tajdus <aegis@op.pl>

Added the equalizer support for emu10k1 (Audigy only).
This commit is contained in:
Takashi Iwai 2005-12-12 11:32:07 +00:00
parent f9e1a7c1a1
commit 82b21d4c71
4 changed files with 379 additions and 5 deletions

View file

@ -3,14 +3,16 @@ EXTRA_DIST = README emu_constants.asm \
vol_2.asm output.asm switch_2.asm \
sto51.asm switch_6.asm copy_2.asm \
prologic.asm fxbus.asm switch_2x2.asm \
mono_switch_2.asm mono_switch_2x2.asm
mono_switch_2.asm mono_switch_2x2.asm \
eq10.asm
dist_effects_DATA = simple.emu10k1 vol_master.emu10k1 tone.emu10k1 \
vol_2.emu10k1 output.emu10k1 switch_2.emu10k1 \
sto51.emu10k1 switch_6.emu10k1 copy_2.emu10k1 \
prologic.emu10k1 fxbus.emu10k1 switch_2x2.emu10k1 \
mono_switch_2.emu10k1 mono_switch_2x2.emu10k1
mono_switch_2.emu10k1 mono_switch_2x2.emu10k1 \
eq10.emu10k1
MAINTAINERCLEANFILES = $(dist_effects_DATA)

View file

@ -0,0 +1,116 @@
name "EQ10"
include "emu_constants.asm"
;Piotr Tajdu¶
;gadrael@interia.pl
; 31 Hz
c0 con 9.9713475915e-02 1.4326204244e-04 1.9971183163e-01
; 62 Hz
c1 con 9.9427771143e-02 2.8611442874e-04 1.9942120343e-01
; 125 Hz
c2 con 9.8849666727e-02 5.7516663664e-04 1.9882304829e-01
; 250 Hz
c3 con 9.7712566171e-02 1.1437169144e-03 1.9760670839e-01
; 500 Hz
c4 con 9.5477456091e-02 2.2612719547e-03 1.9505892385e-01
; 1k Hz
c5 con 9.1159452679e-02 4.4202736607e-03 1.8952405706e-01
; 2k Hz
c6 con 8.3100647694e-02 8.4496761532e-03 1.7686164442e-01
; 4k Hz
c7 con 6.9062328809e-02 1.5468835596e-02 1.4641227157e-01
; 8k Hz
c8 con 4.7820368352e-02 2.6089815824e-02 7.3910184176e-02
; 16k Hz
c9 con 2.5620076154e-02 3.7189961923e-02 -6.2810038077e-02
sco sta 10.0
inl io
toutl equ inl
inr io
toutr equ inr
inrl io
toutrl equ inrl
inrr io
toutrr equ inrr
inc io
toutc equ inc
inlfe io
toutlfe equ inlfe
Equalizer control 0,0,#1
F0_31Hz control #0.5,0,#1
F1_62Hz control #0.5,0,#1
F2_125Hz control #0.5,0,#1
F3_250Hz control #0.5,0,#1
F4_500Hz control #0.5,0,#1
F5_1000Hz control #0.5,0,#1
F6_2000Hz control #0.5,0,#1
F7_4000Hz control #0.5,0,#1
F8_8000Hz control #0.5,0,#1
F9_16000Hz control #0.5,0,#1
dly0 sta 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dly1 sta 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dly2 sta 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dly3 sta 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dly4 sta 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dly5 sta 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
out_tmp dyn
tmp2 dyn
tmp dyn
dlx0 sta 0 0
dlx1 sta 0 0
dlx2 sta 0 0
dlx3 sta 0 0
dlx4 sta 0 0
dlx5 sta 0 0
;;; Band Pass Filter Macro:
BPF macro OUT , IN , DELAY , DLXCB , COEF , GAIN
macs1 ACCUM,C_0,COEF+1,DLXCB+1
macs ACCUM,ACCUM,COEF+1,IN
macs ACCUM,ACCUM,COEF+2,DELAY
macs1 ACCUM,ACCUM,COEF,DELAY+1
macmv DELAY+1,DELAY,C_0,C_0
macints DELAY,C_0,ACCUM,sco
macs OUT,OUT,DELAY,GAIN
endm
IIR macro OUT, IN , DLXC, DLYC
macs out_tmp,C_0,C_0,C_0
BPF out_tmp,IN,DLYC,DLXC,c0,F0_31Hz
BPF out_tmp,IN,DLYC+2,DLXC,c1,F1_62Hz
BPF out_tmp,IN,DLYC+4,DLXC,c2,F2_125Hz
BPF out_tmp,IN,DLYC+6,DLXC,c3,F3_250Hz
BPF out_tmp,IN,DLYC+8,DLXC,c4,F4_500Hz
BPF out_tmp,IN,DLYC+10,DLXC,c5,F5_1000Hz
BPF out_tmp,IN,DLYC+12,DLXC,c6,F6_2000Hz
BPF out_tmp,IN,DLYC+14,DLXC,c7,F7_4000Hz
BPF out_tmp,IN,DLYC+16,DLXC,c8,F8_8000Hz
BPF out_tmp,IN,DLYC+18,DLXC,c9,F9_16000Hz
macs DLXC+1,DLXC,C_0,C_0
macs DLXC,IN,C_0,C_0
macs1 tmp,IN,IN,Equalizer
macs tmp,tmp,out_tmp,Equalizer
macs OUT,tmp,out_tmp,Equalizer
endm
IIR toutl,inl,dlx0,dly0
IIR toutr,inr,dlx1,dly1
IIR toutrl,inrl,dlx2,dly2
IIR toutrr,inrr,dlx3,dly3
IIR toutc,inc,dlx4,dly4
IIR toutlfe,inlfe,dlx5,dly5
; macmv toutlfe,inlfe,C_0,C_0
end