//! Render *B-format* audio streams to streams suitable for playback on audio equipment.
use std::collections::VecDeque;
use std::fs::File;
use std::io::{BufReader, Read};
use std::time::Duration;
use rodio::Source;
use crate::bformat::{Bformat, Bweights};
/// Stereo Playback configuration
///
/// Playback over two physical speakers in front of the listener. For best results both speakers
/// should be placed symmetrically to the left and the right at the same distance.
///
/// The default setting assumes an arrangement of +/- 45ยบ.
pub struct StereoConfig {
left_mic: Bweights,
right_mic: Bweights,
}
impl StereoConfig {
/// Set direction of the left speaker
pub fn set_left_direction(&mut self, dir: [f32; 3]) {
self.left_mic = Bweights::virtual_microphone(dir, 0.5)
}
/// Set direction of the right speaker
pub fn set_right_direction(&mut self, dir: [f32; 3]) {
self.right_mic = Bweights::virtual_microphone(dir, 0.5)
}
}
impl Default for StereoConfig {
fn default() -> Self {
StereoConfig {
left_mic: Bweights::virtual_microphone([-1.0, 1.0, 0.0], 0.5),
right_mic: Bweights::virtual_microphone([1.0, 1.0, 0.0], 0.5),
}
}
}
/// Render a *B-format* stream to a stereo representation.
///
/// Suitable for playback over two speakers arranged in front of the user.
pub struct BstreamStereoRenderer<I> {
input: I,
buffered_sample: Option<f32>,
left_mic: Bweights,
right_mic: Bweights,
}
impl<I> BstreamStereoRenderer<I> {
/// Construct a new stereo renderer with default settings
pub fn new(input: I, config: StereoConfig) -> Self {
BstreamStereoRenderer {
input,
buffered_sample: None,
left_mic: config.left_mic,
right_mic: config.right_mic,
}
}
}
impl<I> Source for BstreamStereoRenderer<I>
where
I: Source<Item = Bformat>,
{
#[inline(always)]
fn current_frame_len(&self) -> Option<usize> {
self.input.current_frame_len()
}
#[inline(always)]
fn channels(&self) -> u16 {
2 // well, it's stereo...
}
#[inline(always)]
fn sample_rate(&self) -> u32 {
self.input.sample_rate()
}
#[inline(always)]
fn total_duration(&self) -> Option<Duration> {
self.input.total_duration()
}
}
impl<I> Iterator for BstreamStereoRenderer<I>
where
I: Source<Item = Bformat>,
{
type Item = f32;
fn next(&mut self) -> Option<Self::Item> {
match self.buffered_sample.take() {
Some(s) => Some(s),
None => {
let sample = self.input.next()?;
let left = self.left_mic.dot(sample);
let right = self.right_mic.dot(sample);
// emit left channel now, and right channel next time
self.buffered_sample = Some(right);
Some(left)
}
}
}
}
/// Head-Related-Transfer-Function configuration
///
/// Intended to be used for playback over headphones. HRTFs describe delay and level differences
/// between both ears, depending on the direction of the sound.
///
/// The default setting uses a set of real but arbitrary HRIRs, that may not be suitable for
/// all listeners.
pub struct HrtfConfig {
sample_rate: u32,
virtual_speakers: Vec<VirtualSpeaker>,
}
impl HrtfConfig {
pub fn from_file(filename: &str) -> Self {
// todo: proper error handling
let file = File::open(filename).unwrap();
let mut bufr = BufReader::new(file);
let mut data = String::new();
bufr.read_to_string(&mut data).unwrap();
let mut lines = data.split('\n');
let fs: f32 = lines.next().unwrap().parse().unwrap();
assert_eq!(lines.next(), Some(""));
let mut virtual_speakers = Vec::new();
loop {
let bweights: Bweights = match lines.next() {
None | Some("") => break,
Some(l) => l.split(", ").map(|s| s.parse().unwrap()).collect(),
};
let left_hrir: Vec<f32> = match lines.next() {
None | Some("") => panic!("expected hrir"),
Some(l) => l.split(", ").map(|s| s.parse().unwrap()).collect(),
};
let right_hrir: Vec<f32> = match lines.next() {
None | Some("") => panic!("expected hrir"),
Some(l) => l.split(", ").map(|s| s.parse().unwrap()).collect(),
};
assert_eq!(lines.next(), Some(""));
virtual_speakers.push(VirtualSpeaker {
bweights,
left_hrir,
right_hrir,
});
}
assert!(lines.next().is_none());
HrtfConfig {
sample_rate: fs as u32,
virtual_speakers,
}
}
}
/// Render a *B-format* stream for headphones using head related transfer functions.
pub struct BstreamHrtfRenderer<I> {
input: I,
buffered_output: Option<f32>,
convolution_buffers: Vec<VecDeque<f32>>,
virtual_speakers: Vec<VirtualSpeaker>,
}
impl<I> BstreamHrtfRenderer<I>
where
I: Source<Item = Bformat>,
{
/// Construct a new HRTF renderer with default settings
pub fn new(input: I, config: HrtfConfig) -> Self {
assert_eq!(config.sample_rate, input.sample_rate());
let convolution_buffers = config
.virtual_speakers
.iter()
.map(|speaker| {
let n = speaker.left_hrir.len().max(speaker.right_hrir.len());
VecDeque::from(vec![0.0; n])
})
.collect();
BstreamHrtfRenderer {
input,
buffered_output: None,
convolution_buffers,
virtual_speakers: config.virtual_speakers,
}
}
}
impl<I> Source for BstreamHrtfRenderer<I>
where
I: Source<Item = Bformat>,
{
#[inline(always)]
fn current_frame_len(&self) -> Option<usize> {
self.input.current_frame_len()
}
#[inline(always)]
fn channels(&self) -> u16 {
2 // well, it's stereo...
}
#[inline(always)]
fn sample_rate(&self) -> u32 {
self.input.sample_rate()
}
#[inline(always)]
fn total_duration(&self) -> Option<Duration> {
self.input.total_duration()
}
}
impl<I> Iterator for BstreamHrtfRenderer<I>
where
I: Source<Item = Bformat>,
{
type Item = f32;
fn next(&mut self) -> Option<Self::Item> {
match self.buffered_output.take() {
Some(s) => Some(s),
None => {
let sample = self.input.next()?;
let (mut left, mut right) = (0.0, 0.0);
for (speaker, buffer) in self
.virtual_speakers
.iter()
.zip(self.convolution_buffers.iter_mut())
{
let signal = speaker.bweights.dot(sample);
buffer.pop_back();
buffer.push_front(signal);
left += buffer
.iter()
.zip(&speaker.left_hrir)
.map(|(s, h)| s * h)
.sum::<f32>();
right += buffer
.iter()
.zip(&speaker.right_hrir)
.map(|(s, h)| s * h)
.sum::<f32>();
}
// emit left channel now, and right channel next time
self.buffered_output = Some(right);
Some(left)
}
}
}
}
struct VirtualSpeaker {
bweights: Bweights,
left_hrir: Vec<f32>,
right_hrir: Vec<f32>,
}
#[allow(clippy::excessive_precision)]
#[allow(clippy::unreadable_literal)]
impl Default for HrtfConfig {
fn default() -> Self {
HrtfConfig {
sample_rate: 48000,
virtual_speakers: vec![
VirtualSpeaker {
bweights: Bweights::new(
0.7071067811865475,
-0.816496580927726,
0.4714045207910317,
-0.3333333333333333,
),
left_hrir: vec![
6.249694706639275e-05,
-0.00028243952328921296,
0.00039321097574429587,
0.00023837495973566547,
-0.0014637806452810764,
0.0025595282204449177,
-0.0018447857291903347,
-0.0006779695104341954,
0.004498468188103288,
-0.005442464607767761,
0.003759668907150626,
0.0018640623602550477,
-0.006082437466830015,
0.007756511913612485,
-0.003998097963631153,
-0.0021380867110565305,
0.008306290255859494,
-0.009208190022036433,
0.004648972535505891,
0.0036788525176234543,
-0.01069918624125421,
0.011754243168979883,
-0.005348835256882012,
-0.006127204978838563,
0.01575250760652125,
-0.015574992867186666,
0.005190895753912628,
0.012431800132617354,
-0.024314825423061848,
0.021705138497054577,
-0.0008787026308709756,
-0.028504931833595037,
0.04286067094653845,
-0.027962650638073683,
-0.028608553111553192,
0.08247961290180683,
-0.0754381762817502,
-0.04592651501297951,
0.34144293516874313,
0.37954293191432953,
0.20059462636709213,
0.13062418438494205,
-0.12131291441619396,
-0.2912873215973377,
-0.13734559528529644,
-0.16622664406895638,
-0.34683477133512497,
-0.11651527136564255,
0.29630551114678383,
0.31389355659484863,
0.10556899942457676,
0.010491994908079505,
-0.08526593446731567,
-0.1666230894625187,
-0.09255216456949711,
-0.02493776148185134,
-0.06238626316189766,
-0.07918930612504482,
-0.04680347163230181,
-0.03289035055786371,
-0.016290670027956367,
0.059497542679309845,
0.09085910394787788,
-0.0033185965730808675,
-0.06864672992378473,
-0.03842157777398825,
-0.02236495492979884,
-0.036113797686994076,
-0.027344368863850832,
0.005672716652043164,
0.009797628736123443,
-0.00959300494287163,
0.01942918635904789,
0.03471678588539362,
-0.008699684985913336,
-0.011614387622103095,
0.00012201226127217524,
-0.027856722008436918,
-0.022657185327261686,
0.007768319337628782,
0.0032951869070529938,
-0.012769994791597128,
-0.006417034310288727,
0.006715834024362266,
0.007260838174261153,
0.01944523537531495,
0.031128812115639448,
0.010596893262118101,
-0.0014670316886622459,
-0.0048954482190310955,
-0.0237991102039814,
-0.02312120283022523,
-0.01996532315388322,
-0.03204412525519729,
-0.025383979082107544,
-0.008575051906518638,
0.008682043990120292,
0.018517260905355215,
0.006145743536762893,
0.0014424450637307018,
0.00692145258653909,
0.0007937258487800136,
-0.004630479670595378,
-0.005305505474098027,
-0.004413420392666012,
-0.0028745652525685728,
-0.000573285433347337,
0.0016807687643449754,
-0.005815992481075227,
-0.0025802908930927515,
0.012141265906393528,
0.005421288660727441,
0.0013678490358870476,
0.009112955303862691,
0.0040744003490544856,
0.00702875608112663,
0.012124794302508235,
0.0028214772464707494,
0.0015385470760520548,
0.002506087184883654,
-0.0008853519102558494,
-0.0012675259495154023,
-0.004783707845490426,
-0.0028250509058125317,
0.0037158126360736787,
0.005279784090816975,
0.006231000879779458,
0.0051083555445075035,
0.007632565102539957,
0.01048899837769568,
0.0036740972427651286,
0.001983111578738317,
0.0035381512134335935,
-0.000574306286580395,
-0.00025279156034230255,
-0.00010961520274577197,
-0.0036387465661391616,
-0.005428191507235169,
-0.006147056119516492,
-0.00927771208807826,
-0.01860566553659737,
-0.01763490028679371,
-0.003227702691219747,
0.0023253697145264596,
0.007290048524737358,
0.013826603535562754,
0.011595143005251884,
0.015828644391149282,
0.01609584200195968,
0.0016346463235095143,
-0.007241895073093474,
-0.01138537423685193,
-0.01037969021126628,
0.0011331626592436805,
0.008892763289622962,
0.008529684855602682,
0.004342010070104152,
0.005106285680085421,
0.010983191896229982,
0.009235655888915062,
0.009059850708581507,
0.008976171957328916,
0.000733575361664407,
0.002697095915209502,
0.004676739044953138,
-0.0029117308440618217,
-0.0007357707363553345,
0.000952893533394672,
0.0011695423745550215,
0.010196842486038804,
0.00852988741826266,
-0.0001782797698979266,
-0.0019086155225522816,
-0.005011738394387066,
-0.009173234575428069,
-0.0106781383510679,
-0.007800499442964792,
-0.002403025864623487,
0.001391688419971615,
0.007369904196821153,
0.007325524929910898,
0.0006268388824537396,
0.0006270359153859317,
0.0006073368058423512,
0.00029126365916454233,
0.003846815670840442,
0.0025295838713645935,
0.0008593829261371866,
-0.0011694073327817023,
-0.004735290713142604,
-0.0022460984473582357,
-0.002000743697863072,
-0.0013906770618632436,
0.004937582416459918,
0.0062575447373092175,
0.00903693726286292,
0.013184006093069911,
0.011330225970596075,
0.011064284481108189,
0.007377627771347761,
0.003141598717775196,
0.005115159437991679,
0.00288839713903144,
0.004457836039364338,
0.009146445663645864,
0.004348017100710422,
0.0034181925002485514,
0.005017484072595835,
0.0008086793241091073,
-0.00046795172238489613,
-0.0010066710819955915,
0.00020813791707041673,
0.0020555066294036806,
-0.00028366699552861974,
0.0023597529798280448,
0.000795554879005067,
-0.008020600653253496,
-0.006558361928910017,
-0.0061799760442227125,
-0.011644241167232394,
-0.008227570215240121,
-0.0023492817126680166,
0.0032510177697986364,
0.009940146701410413,
0.010209906613454223,
0.006349647301249206,
0.0023066771973390132,
0.00014037607797945384,
-0.0018855153757613152,
-0.006463265744969249,
-0.004409760003909469,
0.0020518433302640915,
0.003715761413332075,
0.005091885104775429,
0.005362458759918809,
0.004074789467267692,
0.00421386124799028,
0.0024150448734872043,
0.001287688355660066,
0.001167533264379017,
-1.478542458244192e-05,
0.0005885542122996412,
0.0006207956903381273,
0.00037084686482558027,
0.001622876588953659,
0.0013793885591439903,
0.0007684599404456094,
0.0006727885192958638,
0.00018602282580104657,
8.988539775600657e-05,
-1.880817762867082e-05,
-0.00010163993465539534,
1.8745540728559718e-05,
-1.2127803756811772e-05,
-8.994766744763183e-06,
3.0542912554665236e-06,
],
right_hrir: vec![
-7.430274617803434e-08,
1.1837041711260099e-05,
2.7806806883745594e-05,
1.7789141111279605e-05,
7.019369149929844e-05,
4.433234607859049e-05,
4.8247729864669964e-05,
0.00017556818420416676,
0.00011443739822425414,
8.748877007747069e-05,
2.398554215687909e-05,
8.81516200479382e-06,
0.00019158680515829474,
0.00023150856577558443,
0.00033961463486775756,
0.00021816011212649755,
-5.9880726439587306e-05,
3.6231592730473494e-05,
-3.2372486202802975e-05,
4.466863174457103e-05,
0.0003129999458906241,
0.0001980259366973769,
0.0002640761886141263,
0.00022030639229342341,
0.00013081615179544315,
0.00024147659132722765,
-0.00011378861017874442,
-2.1573011963482713e-05,
0.0001596360198163893,
-2.7104642867925577e-05,
0.0004646642992156558,
0.0003377717439434491,
0.0001928548408614006,
0.0004198677561362274,
-0.00033451658964622766,
0.00017006213965942152,
0.0001375170086248545,
-0.0006700678932247683,
0.0016156323545146734,
0.0017146150639746338,
0.00018766069842968136,
0.0010383360495325178,
-0.0008132927905535325,
-0.0010293642117176205,
0.0005134844104759395,
-0.0014031420869287103,
-0.0001611851985217072,
-8.703448656888213e-05,
-0.00025424364139325917,
0.003698954824358225,
-0.0011867145076394081,
-0.0012200324272271246,
0.003565862134564668,
-0.0059060618514195085,
0.0016185017011594027,
0.0068399758310988545,
-0.014855533372610807,
0.014004349941387773,
0.05863261874765158,
0.03937677480280399,
0.036324840039014816,
0.0463759945705533,
0.01143505098298192,
0.0032596310484223068,
0.007010766421444714,
-0.01736373407766223,
-0.00920102873351425,
-0.005979694542475045,
-0.02895493060350418,
-0.0128682772628963,
-0.00012679883184318896,
-0.008265192154794931,
0.010135478805750608,
0.014804477104917169,
-0.0015207059914246202,
-0.0023443903774023056,
-0.007926352554932237,
-0.013404757482931018,
-0.005525948945432901,
-0.0036046578316017985,
-0.0050194020150229335,
-0.008011156460270286,
-0.014105775626376271,
-0.013409695820882916,
-0.011032249312847853,
-0.007381795439869165,
-0.0005086315286462195,
0.0021535190171562135,
0.0017999154806602746,
-0.005219165468588471,
-0.013754398096352816,
-0.008534631924703717,
-0.00229333367315121,
-0.002709147520363331,
0.0008611468365415931,
0.000615372700849548,
-0.0052778125973418355,
-0.007260394631884992,
-0.010091251460835338,
-0.013752584345638752,
-0.012552784755825996,
-0.010199000826105475,
-0.00878144579473883,
-0.006994022405706346,
-0.004267204785719514,
-0.0009532646799925715,
0.0007109336729627103,
0.0005880153912585229,
-0.0013743899762630463,
-0.004340381419751793,
-0.005149883800186217,
-0.006286018178798258,
-0.00779984169639647,
-0.00451864063506946,
-0.0010312621452612802,
-0.0007047363033052534,
0.0005129132478032261,
-0.0007348020153585821,
-0.0036647971137426794,
-0.0019499106565490365,
-0.0006101031249272637,
-0.0014678205479867756,
-0.00017620806829654612,
-0.0008285394142149016,
-0.0032210946665145457,
-0.0015857953985687345,
0.001961265516001731,
0.004463792720343918,
0.006398887489922345,
0.006752574699930847,
0.003742000844795257,
-0.0003468018985586241,
-0.0009635552123654634,
-0.0015161276678554714,
-0.005255865398794413,
-0.0071313855005428195,
-0.007838738965801895,
-0.008589525823481381,
-0.005183807807043195,
-0.0010729440691648051,
0.0018278611241839826,
0.005961521528661251,
0.006752827321179211,
0.003495782148092985,
0.0012219848576933146,
0.0015007484762463719,
0.0013753093662671745,
-0.003992719284724444,
-0.008650572272017598,
-0.007775836274959147,
-0.010342682944610715,
-0.010716045508161187,
-0.0018408500181976706,
0.00038224745367188007,
-0.0027608496020548046,
0.0023857004998717457,
0.005189026705920696,
0.0016209263412747532,
0.0021833344362676144,
0.002832771569956094,
9.508249604550656e-05,
-0.00047864828957244754,
0.000206435433938168,
0.00036970119253965095,
0.0005882854384253733,
-0.0002065124863293022,
-0.0007716364052612334,
-0.0007408687815768644,
-0.001353623520117253,
-0.00013877995115763042,
0.0031332045909948647,
0.0046643882524222136,
0.004633018688764423,
0.00555948237888515,
0.007235232624225318,
0.007464002701453865,
0.0052502373000606894,
0.003215426695533097,
0.0025200264644809067,
0.001215625088661909,
0.0008073481876635924,
0.0024427357129752636,
0.003150530392304063,
0.002682756748981774,
0.0028062736964784563,
0.003302594122942537,
0.0036008606548421085,
0.0036204661591909826,
0.0040247736615128815,
0.004071285366080701,
0.0022365362383425236,
0.0012069480726495385,
0.002365447871852666,
0.001750577357597649,
0.000389081978937611,
0.0021996382565703243,
0.002590870135463774,
-0.00012188041182525922,
0.0013633556955028325,
0.004091382143087685,
0.0007738138810964301,
-0.0023682448954787105,
-0.0020002662495244294,
-0.0024377810768783092,
-0.0017275444406550378,
0.0005160105502000079,
0.0014785752864554524,
0.001458525366615504,
0.0009179780317936093,
0.001876622554846108,
0.002034110075328499,
-0.0014337169704958797,
-0.0017423529061488807,
-3.793538553509279e-05,
-0.0012784055434167385,
0.001290770887862891,
0.00581553322263062,
0.006456398405134678,
0.007593865739181638,
0.0076399149838835,
0.0048319585039280355,
0.0029108612216077745,
0.0004465049278223887,
-0.001864349760580808,
-0.0027001334819942713,
-0.003885716141667217,
-0.003539768513292074,
-0.0013919148477725685,
0.0010734963871072978,
0.0031622510869055986,
0.0037370406789705157,
0.00449674524134025,
0.0042752965237013996,
0.002145593607565388,
0.0015995313879102468,
0.00046508586819982156,
-0.0010994675540132448,
-0.0002555615355959162,
-0.00034920103644253686,
0.00018782917322823778,
0.002268736861879006,
0.0020288737141527236,
0.0020643495372496545,
0.002804987016133964,
0.0017188326455652714,
0.0008251126564573497,
0.00039863763959147036,
-0.00023764179786667228,
-0.00035221608413849026,
-0.00020372021026560105,
4.474953584576724e-05,
0.00019254270227975212,
0.00012836489077017177,
9.029105967783835e-05,
3.3309468108200235e-05,
-1.0638805036933263e-06,
],
},
VirtualSpeaker {
bweights: Bweights::new(
0.7071067811865475,
0.816496580927726,
0.4714045207910317,
-0.3333333333333333,
),
left_hrir: vec![
4.88212606342131e-06,
1.3327436363397283e-05,
7.997744546628383e-06,
-1.2683767636190169e-05,
-1.6893814063223545e-05,
-5.1981919568788726e-05,
-8.713887837075163e-05,
-1.8534450418883353e-05,
-1.1113567097709165e-05,
4.8982656153384596e-05,
0.00026392017389298417,
0.0003181998181389645,
0.0003356216984684579,
0.00035676399420481175,
0.0002749317354755476,
0.00024255339667433873,
0.00011186997653567232,
-1.5991536201909184e-05,
-4.6801687858533114e-05,
-0.0002138770832971204,
-0.00017042344552464783,
-1.5157953612288111e-05,
-6.867293905088445e-05,
0.00011524858564371243,
0.0002402230711595621,
0.0001338859601673903,
0.00030915132811060175,
0.00037645280826836824,
0.0002677591510291677,
0.00022164562324178405,
5.09627989231376e-05,
2.860803306248272e-05,
-7.047448889352381e-05,
-0.0002604072324174922,
-0.00011810538126155734,
-0.00014332978935271967,
-5.562782007473288e-05,
0.00012641305147553794,
-6.264418175305764e-06,
0.000589943811064586,
0.0009048316860571504,
0.00038882884837221354,
0.0005616044290945865,
6.495528850791743e-05,
-0.0004123782127862796,
0.00019079419871559367,
-0.0005938442700426094,
-0.00047160068788798526,
0.00046031156671233475,
-0.0004930646537104622,
0.0006788840255467221,
0.0008226516365539283,
-0.0009835005039349198,
0.0015563440683763474,
-0.00029806436941726133,
-0.0019440017058514059,
0.005011885077692568,
-0.002617577265482396,
-0.0047825806541368365,
0.032635407987982035,
0.05263352766633034,
0.032484622206538916,
0.03195778699591756,
0.03562275553122163,
0.010284124873578548,
-0.003402877482585609,
0.00045171072997618467,
-0.0027854161453433335,
-0.007694459054619074,
-0.01617541303858161,
-0.01742280670441687,
0.0021309865405783057,
0.010114352917298675,
-0.0021232565632089972,
-0.0021949762594886124,
0.004881483037024736,
-0.0012499229342211038,
-0.010427572997286916,
-0.013053041184321046,
-0.014247758081182837,
-0.013786347117275,
-0.008739310433156788,
-0.005483978311531246,
-0.004698482807725668,
0.002147007908206433,
0.006726436549797654,
-0.0006379398109856993,
-0.004794772539753467,
7.016358267719625e-05,
-0.0032908329740166664,
-0.017090410692617297,
-0.024142954498529434,
-0.01780591788701713,
-0.00800405628979206,
-0.0009409544873051345,
0.004676895041484386,
0.0046557135647162795,
-6.421038960979786e-05,
-0.0009270982991438359,
-0.0028483918868005276,
-0.010959318606182933,
-0.015721176750957966,
-0.014470535097643733,
-0.012626503594219685,
-0.010645377915352583,
-0.008243810734711587,
-0.004511364677455276,
0.00027487481929711066,
0.002605214831419289,
0.002766838006209582,
0.0009170400153379887,
-0.003819945559371263,
-0.006823094445280731,
-0.006996472366154194,
-0.00796775973867625,
-0.008179080323316157,
-0.006339934770949185,
-0.004372575203888118,
-0.0027354934718459845,
-0.0016794931434560567,
0.0002793584644678049,
0.0039026219747029245,
0.00537336862180382,
0.004412277776282281,
0.003592235443647951,
0.0014174397801980376,
-0.0015163689386099577,
-0.0027410045731812716,
-0.0040370464557781816,
-0.006302004330791533,
-0.007434799335896969,
-0.006787246675230563,
-0.0049323937855660915,
-0.0011201528832316399,
0.004677849938161671,
0.008259380119852722,
0.008094704244285822,
0.007637975504621863,
0.004988989676348865,
-9.179396442959842e-06,
-0.0016769676585681736,
-0.0036822419497184455,
-0.007870799163356423,
-0.007224565488286316,
-0.005916262743994594,
-0.006273854523897171,
-0.0008503306162310764,
0.003656598273664713,
0.0015825040463823825,
0.0012546857760753483,
0.0013518867490347475,
-0.00107847765320912,
-0.0006394629599526525,
-2.821407861119951e-05,
-0.002138352137990296,
-0.0025924350484274328,
-0.0019365997286513448,
-0.002234968269476667,
-0.0019006950606126338,
-0.0005136209074407816,
0.001079428184311837,
0.0020082575792912394,
0.0019135962065774947,
0.0008259680180344731,
-0.00032577219826634973,
0.0002686410880414769,
0.0005364705430110916,
-0.001344160409644246,
-0.0011683143384288996,
0.0014173125964589417,
0.0022470341355074197,
0.0025013473350554705,
0.0032574590295553207,
0.002425875572953373,
0.0016328426136169583,
0.002240780886495486,
0.0018547670333646238,
0.0007868731336202472,
0.0013046932872384787,
0.0026794281438924372,
0.003725533897522837,
0.00447266356786713,
0.004736734845209867,
0.004996536299586296,
0.0051169650396332145,
0.003993767313659191,
0.00296466430881992,
0.00323199579725042,
0.003039033617824316,
0.002185025659855455,
0.002109288761857897,
0.002229342790087685,
0.001760208688210696,
0.0012653229350689799,
0.0007926919352030382,
-1.3321509868546855e-05,
-0.00030289213100331835,
0.0002799878166115377,
0.00040141316276276484,
0.00028682132324320264,
0.0008928584429668263,
0.00110000888525974,
0.0008861961396178231,
0.001123773618019186,
0.001145380228990689,
0.0012144715583417565,
0.0015817253733985126,
0.0013684089935850352,
0.00101699166407343,
0.000797123575466685,
0.0003089042365900241,
-4.3264344640192576e-05,
-0.00021224726879154332,
-0.0001475689987273654,
0.0002519778900023084,
0.000645803811494261,
0.001337014400633052,
0.0022436077415477484,
0.0029499316588044167,
0.0037491769762709737,
0.004362295148894191,
0.00444486242486164,
0.004187464655842632,
0.003725991991814226,
0.003168876573909074,
0.002016432408709079,
0.0005312914800015278,
-0.00018838047253666446,
-0.0004819103196496144,
-0.0004894843368674628,
-7.490060852433089e-05,
2.5284593903052155e-05,
0.0003260909943492152,
0.0008695109136169776,
0.0005918831811868586,
0.00021059007849544287,
0.00013232066521595698,
-0.00018082975657307543,
-0.00043606236431514844,
-0.0005287028761813417,
-0.0004422263737069443,
-0.0002549507189542055,
-0.00022671511032967828,
-5.0582184485392645e-05,
0.0003005042890436016,
0.0006262331589823589,
0.0008962382707977667,
0.0008756404713494703,
0.0006440986908273771,
0.0004443036232260056,
0.00026440986403031275,
0.00010835359717020765,
1.1892751672348822e-05,
-1.3353469512367155e-05,
-3.5050703672823147e-06,
4.2953377743515375e-07,
],
right_hrir: vec![
6.0388802012312226e-05,
-0.00016104753740364686,
-1.2015073025395395e-06,
0.0006974997813813388,
-0.001440281339455396,
0.0013774687249679118,
0.0002266208321088925,
-0.0024881880381144583,
0.0039908732287585735,
-0.0026051636086776853,
-0.0005919394243392162,
0.004494344466365874,
-0.005170257645659149,
0.003282709512859583,
0.0015929262735880911,
-0.0051484553841874,
0.0063634710386395454,
-0.0029229471692815423,
-0.002406316780252382,
0.006962530314922333,
-0.007183789275586605,
0.002583065361250192,
0.004684188752435148,
-0.009057705756276846,
0.00851678429171443,
-0.0002987235529872123,
-0.007990453159436584,
0.013368402142077684,
-0.007814542041160166,
-0.004390274407342076,
0.016931891441345215,
-0.017936518415808678,
0.0011285571963526309,
0.021658623591065407,
-0.035715901758521795,
0.010265382006764412,
0.050705475732684135,
-0.07769471500068903,
-0.002450010215397924,
0.32014284282922745,
0.3675757348537445,
0.17924098297953606,
0.06276061292737722,
-0.11177791282534599,
-0.2258940041065216,
-0.1330767758190632,
-0.17142347991466522,
-0.23926572874188423,
-0.040701464749872684,
0.12996249832212925,
0.17350446432828903,
0.17771797254681587,
0.004350072413217276,
-0.14494359493255615,
-0.09769289754331112,
-0.047880359925329685,
-0.009466857300139964,
-0.0005509203765541315,
-0.07458946667611599,
-0.0844816118478775,
-0.040153320878744125,
-0.015571094118058681,
0.029664470348507166,
0.047440496273338795,
0.01857117749750614,
-0.016211954643949866,
-0.03618371672928333,
-0.025632393080741167,
-0.027270102873444557,
-0.028027547523379326,
-0.007809643866494298,
-0.0206342083401978,
-0.015330701135098934,
0.025112195871770382,
0.02637578174471855,
0.01200978527776897,
-0.007415172294713557,
-0.02759003546088934,
-0.014648648211732507,
-0.007632636115886271,
-0.004860551853198558,
0.00587892543990165,
-0.0034967678948305547,
-0.0038210643106140196,
0.00018477574485586956,
2.29525380746054e-05,
0.013697479153051972,
0.005192877724766731,
0.0020165946625638753,
0.016913070576265454,
-1.4505553735943977e-05,
0.0019746788893826306,
0.014324072981253266,
-0.01713008969090879,
-0.024686965625733137,
-0.01205745036713779,
-0.017083632992580533,
-0.003992084821220487,
-0.001631650811759755,
-0.017354427836835384,
-0.008735035080462694,
0.005393711617216468,
0.01242619357071817,
0.013033191207796335,
0.0016689152107574046,
-0.007156152278184891,
-0.01072753919288516,
-0.006563756032846868,
-0.00025308561816927977,
-0.002094181691063568,
0.0033241690834984183,
0.006206281250342727,
-0.0005658719237544574,
0.003051833191420883,
0.0032347909291274846,
-0.0008500811236444861,
0.005822128732688725,
0.004441721539478749,
-0.0009177927859127522,
0.004873136931564659,
0.006741980905644596,
0.0022347002231981605,
0.0007568136788904667,
-0.00030540599254891276,
-0.0015685465768910944,
0.0036455606459639966,
0.010427111992612481,
0.0069700193125754595,
0.003038742288481444,
0.0046134949661791325,
0.0009234482422471046,
-0.002343581145396456,
-0.0016547780251130462,
-0.001686438627075404,
0.0012509281805250794,
0.0026409668498672545,
0.0024389554164372385,
0.005118533736094832,
0.005227242363616824,
0.004356306162662804,
0.000508723605889827,
-0.008706831722520292,
-0.012471955269575119,
-0.009015165269374847,
-0.0011319012992316857,
0.006849308265373111,
0.008451947360299528,
0.00997120514512062,
0.011566424509510398,
0.009792814962565899,
0.006809139740653336,
-0.002395894844084978,
-0.009547146619297564,
-0.0069458718644455075,
-0.004164222918916494,
-0.001051397921401076,
-0.0025299758999608457,
-0.010101433144882321,
-0.007055857568047941,
0.002382701204624027,
0.00912636169232428,
0.013823534827679396,
0.009991743136197329,
0.006326686125248671,
0.007912642904557288,
0.003954381390940398,
0.00013962810044176877,
0.00023533655621577054,
0.0005820943988510408,
0.004941381048411131,
0.008389498689211905,
0.006175246671773493,
0.002524018636904657,
-0.00015088665350049268,
-0.0014845629630144686,
-0.0026445885305292904,
-0.0023031156160868704,
-0.0005545754538616166,
0.00133623878355138,
0.005804037791676819,
0.006735709612257779,
0.002460400282870978,
0.001292375527555123,
0.0003550533438101411,
0.0002942467290267814,
0.005256165168248117,
0.008002687827683985,
0.007539379294030368,
0.005673773121088743,
0.0009429540659766644,
-0.003604732046369463,
-0.00630794616881758,
-0.005695655709132552,
-0.004019894695375115,
-0.0027250387938693166,
0.002627416979521513,
0.0055232178419828415,
0.005164228496141732,
0.00930031412281096,
0.010157240321859717,
0.007787237409502268,
0.00820184824988246,
0.005960613489151001,
0.0038976978976279497,
0.003832779184449464,
0.003949328092858195,
0.005512075149454176,
0.002492292842362076,
-0.000531420846527908,
0.0007660062692593783,
-0.0017340587510261685,
-0.001686623290879652,
0.0020559343101922423,
0.0020602563745342195,
0.0035956691135652363,
0.003701615205500275,
0.00019422985133132897,
-0.002100272395182401,
-0.005406003328971565,
-0.0059116369811818,
-0.004984181723557413,
-0.004588585288729519,
0.0021456039394252002,
0.00569098861888051,
0.0043445557821542025,
0.0058915268164128065,
0.001696469116723165,
-0.0018262020603287965,
0.0005219165177550167,
-0.001590299216331914,
-0.0008773127046879381,
0.001428638497600332,
-0.0007324183388845995,
0.0018407212337478995,
0.0029530320898629725,
0.0010463841317687184,
0.0029232021188363433,
0.0016727857291698456,
0.0006080678940634243,
0.001715871476335451,
-4.9727982514014e-05,
-7.959223694342654e-05,
9.100264833250549e-05,
-0.0007891788118286058,
0.00030301287551992573,
0.00037403417081804946,
0.00024564478735555895,
0.0007850679685361683,
0.00034169101127190515,
0.0002569049865996931,
0.00024342984033864923,
-8.135214102367172e-06,
5.087994850327959e-05,
2.0839365788560826e-05,
-5.126954647494131e-06,
4.190779634427599e-06,
],
},
VirtualSpeaker {
bweights: Bweights::new(
0.7071067811865475,
0.0,
-0.9428090415820634,
-0.3333333333333333,
),
left_hrir: vec![
9.52822404087783e-06,
-3.5951090922026196e-05,
0.00010234392902930267,
3.597948079914204e-05,
-0.00010943757843051571,
0.00043971860577585176,
-0.0002872883851523511,
0.00015387609892059118,
0.0005898686868022196,
-0.0006601939821848646,
0.000847721821628511,
0.00011919804819626734,
-0.0005332484215614386,
0.0011117889516754076,
-0.0006626371032325551,
0.00016644384231767617,
0.000945063802646473,
-0.0009391793719260022,
0.001118711443268694,
0.00021283274691086262,
-0.0007705613097641617,
0.0015156430890783668,
-0.0007970425940584391,
0.00012608443284989335,
0.0012940938177052885,
-0.0014553876826539636,
0.0012569726095534861,
0.00020453526303754188,
-0.0012859748676419258,
0.002140922879334539,
-0.0013282208237797022,
-0.00012508799045463093,
0.002096103271469474,
-0.0026003466336987913,
0.0019346871704328805,
0.000815570674603805,
-0.0030456020613200963,
0.003847298212349415,
-0.002147908235201612,
-0.002252049744129181,
0.005014518974348903,
-0.0061098107835277915,
0.0013744908210355788,
0.0071157829370349646,
-0.009951872052624822,
0.00797219923697412,
0.008041249820962548,
-0.028256967198103666,
0.0231960229575634,
0.13080048374831676,
0.16412679105997086,
0.11109716258943081,
0.03674140200018883,
0.02220591763034463,
0.019238796085119247,
-0.08088949136435986,
-0.16542557626962662,
-0.09834178723394871,
0.005870317691005766,
0.007893320871517062,
-0.04545657895505428,
-0.04080573562532663,
0.020981617271900177,
0.04993267357349396,
0.02230315702036023,
-0.01721418695524335,
-0.0399296497926116,
-0.04159102216362953,
-0.030782734975218773,
-0.02110813045874238,
-0.017622322775423527,
-0.005916040390729904,
0.013353823451325297,
0.007449713884852827,
-0.007366109639406204,
0.004569100856315345,
0.00661877915263176,
-0.01578878378495574,
-0.022049567196518183,
-0.01428640098311007,
-0.010681297862902284,
-0.005506366724148393,
0.002920285623986274,
0.010023200884461403,
0.0084893056191504,
0.0027889825287275016,
0.0030150386737659574,
0.0012561350013129413,
-0.003819851262960583,
-0.00408923311624676,
-0.003453851386439055,
-0.004631526826415211,
-0.0037263857666403055,
0.0011180011642863974,
0.004601435211952776,
0.0030677669565193355,
0.0032662192825227976,
0.0024384757853113115,
-0.004424555227160454,
-0.007851385744288564,
-0.00743413285817951,
-0.008082080166786909,
-0.007105532567948103,
-0.0055292254546657205,
-0.002334634482394904,
0.001956721971509978,
0.0022519043704960495,
0.0010267207107972354,
-0.0005730186603614129,
-0.0022475286095868796,
-0.0007305927283596247,
-0.0008077150414464995,
-0.00429822102887556,
-0.005730004631914198,
-0.004460422496777028,
-0.001990164309972897,
-0.0008988355693873018,
-0.0030752079328522086,
-0.004883681540377438,
-0.0033661292400211096,
-0.0009867531480267644,
-0.0015440251445397735,
-0.0031196841155178845,
-0.002076226082863286,
-0.00026727675503934734,
0.0009680219955043867,
0.0009681056690169498,
-0.0003891911910613999,
0.0006318857776932418,
0.0026635851827450097,
0.002754520101007074,
0.0027006096206605434,
0.002037474769167602,
0.0022805557819083333,
0.005228950758464634,
0.007190914475359023,
0.005999362911097705,
0.0009951118408935145,
-0.0031349295750260353,
0.0009930894884746522,
0.00679549528285861,
0.005037806113250554,
-0.001045328172040172,
-0.004942495143041015,
-0.004945992259308696,
-0.005698939203284681,
-0.0074592308374121785,
-0.003175578312948346,
0.0037133102887310088,
0.003643058880697936,
-0.0030927301850169897,
-0.010190277826040983,
-0.013184217968955636,
-0.011643330799415708,
-0.005769290146417916,
0.0008910895849112421,
0.0017292003030888736,
0.001315484696533531,
0.005088591715320945,
0.006091717514209449,
0.003183239314239472,
0.0022326350153889507,
0.0032888224814087152,
0.003962028713431209,
0.0025611702585592866,
0.000751976840547286,
0.0011153722152812406,
0.002374587638769299,
0.0039996899431571364,
0.00500153168104589,
0.004513902531471103,
0.004810942627955228,
0.005259563331492245,
0.005455418140627444,
0.006340111722238362,
0.004458473122213036,
0.000648668356006965,
0.0003813388684648089,
0.0022314745001494884,
0.0024445686722174287,
0.0024172657867893577,
0.0039031266351230443,
0.0048586929915472865,
0.0013483359361998737,
-0.007553744944743812,
-0.012908366043120623,
-0.007394013227894902,
-0.002527006436139345,
-0.00299187027849257,
0.0040030223317444324,
0.010991283925250173,
0.005438647931441665,
-0.000958522578002885,
-0.0017224143084604293,
-0.0001362802959192777,
0.00212884959182702,
0.0013030479021836072,
0.003121646004728973,
0.006183032528497279,
0.00013850469258613884,
-0.0027116065029986203,
0.0035768296220339835,
0.00461754942080006,
0.002331276918994263,
0.0029172320500947535,
0.0032883297535590827,
0.0037381038418971,
0.003985307412222028,
0.004237479297444224,
0.004684377345256507,
0.005437181098386645,
0.008575746905989945,
0.008513826178386807,
0.003957996086683124,
0.0018549617379903793,
0.0007466327951988205,
0.00010300261237716768,
0.00010257343092234805,
-0.001962795067811385,
-0.001395819999743253,
-0.0005797971607535146,
-0.0036364168045111,
-0.003649572317954153,
-0.0021777680376544595,
-0.0006756417860742658,
0.0033111433731392026,
0.001399391476297751,
-0.003410153731238097,
-0.0018828557222150266,
-0.0013218361709732562,
-0.003889813378918916,
-0.0035072036553174257,
-0.0006018146086717024,
0.0026723614428192377,
0.003529568202793598,
0.002293830766575411,
0.002166104532079771,
0.002437909279251471,
0.0024713578750379384,
0.0019061221973970532,
0.00048150610382435843,
-0.0001776230965333525,
-7.415444542857585e-05,
0.00026298395823687315,
0.0006031878729118034,
0.0007220348925329745,
0.0010495277092559263,
0.000937527947826311,
0.0004367112705949694,
0.00036307028494775295,
0.0002585888796602376,
8.504477591486648e-05,
8.283464012492914e-05,
5.550915375351906e-05,
2.3210061499412404e-05,
7.3890271323762136e-06,
],
right_hrir: vec![
1.847928274401056e-05,
-1.1761288760681055e-05,
-7.122177521523554e-05,
0.0003193273732904345,
-0.0003459094659774564,
0.00023680287995375693,
0.0005150257129571401,
-0.0008673933189129457,
0.0011778466432588175,
-0.00022311436623567715,
-0.0005993644299451262,
0.0017050404858309776,
-0.0013074920570943505,
0.0005927702659391798,
0.0010262940486427397,
-0.0016357794811483473,
0.0017660320736467838,
-0.0003978497989010066,
-0.0008587220509070903,
0.002182546886615455,
-0.0017505187133792788,
0.0007929479033919051,
0.0012573863205034286,
-0.0022832931426819414,
0.002487059391569346,
-0.0006385230517480522,
-0.0012277503265067935,
0.0031848184880800545,
-0.002686545776668936,
0.001151111428043805,
0.0020213035168126225,
-0.003555421717464924,
0.003970071265939623,
-0.0010046092211268842,
-0.002346122928429395,
0.0053535361075773835,
-0.005096463137306273,
0.0012646388495340943,
0.003753068158403039,
-0.008234312990680337,
0.007125159609131515,
-0.001477139740018174,
-0.008083556313067675,
0.0141730101313442,
-0.010649497853592038,
-0.001637704117456451,
0.023431689478456974,
-0.030791040044277906,
0.006510987295769155,
0.0948167871683836,
0.08402463980019093,
0.11686742305755615,
0.11976245790719986,
0.022590546868741512,
0.020170777570456266,
-0.0048214750131592155,
-0.11331218294799328,
-0.09145615622401237,
-0.035313612315803766,
-0.042110555805265903,
-0.018947060452774167,
-0.021055520046502352,
-0.038113079499453306,
-0.0012060744484188035,
0.02429830376058817,
0.01871738932095468,
0.0023950470495037735,
-0.019472433486953378,
-0.02404071856290102,
-0.024236927274614573,
-0.02748823957517743,
-0.024755774065852165,
-0.015303421532735229,
-0.0006936475256225094,
-0.002460875257384032,
-0.0025789288338273764,
0.012694649631157517,
0.0036959978751838207,
-0.00934092910028994,
-0.007772613898850977,
-0.01776870689354837,
-0.01410461962223053,
0.0014435940829571337,
-0.0003378354085725732,
-0.0009658761700848117,
-0.0008709228859515861,
-0.001411114790244028,
0.007905530510470271,
0.00839670014102012,
0.002892597985919565,
0.0007423460192512721,
-0.005253431154415011,
-0.004316079430282116,
0.0014815593021921813,
0.0014822550292592496,
0.0014746528177056462,
8.403359061048832e-05,
-0.0030783464899286628,
-0.004208135651424527,
-0.005284326616674662,
-0.006064153276383877,
-0.006079392624087632,
-0.005110790370963514,
-0.004514443571679294,
-0.0032727315556257963,
0.0008650222298456356,
0.001138440493377857,
-0.0005333597437129356,
7.068746526783798e-05,
-0.002943405997939408,
-0.0031187458080239594,
-0.0002889821189455688,
-0.0035972773912362754,
-0.004821679613087326,
-0.00360298523446545,
-0.004874569713138044,
-0.0028093141736462712,
-0.0020554296497721225,
-0.0041470633004792035,
-0.0030836297082714736,
-0.0024592719273641706,
-0.002823029353749007,
-0.0020268674416001886,
-0.001044086311594583,
0.00011566262401174754,
0.0009037133713718504,
0.0021114302217029035,
0.0018978930893354118,
0.0011892944894498214,
0.0036853936035186052,
0.003321332042105496,
0.0006811068305978552,
0.0005894284913665615,
-0.001502906234236434,
-0.0013245039735920727,
0.002091095957439393,
0.001412518904544413,
0.0017676175048109144,
0.0030330862500704825,
0.0013390362437348813,
0.0017072913760785013,
0.0011752673162845895,
-0.0008183650061255321,
0.00044546563003677875,
0.0009400917770108208,
0.0007697864930378273,
0.0017422516248188913,
0.001046381366904825,
0.0005973738734610379,
0.0004552602331386879,
-0.001969788718270138,
-0.0047072480083443224,
-0.0058124406496062875,
-0.006046152557246387,
-0.005672696861438453,
-0.0033460973645560443,
-0.0003507384826662019,
0.0022101978538557887,
0.005742645589634776,
0.006770963664166629,
0.004926259280182421,
0.004431842244230211,
0.00325359491398558,
0.0026493973564356565,
0.003893851535394788,
0.0016930697893258184,
-0.0010230918269371614,
-0.0005360439536161721,
0.00025271558115491644,
0.0020362828217912465,
0.004747580969706178,
0.005817481433041394,
0.0045804481487721205,
0.0033987537608481944,
0.003966533404309303,
0.002204979828093201,
2.325739842490293e-05,
0.0009769581811269745,
-0.0001795786556613166,
-0.000426034202973824,
0.0020601168216671795,
0.0008519056427758187,
0.0006784575089113787,
0.0013824508641846478,
-0.002083399594994262,
-0.0033025280572474003,
-0.00341949489666149,
-0.004625055589713156,
-0.00240737441345118,
-0.0009754339407663792,
-0.0011471999459899962,
-9.678277820057701e-05,
0.00039438582462025806,
0.0018492431263439357,
0.0032274919794872403,
0.0036602988257072866,
0.004463896038942039,
0.0033737244666554034,
0.0028734482475556433,
0.002985023020301014,
0.0014823221135884523,
0.002415330964140594,
0.0025594994076527655,
0.0008958166290540248,
0.0024339320953004062,
0.0030326814157888293,
0.0036874780198559165,
0.0064903858583420515,
0.006166266975924373,
0.005706908414140344,
0.005838741781190038,
0.004456782771740109,
0.005054177017882466,
0.004560524539556354,
0.002512627688702196,
0.0016372343816328794,
-0.000576068450754974,
-0.0012008650810457766,
-0.0004056094621773809,
-0.0010793367255246267,
-0.00021373116396716796,
-0.0001605846409802325,
-0.0005949861224507913,
0.0007902504148660228,
-0.00031379102438222617,
-0.0013712274085264653,
-0.001679800043348223,
-0.0036921227001585066,
-0.002733207948040217,
-0.0018287365674041212,
-0.002557513362262398,
-0.0003455411206232384,
0.00031356128602055833,
0.0005147541742189787,
0.0028143340023234487,
0.002289249241584912,
0.002347606496186927,
0.003281437966506928,
0.0015379242540802807,
0.0009650943684391677,
0.0008880082168616354,
0.00023683469407842495,
0.0008017160871531814,
0.0007481567445211112,
0.00047477988118771464,
0.0006787631718907505,
0.0004948460264131427,
0.0005516238525160588,
0.0005206991045270115,
0.0002753238004515879,
0.00024064363969955593,
0.00014483392988040578,
7.640448529855348e-05,
5.65753225600929e-05,
1.8022960830421653e-05,
5.200407144911878e-06,
],
},
VirtualSpeaker {
bweights: Bweights::new(0.7071067811865475, 0.0, 0.0, 1.0),
left_hrir: vec![
2.3244703015734558e-05,
-1.0085714450269734e-05,
-7.84253188612638e-05,
0.00041981500544352457,
-0.0003780681436182931,
0.00026306522158847656,
0.0006372047391778324,
-0.0010581123569863848,
0.0013869191752746701,
-0.00022885400184691207,
-0.0008151487600116525,
0.0020774486620211974,
-0.0015820538101252168,
0.000597896150793531,
0.001413015925209038,
-0.002003863191930577,
0.002200397357228212,
-0.00018298545910511166,
-0.0012722918472718447,
0.0027601237525232136,
-0.0019993660680484027,
0.0006830282563896617,
0.0019414749476709403,
-0.002969260240206495,
0.002811492158798501,
-0.00026063724362757057,
-0.0020650527585530654,
0.0041811382106971,
-0.0029432648443616927,
0.0005359765600587707,
0.0033481710124760866,
-0.004923341621179134,
0.004186026781098917,
0.00032347365049645305,
-0.004525781114352867,
0.007363556360360235,
-0.004629095055861399,
-0.0010937848128378391,
0.008357681217603385,
-0.01035225868690759,
0.005748807161580771,
0.006485585035989061,
-0.015695373876951635,
0.01576945825945586,
0.0006139019387774169,
-0.025990987196564674,
0.032428596168756485,
0.03684784402139485,
0.06005900911986828,
0.20131725817918777,
0.20608201622962952,
0.030289481510408223,
-0.1173320272937417,
-0.16810728702694178,
-0.10679216124117374,
-0.009354793874081224,
0.010409380483906716,
-0.005141112487763166,
-0.009021426667459309,
-0.009995303553296253,
0.002648508525453508,
0.02233332023024559,
0.026383911026641726,
0.00022621647076448426,
-0.027451193891465664,
-0.026680664159357548,
-0.02046415349468589,
-0.005946290912106633,
0.01247829815838486,
-0.0011145448661409318,
-0.016257567331194878,
-0.007779948937240988,
-0.0007289892892003991,
0.0023559074907097965,
0.001536677165177025,
-0.004044080997118726,
-0.010375813290011138,
-0.01498754892963916,
-0.005454247584566474,
0.004019672323920531,
0.002808743520290591,
0.005598424177151173,
-0.0002907367888838053,
-0.012096789432689548,
-0.010428391396999359,
-0.006985567160882056,
-0.0038388374377973378,
-0.0017622912309889216,
-0.00668227206915617,
-0.006413708324544132,
-0.004969490255462006,
-0.006883497553644702,
-0.005740195920225233,
-0.008452226757071912,
-0.011830102012027055,
-0.011350207787472755,
-0.009933858527801931,
-0.005914563989790622,
-0.006224235839908943,
-0.00759086397010833,
-0.004871084092883393,
-0.007006651721894741,
-0.007102094095898792,
-0.003469019866315648,
-0.0033608459489187226,
-0.0003992523124907166,
0.000294502515316708,
-0.002879625608329661,
-0.0023975884687388316,
-0.0035095674684271216,
-0.002951680071419105,
-0.0013994333494338207,
-0.005233562987996265,
-0.003696164640132338,
0.0012267674810573226,
0.0013846351248503197,
0.0006730466952831193,
-0.002776678666123189,
-0.004979634104529396,
-0.0036644231295213103,
-0.004498430207604542,
-0.00282359411357902,
-0.0012898213026346639,
-0.0037886392965447158,
-0.0031628640135750175,
-0.001516712327429559,
-6.219045644684229e-05,
0.0022574488684767857,
0.0008355049922670332,
-0.0012016728214803152,
-0.0024513142852811143,
-0.0035605288576334715,
-0.0016314129607053474,
-0.0009143119314103387,
-0.0012874770982307382,
-9.373927241540514e-05,
-0.0010961961379507557,
-0.0015842085122130811,
-0.0004992813182980171,
-0.0013502118693509146,
-0.0018978560547111556,
-0.0019982912635896355,
-0.0018699400243349373,
2.3982502170838416e-05,
0.0014391186596185435,
0.0018601208284962922,
0.0022337783593684435,
0.0022755983081879094,
0.002306776514160447,
0.002319047416676767,
0.001099306064133998,
-0.002408571235719137,
-0.0032219062268268317,
0.002148959247278981,
0.006197458424139768,
0.004946053231833503,
0.001196932680613827,
-0.0027376540674595162,
-0.00226673444331027,
0.001864894620666746,
0.004340575396781787,
0.004770272062160075,
0.0035732222022488713,
0.0018682831796468236,
0.0017872413445729762,
0.0034822085217456333,
0.004782858013641089,
0.002083320759993512,
-0.0022945688397157937,
-0.004793718981090933,
-0.005372711893869564,
-0.0010385160749137867,
0.00461415431345813,
0.0058194188750348985,
0.005703775532310829,
0.003563647624105215,
0.0002939694695669459,
0.0001296465052291751,
2.527260221540928e-05,
0.0001559488009661436,
-0.0004729469947051257,
-0.0025031986933754524,
0.0013439268514048308,
0.004827523662243038,
0.0017953087808564305,
0.0006582125433851616,
1.3070784916635603e-05,
-0.001255315037269611,
0.0008298446118715219,
0.0024100069276755676,
0.00414920476032421,
0.0053767391364090145,
0.0037406731280498207,
0.003931145329261199,
0.003204968525096774,
0.0004923662709188648,
-0.0002366836247347237,
-0.002571453369455412,
-0.004484422388486564,
-0.0030435522057814524,
-0.0011466691830719355,
0.0017446890706196427,
0.0030491157667711377,
0.002941539423773065,
0.004026677488582209,
0.002918993486673571,
0.0022923956566955894,
0.0023862517628003843,
-0.00035435048175713746,
-0.001007782957458403,
-0.0009177258561976487,
-0.001655446358199697,
0.0002665833198989276,
0.0006335839862003922,
0.001288983685299172,
0.004446314123924822,
0.005547073160414584,
0.008649030060041696,
0.011973192158620805,
0.010753714595921338,
0.010612800542730838,
0.009977127192541957,
0.006917161808814853,
0.00399815704440698,
-0.0008043470734264702,
-0.004091789378435351,
-0.0048914361104834825,
-0.005233528281678446,
-0.0015723675460321829,
0.001105457304220181,
0.00022113490558695048,
0.0018075318075716496,
0.003317453811177984,
0.0034949671680806205,
0.0034896483703050762,
0.0013203821436036378,
0.00042098359699593857,
0.0007933322649478214,
0.00025670264221844263,
0.0007328984224841406,
0.000992048517218791,
0.0009286182466894388,
0.0011969720435445197,
0.0006997611671977211,
0.0006443883830797859,
0.0007287200060090981,
0.0003666646671263152,
0.00043833741983689833,
0.0003575958817236824,
0.00019839495507767424,
0.00026614843591232784,
0.00018442407963448204,
0.00011437613920861622,
7.623114925081609e-05,
2.6349053428020852e-05,
6.83444881133255e-06,
],
right_hrir: vec![
2.2147208385003836e-05,
1.447572458346258e-05,
-0.00015835135855013505,
0.0004871073269896442,
-0.00038384781873901375,
7.300399374798872e-05,
0.0010235519948764704,
-0.0013681435211765347,
0.0013590858679890516,
0.00025215893401764333,
-0.00153660548676271,
0.0024744712573010474,
-0.0014882353934808634,
-7.017515599727631e-06,
0.0021099513105582446,
-0.0025352201373607386,
0.002013755602092715,
0.0003820639176410623,
-0.0021142208424862474,
0.0033414778590667993,
-0.0019380775484023616,
-0.00011942618584726006,
0.003006642800755799,
-0.0035681828012457117,
0.002661373364389874,
0.0007420626934617758,
-0.003295744536444545,
0.004872040808550082,
-0.0025799553259275854,
-0.0005458950181491673,
0.005014315829612315,
-0.005557271033467259,
0.003777915917453356,
0.0020225523667249945,
-0.006427053158404306,
0.008091311647149269,
-0.003711012832354754,
-0.0034747691825032234,
0.010628914751578122,
-0.011059105581807671,
0.0034117099130526185,
0.009206741524394602,
-0.01890106126666069,
0.015506627096328884,
0.005226024659350514,
-0.030219177715480328,
0.03654747939435765,
0.04472183529287577,
0.04409040091559291,
0.1738589582964778,
0.19393815658986568,
0.06233740481548011,
-0.04920071067317622,
-0.1459207944571972,
-0.1628962904214859,
-0.07127392571419477,
0.0053732621017843485,
0.033859306713566184,
0.01956316118594259,
-0.013691208732780069,
-0.016427989467047155,
-0.004248795739840716,
0.012484046164900064,
0.018837025563698262,
-0.0011567590991035104,
-0.015015635290183127,
-0.02087326138280332,
-0.016318372800014913,
0.0007253786316141486,
-0.004550022567855194,
-0.013803848996758461,
-0.011147206532768905,
-0.01126371556892991,
0.0018200375052401796,
0.010460104676894844,
0.0010117382043972611,
-0.0062381342286244035,
-0.01599826675374061,
-0.015313567710109055,
-0.0025484587240498513,
0.0005742862049373798,
0.0052789016626775265,
0.0034141636751883198,
-0.008125794993247837,
-0.005070792540209368,
-0.0005522452556760982,
-0.000709397136233747,
0.0009143633360508829,
-0.004778285947395489,
-0.008409629808738828,
-0.008670624811202288,
-0.008937633538153023,
-0.0036034138065588195,
-0.0022680132315144874,
-0.0018403016292722896,
-0.0015182929655566113,
-0.00811536272522062,
-0.007272086513694376,
-0.004007950483355671,
-0.006590382836293429,
-0.005983202718198299,
-0.008778413466643542,
-0.010556030320003629,
-0.007290639478014782,
-0.00782910967245698,
-0.004090398288099095,
-0.001731463271426037,
-0.00571678567212075,
-0.0041189386683981866,
-0.004206457961117849,
-0.0035920399386668578,
0.0015750723105156794,
-0.0011889215238625184,
-0.0018794834613800049,
0.001654939551372081,
-4.4410404314021434e-05,
0.0012755408533848822,
0.0010869732591345382,
-0.0037397356936708093,
-0.0057393708266317844,
-0.007744714093860239,
-0.006104947533458471,
-0.0021417960670078173,
-0.0016126143600558862,
-4.3596191972028464e-05,
-0.0011924359205295332,
-0.0027075097750639543,
9.868308552540839e-05,
-0.0006995043077040464,
-0.0014491314823317225,
-0.0012399678598740138,
-0.004145483981119469,
-0.002760494317044504,
-0.0003677286804304458,
4.720426659332588e-05,
0.0021413020658656023,
0.000971533536358038,
-0.0008758142575970851,
-0.0008960185004980303,
-0.001660001207710593,
-0.0006985065920162015,
-0.0015379103206214495,
-0.0026001877995440736,
-0.0003203136657248251,
-0.0007081237345119007,
-0.00012809483450837433,
0.0027436039454187267,
0.0020599684648914263,
0.001712329758447595,
0.0023978522222023457,
0.001759701808623504,
-0.0006881382432766259,
-0.003051022213185206,
0.0011551734496606514,
0.004691236244980246,
0.0028085884696338326,
0.0034336047247052193,
0.0005597930430667475,
-0.00352482202288229,
0.000808908989711199,
0.0037816553958691657,
0.004887528339168057,
0.006780912517569959,
0.0027059775311499834,
1.912735569931101e-05,
0.0009920012917064014,
0.0010762680176412687,
0.003462449967628345,
0.0020542431775538716,
-0.0032987719896482304,
-0.0035690546792466193,
-0.0018598614724396612,
0.00029038819775450975,
0.0033623310446273535,
0.0037484729546122253,
0.0033761560916900635,
0.002940850799859618,
0.002190947998315096,
0.0022910614825377706,
0.0007920924690552056,
-0.0013343254977371544,
-0.001965774717973545,
-0.0020087972370674834,
-0.0005364265416574199,
0.0018108120275428519,
0.002584583899079007,
0.0017601503350306302,
0.0011027788787032478,
0.0011985697710770182,
0.0014953382196836174,
0.0033475189411547035,
0.00524257673532702,
0.005043105047661811,
0.005291126435622573,
0.003921058378182352,
-9.075374691747129e-06,
-0.00193472074897727,
-0.0034798237174982205,
-0.004491385334404185,
-0.0030025234445929527,
-0.002230921745649539,
-0.0004501139028434409,
0.0022185539273777977,
0.0028654226116486825,
0.004156941722612828,
0.0038718814903404564,
0.0016237043746514246,
0.00139701172884088,
-0.0001656117819948122,
-0.0017594693053979427,
-0.00038847821997478604,
-0.000514009443577379,
-0.0007591701614728663,
0.0017271831165999174,
0.004455037706065923,
0.005976407555863261,
0.006879216525703669,
0.00835674291010946,
0.00773671199567616,
0.0058402252034284174,
0.007528620772063732,
0.0072576216189190745,
0.004041946231154725,
0.003017668495886028,
-0.0010918253246927634,
-0.004628217557183234,
-0.0013545636466005817,
0.0004903685839963146,
0.0012702988169621676,
0.0031778197444509715,
0.0008079174585873261,
-0.0008180184886441566,
0.0009294746723753633,
0.001585304144100519,
0.0023978925673873164,
0.0024753017351031303,
0.001059193346009124,
0.000530408724443987,
0.00048156387492781505,
0.0009395172673976049,
0.001302522432524711,
0.0008545124001102522,
0.0006322807712422218,
0.0003466168709564954,
0.0002453940032864921,
0.0005419092303782236,
0.00046364672016352415,
0.00035779259633272886,
0.00029192835427238606,
0.00017567463146406226,
0.00021105359337525442,
0.00018271617591381073,
0.00011810288924607448,
7.494639248761814e-05,
2.4374845679631107e-05,
5.238073015334521e-06,
],
},
],
}
}
}