That the standard 192 frame preambles (Z,X and Y) match Ultranet framing might as well be a coincidence - the SPDIF/AES is implemented on FPGA and most probably they just have an algorithm which output Z preamble followed by first frame, then Y, X, Y and so for until the 192 frames are done. That way any multi channel format could be framed easily - only problem is how the interface defines and communicates the actual word size (limited to 24 bits anyway) and number of of channels (or actual sample rate).You much mean PCM1681 DAC (PCM1861 is a 2-channel ADC).
WM8804 "flags" are (from bit 3 to zero) 192BLK,C,U and V. So it appears Behringer uses V bit to indicate frame and 192BLK to indicate subframe.
So it might be that the occasional slot numbering "fastfourier" discovered is the actual sync method as it allows the use of any 192kHz capable reveicer.
Interesting
How did you connect the Recievers to the Raspi? What did you need to to in order to get alsa recognize this "device"? I would like to rebuild this setup.
best wishes,
Stephan
I'm also trying to figure out, how to capture Audio from Ultranet. Could you give more details on your setup:I have had some success capturing Ultranet on a Pi 3B following the excellent work of tuck1s. I'm using the AM26LV32 + WM8806, and a modified simple_card.c kernel module. I'm getting all 8 channels nicely by recording stereo 192kHz. Source is an X32 rack @ 48kHz. <snip>
How did you connect the Recievers to the Raspi? What did you need to to in order to get alsa recognize this "device"? I would like to rebuild this setup.
best wishes,
Stephan
The 8806 was connected straight to the I2S interface on the Pi header.How did you connect the Recievers to the Raspi? What did you need to to in order to get alsa recognize this "device"?
I don't have very good notes from this project unfortunately, and the code died along with the Pi SD card! I do remember having to jump through some hoops to enable the I2S interface though. Have a look at 404 Not Found
As soon as I got it working, I was already considering giving up on the Pi after I couldn't get it to work reliably at the low buffer sizes/latencies I needed. It would work fine at higher buffer sizes (512, 1024 etc). They've just released a new Pi though, I might give that a shot soon.
I only got as far as isolating the first channel using the very crude method outlined in my previous post, which relied on making sure that the other seven were outputting all zeroes (practically not very useful). After isolating the left channel (1), I stuffed the data straight into the buffer of the built-in headphone output to hear it.
I'm sure that there is some meaning to the timing of the channel pair identifier appearing and disappearing in the low two bits of the audio data as mhelin suggests. I do have some dumps of the raw output of the 8806 somewhere. I'll try and dig them out.
Sorry, that link should have been
rpi-i2s-stereo/instructions.md at master * ryankurte/rpi-i2s-stereo * GitHub
I can't see any way to edit posts here!
rpi-i2s-stereo/instructions.md at master * ryankurte/rpi-i2s-stereo * GitHub
I can't see any way to edit posts here!
You only get around 25 minutes after posting to do an edit, so the edit option should be visible on this post for a little while.
One answer to the question of how to create a 16-channel 24-bit recording system is to combine:
Presonus 1818vsl plus Behringer ADA8200
All of this can be run over USB2.0. That's right, no fancy interfaces needed. You can run out and buy this combo today, and be up and running with it tomorrow.
- A pro-audio audio interface with 8 analog inputs and ADAT expansion capability
- An ADAT pro audio interface, with another 8 analog inputs
Presonus 1818vsl plus Behringer ADA8200
All of this can be run over USB2.0. That's right, no fancy interfaces needed. You can run out and buy this combo today, and be up and running with it tomorrow.
Another recommendation: RME Digiface USB + up to four ADAT interface (e.g. ADA8200). Gets you *the* most recommended PC driver support in the industry.
Yes and if you want to use POWERPLAY P16-I's A/D's it's propably easier to build a small PCB with AL1401 or CoolAudio V1401 (available on Ebay) with a TOSLINK sender to give the box ADAT output(s). Maybe add a BNC connector with a Word Clock output (buffered LRCK output with 75 ohms output) to sync other ADAT converters to that one if needed. At this point you might want to upgrade the opamps (TL07x) and A/D converters (they come with AK5381 with 106 dB SNR which can be replaced with AK5386 110 dB chips *IF* MCLK = 24.576MHz (512x48kHz) and Vd = 3.3V, should be OK).
Then if you still want to record to SD or stream to USB just use some XMOS board, it's got ADAT library (for the firmaware) available (on Github or from the tool set) for decoding ADAT stream (so you need only the TOSLINK receiver), or you can also use the V1402 decoder (not I2S compatible but with left or right padded output which is supported by the XMOS I2S library though).
There are tons of USB audio interfaces if you want to get the job done. Most of them use the quite modest CS4270 codecs though (also on ADA8200). If you want a better one then one of the cheapest with ADAT input is the Audient ID14 which comes with BB converters (for two channels only).
Then if you still want to record to SD or stream to USB just use some XMOS board, it's got ADAT library (for the firmaware) available (on Github or from the tool set) for decoding ADAT stream (so you need only the TOSLINK receiver), or you can also use the V1402 decoder (not I2S compatible but with left or right padded output which is supported by the XMOS I2S library though).
There are tons of USB audio interfaces if you want to get the job done. Most of them use the quite modest CS4270 codecs though (also on ADA8200). If you want a better one then one of the cheapest with ADAT input is the Audient ID14 which comes with BB converters (for two channels only).
Last edited:
So sorry to ressurrect this thread, but I don't think this warrants the creation of a new one.
I'm trying to get an ultranet to 8 aes/ebu outputs is there an easy way of doing this without a DSP or microcontroller just with a transceiver like the wm8805 ? I know 8805 is one output only, is there one with more ? Can I put 8 wm8805 in parallel and select each one for each stereo channels in the input stream to make a 'demux' of the ultranet stream? Other ideas ?
Thanks
I'm trying to get an ultranet to 8 aes/ebu outputs is there an easy way of doing this without a DSP or microcontroller just with a transceiver like the wm8805 ? I know 8805 is one output only, is there one with more ? Can I put 8 wm8805 in parallel and select each one for each stereo channels in the input stream to make a 'demux' of the ultranet stream? Other ideas ?
Thanks
Last edited:
Gents, I would like to get a digital output from my XR18, just one channel, preferably optical Toslink.
I can see the Ultranet interface provides this digital audio output.
Any idea how can I do that, just one channel on a Toslink?
Thanks
I can see the Ultranet interface provides this digital audio output.
Any idea how can I do that, just one channel on a Toslink?
Thanks
A summary of the findings in this thread can be found at: packet - How do I work out the Ultranet protocol? - Reverse Engineering Stack Exchange
Looks like there would be some work to do to get what you want.
Looks like there would be some work to do to get what you want.
Thank you Mark.
That thread is from 2015, wondering if anyone made some progress on that.
I would like if someone can confirm what type of board is good to get one or two channels from Ultranet and convert to SPDIF.
Not sure if any specific I2C to SPDIF converter board is ok.
Thanks
That thread is from 2015, wondering if anyone made some progress on that.
I would like if someone can confirm what type of board is good to get one or two channels from Ultranet and convert to SPDIF.
Not sure if any specific I2C to SPDIF converter board is ok.
Thanks
I2C is not the same at all as Ultranet, so I2C to SPDIF conversion isn't going to help.
Looks to me like a project would take some hardware design and some software design. You would also need an oscilloscope and know how to use it. Not sure how prepared you might be for what would probably be required.
Looks to me like a project would take some hardware design and some software design. You would also need an oscilloscope and know how to use it. Not sure how prepared you might be for what would probably be required.
My mistake. You can forget I2C.
Is there any way to convert Ultranet to any standard digital protocol?
Thanks
Is there any way to convert Ultranet to any standard digital protocol?
Thanks
TNT,
Good catch. Thank you.
My mistake too. I have been working with both recently. Should have caught that.
Good catch. Thank you.
My mistake too. I have been working with both recently. Should have caught that.
If anyone wants just to record the output of the P16-I it would be possible 8 channels at a time if you just get the MagJack RJ45 socket or compatible with the built-in transformers and few other component for building an S/PDIF output circuit. Connect the negative output from the TD1- pin of the socket for an example) to GND, and use the positive output from TD1+ pin, and use a resistor divider to set the output level (and match the impedances), and connect the output capacitor (0.1uF or so) to an RCA connector. That's your S/PDIF output. Use a schematic of AES/EBU to S/PDIF converter on epanorama.net/S/PDIF Interface, the divider is made of 330 ohms and 91 ohms resistors (haven't tested it though but it should work, though active circuits would be better).
Connect the output to your audio interface's S/PDIF input, which should support 192 kHz sampling rate - at this point you might realize the level is too low or high at which point adjust the resistor attenuator. When you get the signal input (usually the sync status is shown somewhere) record the 8 channels into a stereo WAV file (don't try listening to it yet). Then you can use Audacity next to import the audio as RAW data (Import -> Raw data), use the offset of 44 bytes to skip the WAV header, and after import (if it's fine) export the tracks to 8 separate WAV files (use "export -> Export multiple"). You may have to play with the offset, I tried to import an 8-channel test file from
AIFF / AIFC Sample Files (8_Channel_ID.wav) and had to use offset 44 + 4*(24 bits/8 bits/byte)=44+4*3=56 to get the WAV file imported with the tracks in correct order, and there was still some odd data and click sound in the beginning so maybe the offset might have extra 24 (=8 tracks * 3 bytes) bytes (80 total) or even more (actually 128 bytes was fine). Anyway, it's easy to edit the beginnings later. The sample was recorded as signed 24-bit PCM file, little endian and containing 8 channels of audio. There is also software which can remove the WAV header so you can use offset zero when importing (like RiffStrip: Marco Pontello's Home - Software - RIFFStrip).
Connect the output to your audio interface's S/PDIF input, which should support 192 kHz sampling rate - at this point you might realize the level is too low or high at which point adjust the resistor attenuator. When you get the signal input (usually the sync status is shown somewhere) record the 8 channels into a stereo WAV file (don't try listening to it yet). Then you can use Audacity next to import the audio as RAW data (Import -> Raw data), use the offset of 44 bytes to skip the WAV header, and after import (if it's fine) export the tracks to 8 separate WAV files (use "export -> Export multiple"). You may have to play with the offset, I tried to import an 8-channel test file from
AIFF / AIFC Sample Files (8_Channel_ID.wav) and had to use offset 44 + 4*(24 bits/8 bits/byte)=44+4*3=56 to get the WAV file imported with the tracks in correct order, and there was still some odd data and click sound in the beginning so maybe the offset might have extra 24 (=8 tracks * 3 bytes) bytes (80 total) or even more (actually 128 bytes was fine). Anyway, it's easy to edit the beginnings later. The sample was recorded as signed 24-bit PCM file, little endian and containing 8 channels of audio. There is also software which can remove the WAV header so you can use offset zero when importing (like RiffStrip: Marco Pontello's Home - Software - RIFFStrip).
Last edited:
Hi Guys, I know this is an old thread but still very relevant for me.
I am currently building a rehearsal space in my basement and would like to use In-Ear-Monitoring with my XR18. The Behringer Powerplay 16-M would be perfect but buying 6 personal mixers at once would be a little expensive. Therefore I would like to build a similar device. I do not need the capability to record anything I am simply interested in getting 16 analaog audio streams on the other side of the cable. My very basic understanding of this would be the following:
XR18-Ultranet-Output --> Ethernet Cable
Ethernet Cable --> MagJack
MagJack --> Differential Live Receiver AM26LV32 (Outputs: 1, 2, 3, 6)
Differential Live Receiver AM26LV32 --> 2 x 1:8-Channel Demuxer - Which One? Maybe an FPGA?
Demuxer --> 16 DACs
16 DACs --> Analog Mixer
Is my general understanding correct and if so can anyone help with the demuxer-device?
I am ready to invest time but if someone can push me in the right direction I would be more than thankful. 😉
I am currently building a rehearsal space in my basement and would like to use In-Ear-Monitoring with my XR18. The Behringer Powerplay 16-M would be perfect but buying 6 personal mixers at once would be a little expensive. Therefore I would like to build a similar device. I do not need the capability to record anything I am simply interested in getting 16 analaog audio streams on the other side of the cable. My very basic understanding of this would be the following:
XR18-Ultranet-Output --> Ethernet Cable
Ethernet Cable --> MagJack
MagJack --> Differential Live Receiver AM26LV32 (Outputs: 1, 2, 3, 6)
Differential Live Receiver AM26LV32 --> 2 x 1:8-Channel Demuxer - Which One? Maybe an FPGA?
Demuxer --> 16 DACs
16 DACs --> Analog Mixer
Is my general understanding correct and if so can anyone help with the demuxer-device?
I am ready to invest time but if someone can push me in the right direction I would be more than thankful. 😉
Hi, I've just had some success in decoding Ultranet into analog audio, using cheap S/PDIF devices as found on amaz... etc. My objective is to run Ultranet digital cabling to remote speakers, to save using long analog cable runs.
I used a commonly available RS485 differential decoder IC (MC3486) to convert the Ultranet signal into a single-ended stream, then a simple resistor divider to drop the 5v ttl output from the receiver buffer to 0.5v for the S/PDIF input of the DAC. What came out was clear audio!! The resistor divider is simply a 300ohm series and 56ohm parallel, to drop the voltage sufficiently. The DAC I used was the cheapest I could find - around £5 (I didn't want to risk expense in case it didn't work, and I figured the cheap units wouldn't be too fussy about the encoded datastream).
The only drawback with the device I used is that it ignored the difference between frame headers and the packet header. The Ultranet PCM data stream has 8 channel frames in a packet, but the DAC summed all the even and all the odd frames into the L and R outputs. So in order to get clean L and R analog audio out, I needed to set the routing in the mixer to connect the L source channel to Ultranet channels 1,3,5,7 and the right source channel to Ultranet channels 2,4,6,8. So I needed to dedicate 4 ultranet channels to each analog output. This would work for me, but is a waste of Ultranet channels if I also wanted to use P16 monitors. So my next experiment is to use more expensive S/PDIF DACs (around £11) and a 5.1 surround DAC, with 6 outputs (around £30). This unit is already separating the frame and packet headers, so it may enable me to isolate a single Ultranet channel for each speaker (I'll need two of these systems; one for each remote speaker).
These new devices are on order, so I'll let you know whether they work!
I used a commonly available RS485 differential decoder IC (MC3486) to convert the Ultranet signal into a single-ended stream, then a simple resistor divider to drop the 5v ttl output from the receiver buffer to 0.5v for the S/PDIF input of the DAC. What came out was clear audio!! The resistor divider is simply a 300ohm series and 56ohm parallel, to drop the voltage sufficiently. The DAC I used was the cheapest I could find - around £5 (I didn't want to risk expense in case it didn't work, and I figured the cheap units wouldn't be too fussy about the encoded datastream).
The only drawback with the device I used is that it ignored the difference between frame headers and the packet header. The Ultranet PCM data stream has 8 channel frames in a packet, but the DAC summed all the even and all the odd frames into the L and R outputs. So in order to get clean L and R analog audio out, I needed to set the routing in the mixer to connect the L source channel to Ultranet channels 1,3,5,7 and the right source channel to Ultranet channels 2,4,6,8. So I needed to dedicate 4 ultranet channels to each analog output. This would work for me, but is a waste of Ultranet channels if I also wanted to use P16 monitors. So my next experiment is to use more expensive S/PDIF DACs (around £11) and a 5.1 surround DAC, with 6 outputs (around £30). This unit is already separating the frame and packet headers, so it may enable me to isolate a single Ultranet channel for each speaker (I'll need two of these systems; one for each remote speaker).
These new devices are on order, so I'll let you know whether they work!
Attachments
Further to the above, here's the mixer routing page (In this example I'm using my XR18) showing how to get the main L/R outputs onto the second twisted pair of the Ultranet port. As we know from the above thread, the Ultranet cable is Cat5(,e,6 etc) in which the first two twisted pairs are two groups of 8 channels, and the second two are power and ground. BTW, the power supplied by my XR18 was 5v, but at very low current - not sufficient even to power the MC3486 chip (which needed around 50mA).
Attachments
- Home
- Source & Line
- Digital Line Level
- Suggestions please for 16-channel 24-bit digital audio recorder