Introducing miniStreamer: Native 24/96 USB to I2S / SPDIF interface

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Great info, thanks for the follow up. If you have any additional info to share on how you set it up, it will be useful info for the community.

Thanks for sharing the info again,

DevTeam

it pretty much "just works", at least with the pulsaudio service that recent Ubuntu linux ships with. It shows up as a soundcard, and you can use the pulsaudio mixer applet to select it as an output.

I've just ordered an SP/DIF stereo ADC from ebay, will play with using it to record once it arrives as well.

I still haven't used it beyond 16 bit 44.1khz, havent worked out how to set Pulsaudio to do it.. and all my source FLAC files are 16/44100 so in no hurry to do so.
 
How about some DIY info, I'd like to build one.

Does anyone know about a project like this one? I wanna be able to stream a high bitrate signal to my ADAC's from my D/A and A/D converters and have that come and go through USB or firewire through WDM/directsound and even ASIO. I'd even write the drivers if necessary but it'd be nice to know that it's possible.

Thanks
 
I'm interested in integrating a USB input into my exisiting DIY DAC. It accepts S/PDIF and I2S, would the miniStreamer be appropriate? I'm currently using a Hagerman HagUSB, which is limited to 16/44.1 input and S/PDIF output, and the miniStreamer is attractive because of the 24/96 input capabilities and the I2S output.

If it is possible to use the miniStreamer in this way, what hurdles would I encounter using it's I2S output into the DAC?

Thanks in advance.
 
Member
Joined 2009
Paid Member
I have used the miniStreamer to connect some ADC and DAC boards (24 bit) to my Windows XP PC. At the moment I am using the I2S Interface. I am using the ASIO4ALL driver.
I have some questions related to the miniStreamer.

I use an FFT program on the PC as generator and analyzer. I have it working on both output and input at 48kHz. If I set up the generator to output a 1kHz sine wave at -90dBFS the output I get is quite distorted, since there are only 4 discrete levels on the analog signal, as if it has only a 16 bit resolution. The Windows volume control is set to maximum in this case.

If I output a 1kHz signal at -30dBFS and turn down the Windows volume control to -60dB I get a nice sine wave output.

Do you have any explanation for this?
Is there a volume control in the TE7022L which is used by Windows? Is there a limited resolution on the USB output?
The developer of the analyzer SW claims that in his SW everything is computed in floating point format and output with a resolution of 24 bit.

As stated the miniStreamer is always the clock master on the I2S interface. Not necessarily ideal, but that is how it is. But what happens if the SPDIF input is used? Will it lock to clock of the incoming audio stream or will it add/skip samples or resample in some other way?
 
@ Jens,

I'm not 100% sure to understand your question here so may need some clarifications.. :) -90dBFS is very low by all means.. I'm not sure what you're trying to get out of that signal but Typical DR results are measured as per AES17 by applying -60dBFS and then adding 60dB to the reading you're getting. What's with the -90dBFS measurement for? (i.e. you shouldn't be able to hear anything at that level on any DAC/ADC, so close to noise floor)

As for Windows, it does apply a volume control (I believe showing as Line in in the sound card?) Anyway, once we understand the question (and reasoning behind measurement) we can try to answer your question.

DevTeam
 
Member
Joined 2009
Paid Member
I know that -90dBFS is low, but with a 24 bit converter there should still be a fairly good resolution. Disregarding the noise for a moment, it should be possible to get e.g. a sine wave with a 9 bit resolution with a signal level of -90dBFS.

My set up is like this: the generator signal goes from the PC via USB to the MiniStremer, via I2S to a 24 bit DAC, from the DAC to 24dB gain stage before a 24 bit ADC, via I2S to the MiniStreamer and back to the oscilloscope/FFT analyzer on the PC.

