• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Project ImpulciferA12 -- create a Realiser A16 like device

PureLIN

Member
Joined
Dec 7, 2021
Messages
64
Likes
42
As the title says, it'a project for DIY a Realiser A16 like device by using some open source project and some public availabe product.
Here is the diagram shows an overview of the project:
1714793838055.png

Explainations:
The Core logic for Realiser A16 has few parts, and they can be replaced with some avaibale product:
1. Create BRIR (binaural room impulse responses): can accompished by using the Impulcifer(https://github.com/jaakkopasanen/Impulcifer), a Audio interface and two good small microphone.
2. Decode Atmos/DTS:X audio(up to 9.1.6): AV receiver can do this too, some old AV receiver can decode 7.1.4 which is good enough, and buy a used one is very cheap.
3. Convolution audio with BRIR: any processor with good floating point performace can do this, an old PC, or a GPU, even some SBC.
4. HeadTracking to adjust convolution: 3dof sensor have a lot available product, but Impulcifer are not native support it thought, so this should be a tricky part.

Some of my key points:
1. To use Impulcifer, a good microphone is important, I tried two choice:
a. Second hand Sennheiser MKE 2 Gold, with 48v Phantom Power version. cost CNY2200 (~$303) a pair.
b. PUI Audio HD Microphone, available on digikey/mouser, ex: AOM-5024L-HD-R (~$3 each), with a pair of BOYA 35C-XLR Phantom Power to plugin power adapter.
Both of them can produce good results, and PUI microphone is a much cheaper option, but need solder and some microphone cables.
2. To use AV receiver's digital borad get the decoded I2S signal, it should be an outdated product which can found service manual easily on web, so a lot easier to hack the circut.
I used a Pioneer SC-LX59, since it has very detailed service manual and cheap: only CNY2600(~$360) plus shipping.
3. For capture the I2S, I used 6 Raspi Zero 2w, have I2S slave mode, and sutiable for LX59 since it's I2S don't have MCLK, the data will send to a old laptop with network over USB.
4. I have a MT48 which support Ravenna/AES67, so the audio data processed will send to MT48 with network, but a USB interface could also works.
5. HeadTracking will use steamVR tracker, it's very precise and can run wireless, but BRIR fits are still in progress.

Current I can get the 12ch Audio and send it to MT48, to make BRIR and HeadTraking works it still need some time, will post some update about it when I have new progress.
 

filch

Member
Forum Donor
Joined
May 3, 2024
Messages
5
Likes
0
So excited to see this! Good luck and let me know if theres anything I can do to help (I'm happy to make a small donation to a good cause). I'm particularly interested in the ability to add Atmos support to Impulcifier.
 

mumford

Member
Joined
May 10, 2021
Messages
42
Likes
19
I am excited to see this too. Looking forward to see your progress.
 

phoenixdogfan

Major Contributor
Forum Donor
Joined
Nov 6, 2018
Messages
3,359
Likes
5,327
Location
Nashville
As an A16 owner, I think this would be interesting, especially if you could figure out a way of translating already existing A16 captures (PRIRs), so they could be reused with this device.
 
OP
P

PureLIN

Member
Joined
Dec 7, 2021
Messages
64
Likes
42
As an A16 owner, I think this would be interesting, especially if you could figure out a way of translating already existing A16 captures (PRIRs), so they could be reused with this device.
If the file is not a public format, these steps should help, but it will add the process from Impulcifer:
1. Play the sine sweep generated by impulcifer from USB (A16 mark 16ch support on it, if it's ASIO then that's great).
2. Record it with any audio interface to the wav file, mark each channel as it name (FL,FR...)
3. then put this into impulcifer to process.

BTW, have you compare A16 with Impulcifer (setero or 7.1 audio content)?
 

Senny

New Member
Joined
Jan 1, 2024
Messages
1
Likes
0
Interesting. I have done something simliar where I send Atmos/DTS:X signals to my AVR, send the outputs on the AVR to my Audio Interface, send the Audio Interface to my surround DAC (using VB-audio Matrix), and then finally processing the signals as a 5.1.2 setup using Impulcifer/EqualizerAPO. It works extremely well but your solution seems even "cleaner".

How would you go about the actual processing of 12 channel PCM data? I assume you first have to "capture" all 12 speakers with Impulcifer but then what, considering windows and EqualizerAPO/HeSuVi only supports up to 7 channels?
 

phoenixdogfan

Major Contributor
Forum Donor
Joined
Nov 6, 2018
Messages
3,359
Likes
5,327
Location
Nashville
If the file is not a public format, these steps should help, but it will add the process from Impulcifer:
1. Play the sine sweep generated by impulcifer from USB (A16 mark 16ch support on it, if it's ASIO then that's great).
2. Record it with any audio interface to the wav file, mark each channel as it name (FL,FR...)
3. then put this into impulcifer to process.

BTW, have you compare A16 with Impulcifer (setero or 7.1 audio content)?
No have not compared. I continue to enjoy my 24 channel studio capture of D&D 8C's on my A16. I upmix any 5.1/7.1 content to Auro 3D, but the Impulcifier would be good to have if Smyth should cease being a continuing operation.
 

mumford

Member
Joined
May 10, 2021
Messages
42
Likes
19
Have you experienced any sync issue, as those Raspis running as i2s slaves are not sharing a master clock?
 
OP
P

PureLIN

Member
Joined
Dec 7, 2021
Messages
64
Likes
42
How would you go about the actual processing of 12 channel PCM data? I assume you first have to "capture" all 12 speakers with Impulcifer but then what, considering windows and EqualizerAPO/HeSuVi only supports up to 7 channels?
I write my own processor code for handle 12ch audio data, it's running on linux for higher performance and not rely on any audio framework.
For support 3dof tracking, it will process max 12*3 channel BRIR each person (so to like A16 support 2 person it will be 72 compare to normal 8), so perforamce is critial here.
For output part, if using an USB dac then the ALSA will used, but only 2ch, not an issue.
But I recommend using an AoIP device (cheapest options should be Dante AVIO AES3+any DAC with AES input), so it can follow the clock of HDMI, avoid SRC.
Have you experienced any sync issue, as those Raspis running as i2s slaves are not sharing a master clock?
For digital transfer no MCLK is fine, but there is another issue: the capture code start up time and internal buffer on pi will make the audio output not synced with eachother, around 100 samples.
To sync them, I will have another pi control some relays, switch all of them to capture the FL/FR signal for calibartion, then compare data to get the offset,them switch them back, need around 3 seconds. After that, they will sync together.
I check this logic with burst tone, works very well.
 
OP
P

PureLIN

Member
Joined
Dec 7, 2021
Messages
64
Likes
42
A small update: find a way to make my MT48 follow the HDMI clocks, using PTP, Dante or AES67 device with PTP should be able to works with this method.
But at current My sending code part is bind to MT48.
Also create a webpage to show the history, better than staire at the console logs.

1715863055456.png
 
Top Bottom