mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 00:52:16 -06:00
alternative equalizer tuning
This commit is contained in:
parent
d2800473e4
commit
759b0a994d
|
@ -1063,6 +1063,31 @@ var audio_eq = (function () {
|
||||||
"last_au": null
|
"last_au": null
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// some browsers have insane high-frequency boost
|
||||||
|
// (or rather the actual problem is Q but close enough)
|
||||||
|
var cali = (function () {
|
||||||
|
try {
|
||||||
|
var ac = new AudioContext(),
|
||||||
|
fi = ac.createBiquadFilter(),
|
||||||
|
freqs = new Float32Array(1),
|
||||||
|
mag = new Float32Array(1),
|
||||||
|
phase = new Float32Array(1);
|
||||||
|
|
||||||
|
freqs[0] = 14000;
|
||||||
|
fi.type = 'peaking';
|
||||||
|
fi.frequency.value = 18000;
|
||||||
|
fi.Q.value = 0.8;
|
||||||
|
fi.gain.value = 1;
|
||||||
|
fi.getFrequencyResponse(freqs, mag, phase);
|
||||||
|
|
||||||
|
return mag[0]; // 1.0407 good, 1.0563 bad
|
||||||
|
}
|
||||||
|
catch (ex) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
})(),
|
||||||
|
mp = cali < 1.05;
|
||||||
|
|
||||||
var cfg = [ // hz, q, g
|
var cfg = [ // hz, q, g
|
||||||
[31.25 * 0.88, 0, 1.4], // shelf
|
[31.25 * 0.88, 0, 1.4], // shelf
|
||||||
[31.25 * 1.04, 0.7, 0.96], // peak
|
[31.25 * 1.04, 0.7, 0.96], // peak
|
||||||
|
@ -1073,10 +1098,10 @@ var audio_eq = (function () {
|
||||||
[1000, 0.9, 1.1],
|
[1000, 0.9, 1.1],
|
||||||
[2000, 0.9, 1.105],
|
[2000, 0.9, 1.105],
|
||||||
[4000, 0.88, 1.05],
|
[4000, 0.88, 1.05],
|
||||||
[8000 * 1.006, 0.73, 1.24],
|
[8000 * 1.006, 0.73, mp ? 1.24 : 1.2],
|
||||||
[16000 * 0.89, 0.7, 1.26], // peak
|
[16000 * 0.89, 0.7, mp ? 1.26 : 1.2], // peak
|
||||||
[16000 * 1.13, 0.82, 1.09], // peak
|
[16000 * 1.13, 0.82, mp ? 1.09 : 0.75], // peak
|
||||||
[16000 * 1.205, 0, 1.9] // shelf
|
[16000 * 1.205, 0, mp ? 1.9 : 1.85] // shelf
|
||||||
];
|
];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -3,6 +3,24 @@
|
||||||
setTimeout(location.reload.bind(location), 700);
|
setTimeout(location.reload.bind(location), 700);
|
||||||
document.documentElement.scrollLeft = 0;
|
document.documentElement.scrollLeft = 0;
|
||||||
|
|
||||||
|
var cali = (function() {
|
||||||
|
var ac = new AudioContext(),
|
||||||
|
fi = ac.createBiquadFilter(),
|
||||||
|
freqs = new Float32Array(1),
|
||||||
|
mag = new Float32Array(1),
|
||||||
|
phase = new Float32Array(1);
|
||||||
|
|
||||||
|
freqs[0] = 14000;
|
||||||
|
fi.type = 'peaking';
|
||||||
|
fi.frequency.value = 18000;
|
||||||
|
fi.Q.value = 0.8;
|
||||||
|
fi.gain.value = 1;
|
||||||
|
fi.getFrequencyResponse(freqs, mag, phase);
|
||||||
|
|
||||||
|
return mag[0]; // 1.0407 good, 1.0563 bad
|
||||||
|
})(),
|
||||||
|
mp = cali < 1.05;
|
||||||
|
|
||||||
var can = document.createElement('canvas'),
|
var can = document.createElement('canvas'),
|
||||||
cc = can.getContext('2d'),
|
cc = can.getContext('2d'),
|
||||||
w = 2048,
|
w = 2048,
|
||||||
|
@ -28,12 +46,12 @@ var cfg = [ // hz, q, g
|
||||||
[1000, 0.9, 1.1],
|
[1000, 0.9, 1.1],
|
||||||
[2000, 0.9, 1.105],
|
[2000, 0.9, 1.105],
|
||||||
[4000, 0.88, 1.05],
|
[4000, 0.88, 1.05],
|
||||||
[8000 * 1.006, 0.73, 1.24],
|
[8000 * 1.006, 0.73, mp ? 1.24 : 1.2],
|
||||||
//[16000 * 1.00, 0.5, 1.75], // peak.v1
|
//[16000 * 1.00, 0.5, 1.75], // peak.v1
|
||||||
//[16000 * 1.19, 0, 1.8] // shelf.v1
|
//[16000 * 1.19, 0, 1.8] // shelf.v1
|
||||||
[16000 * 0.89, 0.7, 1.26], // peak
|
[16000 * 0.89, 0.7, mp ? 1.26 : 1.2], // peak
|
||||||
[16000 * 1.13, 0.82, 1.09], // peak
|
[16000 * 1.13, 0.82, mp ? 1.09 : 0.75], // peak
|
||||||
[16000 * 1.205, 0, 1.9] // shelf
|
[16000 * 1.205, 0, mp ? 1.9 : 1.85] // shelf
|
||||||
];
|
];
|
||||||
|
|
||||||
var freqs = new Float32Array(22000),
|
var freqs = new Float32Array(22000),
|
||||||
|
|
Loading…
Reference in a new issue