On behalf of Theoretica I would like to clarify a few things and offer answers to some of the questions that were posted under this topic.
@GoosbumpsRbacch is not affiliated in any way with Theoretica. He is simply a happy and clearly very enthusiastic BACCH4Mac owner in Australia who wanted to share his enthusiasm with fellow ASRers. His unsolicited write-up is completely his own with zero input, direct or indirect, from us. We will never use ASR or any other public forum for commercial advertising. Period.
It would be disingenuous to deny that we were very pleased to read @GoosbumpsRbacch’s initial comments. What manufacturer/developer would not be delighted to hear such positive comments (whether subjective or objective) on the product of its hard work? We do not take a single accolade for granted. We are however also very keen to learn about the concerns and requests of BACCHers, and people curious about BACCH, and eager to answer technical questions.
We are sorry that @GoosbumpsRbacch's well-meaning posting engendered some edgy exchanges. Of course we respect the right of ASR members to voice their criticism of any posting for lacking “scientific” or “objective” rigor but we hope that ASR, being both a technically-minded and hobbyist-based forum, can accommodate both subjective and objective comments.
Thoughtful comments and input from ASR members have been very valuable to us in our effort to further improve BACCH. In fact, the latest improvement (the new “Bass Correction” feature) in the current version of the BACCH-dSP application, was developed in direct response to constructive comments posted on ASR. We hope that ASR will remain a vibrant forum, grounded in civility and the love of music reproduction, that allows developers like us to learn from listeners and to offer answers to technical questions that we may be able to address.
In that spirit, I would like to clarify a term discussed earlier under this topic. The term “crosstalk cancellation (XTC)” (which is used in many fields such as electrical engineering, telecommunications, and signal processing, where unintended signal from one channel leaks into another channel) is indeed the correct one used in technical and scholarly journals (e.g. the AES journal and Journal of the Acoustical Society of America) since the early 1960’s to refer to the technique of getting 3D imaging out of stereo playback through a pair of loudspeakers.
The source of confusion, I believe, was stating that it is “crosstalk cancellation between speakers”. Instead it is the crosstalk between the speakers and the ears that must be cancelled. To be more precise, by “crosstalk” it is meant the signal on one channel (say the left) reaching the contraleteral (i.e. opposite-sided) ear (the right ear). Crosstalk cancellation (XTC) therefore is about ensuring that the signal on the left (right) channel of a stereo signal is cancelled on the right (left) ear.
Therefore I think that GrimSurfer was correct in pointing out that "There is no such thing as "crosstalk between speakers””. While mechanical, electromagnetic or acoustical coupling between left and right transducers would indeed represent a form of crosstalk, such crosstalk rarely if ever happens significantly in good hi-fi systems, and is not the crosstalk that 3D audio technologies, such as BACCH, aim to cancel.
I would like to take this opportunity to also answer a couple of more technical questions that arose in the postings in this topic.
Eurasian asks "I wonder if the BACCH algorithm will perform loudspeaker first arrival EQ as well as correct impulse response as part of it's [sic] calculations?”.
The BACCH filter does indeed compensate, to a large extent, for the (phase and amplitude) non-idealities of the actual transducer because the BACCH filter is designed with the requirement of producing, at the speaker, a mechanical response that is as close to an ideal Dirac delta function as possible, for a Dirac delta function applied at the signal input. This should be contrasted with (Impulse-response-based) Room Correction (RC) where the requirement of the RC filter is to produce, at the ears of the listener, an acoustical response that is as close to an ideal Dirac delta function as possible, for a Dirac delta function applied at the signal input.
In other words, BACCH significantly corrects for non-idealities of the transducer, but does not attempt acoustical room correction. We could easily add room correction capability to BACCH-dSP but we decided not to do so, because there are many good third-party RC options available, and we wanted to focus BACCH-dSP on what we think it does best and uniquely, namely 3D imaging. Quite a few BACCHers use RC software downstream of BACCH and this can be easily done in two ways: 1) simply adding the RC system downstream of BACCH processing and designing the BACCH filter after setting up and dialing the RC system, or 2) Obtaining the RC impulse response of the room from the RC system (some but not all RC systems allow access to that impulse response) and applying that impulse response through convolution using a convolver plugin instantiated at the output stage within BACCH-dSP. We added that latter capability in BACCH-dSP a few versions ago, precisely in response to requests on this and other forums (another example of the value of such forums, including ASR, to us).
In sum, BACCH does very effective transducer impulse response correction but not room impulse response correction. Many BACCHers find the former (which is at least as important as RC) more than enough, especially in rooms that are well-behaved acoustically and/or for relatively near-field listening where the direct sound dominates over reflected sound (which is always a good idea for imaging and for obtaining high XTC levels).
Finally, I would like to respond to the comment by Krunok: "I'm pretty sure this software doesn't introduce any distortions nor it changes FR. My guess would be that it changes only the phase of some parts of the signal.” Indeed the foremost and most important aspect of BACCH is that it is the only XTC method that yields zero tonal distortion (coloration) to the processed signal. XTC existed long before BACCH. Prof. Choueiri did not invent XTC. XTC for stereo audio goes all the way back to 1961 (which I think is the year he was born). His main contribution is solving (and publishing) the tonal distortion problem inherent in all previous attempts to do XTC (or, strictly speaking, XTC that relies on recursive processing) with two speakers. For the record, there is indeed another elegant approach to do XTC with very low tonal distortion pioneered by the university of South Hampton before BACCH, but, unlike BACCH, it requires more than two speakers (at least 6). It is called the Optimal Source Distribution (OSD) method. Prof. Choeuiri actually describes OSD in detail in Chapter 5 of the recently published textbook Immersive Sound (published by AES and edited by Profs. Roginska and Geluso of NYU), which interested ASRes may wish to consult for more details.
The explanation of how BACCH does XTC with zero tonal distortion is also given in detail in Chapter 5 of that book (FYI, neither Theoretica nor Dr. Choueiri receive any proceedings from the sale of that book). I would be happy to try to explain the essence of the method but I fear that this posting is already too long. To put it in the simplest possible terms (apologizing in advance if I do not explain some of the technical terms for the sake of space): the BACCH filter is designed through the pseudo-inversion of the measured binaural transfer function between any two speakers and a listener’s two ears while using optimized frequency-dependent regularization (which is an intentional controlled error introduced in the inversion to control the response and XTC level at each frequency) in a much more aggressive way than previously thought needed (previous XTC methods relied on very small amount of regularization to maximize XTC at the cost of tonal distortion). The aggressive regularization allows the amplitude response of the filter to be completely flattened (thus the zero tonal distortion claim) at the cost of dropping the XTC level from infinity to about 20 dB (which is all the XTC level humans need to accurately locate sound sources in 3D space). Since the amplitude response of the filter is perfectly flat (that is in fact the definition of a BACCH filter) the BACCH filter does its magic in the phase domain. Therefore Krunok’s guess that "it changes only the phase of some parts of the signal” is essentially correct.
I hope the above is helpful and that we can continue these discussions and learn from each other.
Buddy
Senior Development Engineer
Theoretica Applied Physics, LLC
Thanks for this I really appreciate it.On behalf of Theoretica I would like to clarify a few things and offer answers to some of the questions that were posted under this topic.
@GoosbumpsRbacch is not affiliated in any way with Theoretica. He is simply a happy and clearly very enthusiastic BACCH4Mac owner in Australia who wanted to share his enthusiasm with fellow ASRers. His unsolicited write-up is completely his own with zero input, direct or indirect, from us. We will never use ASR or any other public forum for commercial advertising. Period.
It would be disingenuous to deny that we were very pleased to read @GoosbumpsRbacch’s initial comments. What manufacturer/developer would not be delighted to hear such positive comments (whether subjective or objective) on the product of its hard work? We do not take a single accolade for granted. We are however also very keen to learn about the concerns and requests of BACCHers, and people curious about BACCH, and eager to answer technical questions.
We are sorry that @GoosbumpsRbacch's well-meaning posting engendered some edgy exchanges. Of course we respect the right of ASR members to voice their criticism of any posting for lacking “scientific” or “objective” rigor but we hope that ASR, being both a technically-minded and hobbyist-based forum, can accommodate both subjective and objective comments.
Thoughtful comments and input from ASR members have been very valuable to us in our effort to further improve BACCH. In fact, the latest improvement (the new “Bass Correction” feature) in the current version of the BACCH-dSP application, was developed in direct response to constructive comments posted on ASR. We hope that ASR will remain a vibrant forum, grounded in civility and the love of music reproduction, that allows developers like us to learn from listeners and to offer answers to technical questions that we may be able to address.
In that spirit, I would like to clarify a term discussed earlier under this topic. The term “crosstalk cancellation (XTC)” (which is used in many fields such as electrical engineering, telecommunications, and signal processing, where unintended signal from one channel leaks into another channel) is indeed the correct one used in technical and scholarly journals (e.g. the AES journal and Journal of the Acoustical Society of America) since the early 1960’s to refer to the technique of getting 3D imaging out of stereo playback through a pair of loudspeakers.
The source of confusion, I believe, was stating that it is “crosstalk cancellation between speakers”. Instead it is the crosstalk between the speakers and the ears that must be cancelled. To be more precise, by “crosstalk” it is meant the signal on one channel (say the left) reaching the contraleteral (i.e. opposite-sided) ear (the right ear). Crosstalk cancellation (XTC) therefore is about ensuring that the signal on the left (right) channel of a stereo signal is cancelled on the right (left) ear.
Therefore I think that GrimSurfer was correct in pointing out that "There is no such thing as "crosstalk between speakers””. While mechanical, electromagnetic or acoustical coupling between left and right transducers would indeed represent a form of crosstalk, such crosstalk rarely if ever happens significantly in good hi-fi systems, and is not the crosstalk that 3D audio technologies, such as BACCH, aim to cancel.
I would like to take this opportunity to also answer a couple of more technical questions that arose in the postings in this topic.
Eurasian asks "I wonder if the BACCH algorithm will perform loudspeaker first arrival EQ as well as correct impulse response as part of it's [sic] calculations?”.
The BACCH filter does indeed compensate, to a large extent, for the (phase and amplitude) non-idealities of the actual transducer because the BACCH filter is designed with the requirement of producing, at the speaker, a mechanical response that is as close to an ideal Dirac delta function as possible, for a Dirac delta function applied at the signal input. This should be contrasted with (Impulse-response-based) Room Correction (RC) where the requirement of the RC filter is to produce, at the ears of the listener, an acoustical response that is as close to an ideal Dirac delta function as possible, for a Dirac delta function applied at the signal input.
In other words, BACCH significantly corrects for non-idealities of the transducer, but does not attempt acoustical room correction. We could easily add room correction capability to BACCH-dSP but we decided not to do so, because there are many good third-party RC options available, and we wanted to focus BACCH-dSP on what we think it does best and uniquely, namely 3D imaging. Quite a few BACCHers use RC software downstream of BACCH and this can be easily done in two ways: 1) simply adding the RC system downstream of BACCH processing and designing the BACCH filter after setting up and dialing the RC system, or 2) Obtaining the RC impulse response of the room from the RC system (some but not all RC systems allow access to that impulse response) and applying that impulse response through convolution using a convolver plugin instantiated at the output stage within BACCH-dSP. We added that latter capability in BACCH-dSP a few versions ago, precisely in response to requests on this and other forums (another example of the value of such forums, including ASR, to us).
In sum, BACCH does very effective transducer impulse response correction but not room impulse response correction. Many BACCHers find the former (which is at least as important as RC) more than enough, especially in rooms that are well-behaved acoustically and/or for relatively near-field listening where the direct sound dominates over reflected sound (which is always a good idea for imaging and for obtaining high XTC levels).
Finally, I would like to respond to the comment by Krunok: "I'm pretty sure this software doesn't introduce any distortions nor it changes FR. My guess would be that it changes only the phase of some parts of the signal.” Indeed the foremost and most important aspect of BACCH is that it is the only XTC method that yields zero tonal distortion (coloration) to the processed signal. XTC existed long before BACCH. Prof. Choueiri did not invent XTC. XTC for stereo audio goes all the way back to 1961 (which I think is the year he was born). His main contribution is solving (and publishing) the tonal distortion problem inherent in all previous attempts to do XTC (or, strictly speaking, XTC that relies on recursive processing) with two speakers. For the record, there is indeed another elegant approach to do XTC with very low tonal distortion pioneered by the university of South Hampton before BACCH, but, unlike BACCH, it requires more than two speakers (at least 6). It is called the Optimal Source Distribution (OSD) method. Prof. Choeuiri actually describes OSD in detail in Chapter 5 of the recently published textbook Immersive Sound (published by AES and edited by Profs. Roginska and Geluso of NYU), which interested ASRes may wish to consult for more details.
The explanation of how BACCH does XTC with zero tonal distortion is also given in detail in Chapter 5 of that book (FYI, neither Theoretica nor Dr. Choueiri receive any proceedings from the sale of that book). I would be happy to try to explain the essence of the method but I fear that this posting is already too long. To put it in the simplest possible terms (apologizing in advance if I do not explain some of the technical terms for the sake of space): the BACCH filter is designed through the pseudo-inversion of the measured binaural transfer function between any two speakers and a listener’s two ears while using optimized frequency-dependent regularization (which is an intentional controlled error introduced in the inversion to control the response and XTC level at each frequency) in a much more aggressive way than previously thought needed (previous XTC methods relied on very small amount of regularization to maximize XTC at the cost of tonal distortion). The aggressive regularization allows the amplitude response of the filter to be completely flattened (thus the zero tonal distortion claim) at the cost of dropping the XTC level from infinity to about 20 dB (which is all the XTC level humans need to accurately locate sound sources in 3D space). Since the amplitude response of the filter is perfectly flat (that is in fact the definition of a BACCH filter) the BACCH filter does its magic in the phase domain. Therefore Krunok’s guess that "it changes only the phase of some parts of the signal” is essentially correct.
I hope the above is helpful and that we can continue these discussions and learn from each other.
Buddy
Senior Development Engineer
Theoretica Applied Physics, LLC
The microphones are placed in the listener's ears for the calibration process, and then discarded once the filters are calculated.
I don't know if Theoretica are working on a multi-user application that would allow more than one user to listen to the filtered music at the same time - not sure how feasible that would be due to interference.
The microphones are placed in the listener's ears for the calibration process, and then discarded once the filters are calculated.
I don't know if Theoretica are working on a multi-user application that would allow more than one user to listen to the filtered music at the same time - not sure how feasible that would be due to interference.
Thank you for taking time to provide this interesting info to us!
I was wondering if you think there is a specific recording technique (# of mikes and their placement) that would help your system to perform better?
...
I have not heard wave field synthesis, sadly, and I don't know where to do so. It is of great interest to me.@Dialectic I'm curious as to whether you've ever heard wave field synthesis, and if so, how BACCH and it compare? In particular, I wonder whether the 3D effect is at all similar subjectively.
I have not heard wave field synthesis, sadly, and I don't know where to do so. It is of great interest to me.
Yes, many thanks for you response @Theoretica Appl. Physics!
How critical is distance between speakers to the effectiveness of BACCH?
In theory, the widest effective sweet spot (assuming the absence of head-tracking) should be possible with the shortest possible distance between the speakers - correct?
EDIT: thinking back more, IIRC the sound remained more or less laterally within the field occupied by the speakers. In other words, front to back placement of images was incredible and apparently independent of listener location, but lateral imaging was not much different to that offered by a conventional system.... I think.
The distance between the speakers is not important at all for BACCH, as long as reflections are not important (i.e. as long the direct sound dominates over reflected sound). Once you choose the distance (or a speakers span angle from the listening position) and make a BACCH filter for that listener-speaker configuration you will get essentially the same 3D image as with any other speaker configuration for which you make a corresponding BACCH filter. Only if the ratio of direct to reflected sound power changes with changing listener-speaker configuration would the 3D imaging be different.
The above inherent feature of BACCH is often shocking to audiophiles when they are first told about it (some of whom are initially incredulous). To illustrate this and convince the skeptics we sometimes ask listeners at our demos at audio shows to choose (speaker weight permitting) the location of the speakers and remake a BACCH filter for that location to demonstrate that the 3D image remains unaffected. You can put one speaker at, say, +30 degrees, and the other at -55 degrees and you will get essentially the same imaging as when the speakers are, say, practically touching each other at +/- 3 degrees (or any other span) straight ahead of you.
This is because with BACCH (which is based on an actual acoustic measurement of the binaural transfer function between the actual speakers and the listener ears) you perceive the spatial cues of the recorded sound sources and not the spatial cues that would locate the speakers. The speakers location plays essentially no role in imaging, This is in huge contrast with regular stereo (i.e. no XTC) where the image is always largely anchored at the speakers and its angular (span) extent moves with the speakers. The fact that an orchestra having a span of +/- 50 degrees, from the perspective of the main recording stereo microphones, shrinks to almost a point in space when the span of the playback speakers is reduced to a few degrees is an excellent illustration that regular stereo (i.e. stereo with crosstalk between speakers and contralateral ears) is fundamentally flawed — a fact long recognized by acoustics and audio researchers since the earliest days of commercial stereo in the late 1950’s and one seldom (until very recently) recognized in the audio industry.
We usually do our demos at shows with the speakers span set at +/- 30 degrees, which is the so-called “regular stereo triangle” configuration so that people can A/B BACCH with the imaging expected from the regular stereo. We usually recommend to BACCHers to keep their speaker spans to what they are used to and only change it if they have strong reflections (e.g. side wall reflections) that can be abated by changing the span.
As to your question about the effect of speaker span on the (lateral) size of the sweet spot, there has been quite a bit of research on this question, most notably at the University of South Hampton and Princeton University. In Chapter 5 of the book I referenced above, Prof. Choueiri cites the relevant literature on this aspect (technically called “robustness against head movements”, and which at Theoretica we internally call “RAHM") of XTC. The bottom line is that RAHM is frequency dependent and with earlier XTC methods was perceptually enhanced with decreasing span angle. Unlike previous XTC methods, BACCH’s RAHM (even without head tracking) is much less sensitive to span angle and most BACCH4Mac Intro users leave their span angles at the regular +/- 30 degrees. As you implicitly implied in your question, RAHM is rendered completely moot by the powerful head tracking capability of BACCH-dSP.
I hope this is helpful.
Buddy @ Theoretica
Do you remember it like that or that is how you think it should have been?
I actually posted about it somewhere soon after the experience... Will see if I can track that down...
And how viable is the basic system (no HRTF, no tracking) for more than one listener at a time? Is the idea of BACCH working reasonably effectively for two or three listeners realistic?