I have attached two figures. In both cases the red trace is the interesting one.
The one with a distorted signal shows the signal I see when setting the Windows volume control to maximum and the generator to -90dBFS. As it can be seen there are only 4 quantization steps (+ some noise which could be from the DAC and ADC.
The one with the clean signal is with an analog signal (from a R&S UPL Audio Analyzer) into the 24 dB gain stage and the ADC. This is to verify that the distortion is not caused by the ADC. As can be seen the signal looks OK in this case.
The scale on the left is the same in both figures.

If I set the generator at -30dBFS and the Windows volume control at -60dB, this should also give a level of -90dBFS. It does and in this case the signal looks OK.
 

Attachments

  • Distorted signal.jpg
    Distorted signal.jpg
    97.4 KB · Views: 663
  • Clean signal.jpg
    Clean signal.jpg
    109.9 KB · Views: 658
I know that -90dBFS is low, but with a 24 bit converter there should still be a fairly good resolution. Disregarding the noise for a moment, it should be possible to get e.g. a sine wave with a 9 bit resolution with a signal level of -90dBFS.

My set up is like this: the generator signal goes from the PC via USB to the MiniStremer, via I2S to a 24 bit DAC, from the DAC to 24dB gain stage before a 24 bit ADC, via I2S to the MiniStreamer and back to the oscilloscope/FFT analyzer on the PC.

I have attached two figures. In both cases the red trace is the interesting one.
The one with a distorted signal shows the signal I see when setting the Windows volume control to maximum and the generator to -90dBFS. As it can be seen there are only 4 quantization steps (+ some noise which could be from the DAC and ADC.
The one with the clean signal is with an analog signal (from a R&S UPL Audio Analyzer) into the 24 dB gain stage and the ADC. This is to verify that the distortion is not caused by the ADC. As can be seen the signal looks OK in this case.
The scale on the left is the same in both figures.

If I set the generator at -30dBFS and the Windows volume control at -60dB, this should also give a level of -90dBFS. It does and in this case the signal looks OK.

Could it be that it's a limitation with the generator? I.e. the generator is only generating a 16bit signal.
 
I'm thinking of buying the ministreamer to connect my PC to my DAC as my existing USB > SPDIF interface only support up to 48KHz.

Next step would be to connect the streamer to Twisted Pear's Opus DAC via I2S. But the I2S inputs on Opus (BCK, MCLK, LRCK, DIN, GND) and outputs on the streamer (are labelled differently).

My guess :
Streamer Opus
MCLK ------------------> MCK
LRCLK ------------------> LRCK
SCLK -------------------> BCLK (unsure)
SDOUT -----------------> DIN (unsure)
GND --------------------> GND

streamer set as master

I'm a newbie on digital electronics, could you pls confirm if the scheme above is correct ?

I also plan to upsample using software and next would be to get an ASRC board and connect it between streamer and DAC. Is it a feasible scenario ?

thanks in advance.
 
Member
Joined 2009
Paid Member
@tresch

Yes, in principle it could be. I asked the developer of the analyzer SW and he claims that everything inside the program is done in floating point, so it should be OK. Does something happen at the interface between the analyzer and Windows XP? Perhaps.

In the near future I will test the analyzer SW although it will now be on a Win7 PC that I have just changed to as my work PC. I have installed an internal Terratec sound card which supports 24bit analog as well as SPDIF I/O. I have installed the sound card primarily because the internal sound card can work as a slave on the SPDIF input.
But of course things could be different on Win7 in general.

@i2k92
Your connections look OK to me. Be aware that there is only one GND pin on the ministreamer connector. When I hooked it up initially there was a lot of noise (crosstalk) on the digital interface. Actually it was so bad that it did not work reliably.
I used an IDC connector and a flat cable, with only one GND wire connected initially. At the other end (my own design) I also used an IDC connector, but with GND on every second pin. I then connected the GND wires in the flat cable together at the ministreamer end and connected all of them to the GND of the ministreamer. Then it worked. Finally I made a small PCB with a female connector for the ministreamer and two male connectors for the IDC connectors (one for ADC and one for DAC). This improves the GND connection a lot and has worked fine since. Except for the resolution problem described above of course.
 
I know that -90dBFS is low, but with a 24 bit converter there should still be a fairly good resolution. Disregarding the noise for a moment, it should be possible to get e.g. a sine wave with a 9 bit resolution with a signal level of -90dBFS.

Have you tried Teralink X2 ASIO driver (same chipset, don't know if they work for ministreamer too: http://www.ab-system.hk/USB/TeraLink-X2UsbASwPkg_v0p91p6p1a_20100915.zip ). How do you set on the 24 bit mode with Windows drivers? There's limitation with 24/96 format, then only 24/96 input or output is supported because of 12MBPS limit, other in/outputs must be 16-bit / 48 kHz.
http://www.gfec.com.tw/word_file/TE7022PB-v14.pdf
 
Member
Joined 2009
Paid Member
@mhelin
No, I have not tried the driver you are suggesting.

In the meantime I have changed to an internal sound card with SPDIF and it now works fine.
Initially I used an old Terratec EWX2496. It worked fine under Win XP, but was not running reliably when I changed the PC and changed to Win 7. I had to use some Vista beta drivers, which were not reliable and could sometimes cause a BSOD.

I now have an M-Audio Delta 1010LT which works fine under Win 7 using SPDIF I/O.
 
Are there any reviews of the miniStreamer on MAC? I haven't found them yet.
(I like the option of going directly out to my TDA1541 board via I2S.)

I am thinking on the following issue:
- Some Tenor 7022L implementations are a-synch; I see this miniStreamer device is iso-synch. So the unit does not control the source rate; this could, if I see it correctly, lead to slight frequency incompatibility, i.e. drop outs.

Should a Jitter reduction be inserted after this unit on the SPDIF line?
thanks
albert
 
Hi. This looks like a great product! Especially since it is the only device I've discovered that addresses this conversion directly, without extra features. Would you please post about the latency of the Ministreamer. I record at home and am concerned with this aspect. I couldn't find reference to this in your literature or am unable to decipher it from the contents.

Thank you!
 
Nope, the miniDSP units aren't properly set-up to allow easy plug & play I2S connection from their USB modules, miniStreamer or USBStreamer. It can be done but it's problematic and you'd be limited to only using the Sample Rate of the plug-in [96KHz for the 2x8].

MiniDSP recommends using the S/PDIF connection on both their USB modules. So you need to think of them more as a USB to S/PDIF converter.

Hope that helps

Paul.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.