There is a ring buffer in the widget firmware. So when sync is lost the buffer is replayed.
Uac1 and uac2 have very different mechanisms and the drivers will also behave differently.
I will look at uac1 mute and see whether there are ways to mute the "chirps". You cannot compare the widget against other uac1 devices as they may not be (unlikely) async out with rate feedback. If there is no rate feedback there is no loss of sync to speak of 🙂
Playback software should also do the proper thing by muting the output while skipping tracts or changing sampling rates etc.
Nonetheless, I will see what can be done in the firmware to mute the output 🙂. If in cannot be done u can always stick with uac2 🙂
Alex
Uac1 and uac2 have very different mechanisms and the drivers will also behave differently.
I will look at uac1 mute and see whether there are ways to mute the "chirps". You cannot compare the widget against other uac1 devices as they may not be (unlikely) async out with rate feedback. If there is no rate feedback there is no loss of sync to speak of 🙂
Playback software should also do the proper thing by muting the output while skipping tracts or changing sampling rates etc.
Nonetheless, I will see what can be done in the firmware to mute the output 🙂. If in cannot be done u can always stick with uac2 🙂
Alex
Hi Alex,
I'm glad my suspicions aren't too far afield. I've tested with UAC1 + Win + VideoLanClient (VLC) player. The issue sounds the same across multiple win versions.
I'm glad my suspicions aren't too far afield. I've tested with UAC1 + Win + VideoLanClient (VLC) player. The issue sounds the same across multiple win versions.
Can I apologize in advance, as I have not read this whole thread.
I am interested in an I2S to usb device (up to 24/192) to take digital audio into a PC.
I am starting a project to rack up a TI PCM4222 ADC evaluation board, and want to capture the digital audio to computer. The evaluation board has a serial data header from which an I2S format data stream can be taken.
(I have found some options (eg the miniSTREAMER) which offer up to 24/96, and I could also just use the spdif input from my Echo Audiofire 8 interface.)
Just wondering if any of the projects discussed here can be used, or adapted, for my purpose? Thanks in advance.
regards, Paul
I am interested in an I2S to usb device (up to 24/192) to take digital audio into a PC.
I am starting a project to rack up a TI PCM4222 ADC evaluation board, and want to capture the digital audio to computer. The evaluation board has a serial data header from which an I2S format data stream can be taken.
(I have found some options (eg the miniSTREAMER) which offer up to 24/96, and I could also just use the spdif input from my Echo Audiofire 8 interface.)
Just wondering if any of the projects discussed here can be used, or adapted, for my purpose? Thanks in advance.
regards, Paul
See schematics and details of the sdr-widget:
Yoyodyne Consulting/SDR-Widget
You will find how the AK5394A ADC is wired up for 48/96/192khz 24 bit capture.
To adapt the USB-I2C to another ADC will require some hardware and firmware development work by the user.
Alex
Yoyodyne Consulting/SDR-Widget
You will find how the AK5394A ADC is wired up for 48/96/192khz 24 bit capture.
To adapt the USB-I2C to another ADC will require some hardware and firmware development work by the user.
Alex
Hi guys, how difficult would it be to add firmware for generic ADC I2S to the audio widget branches? The ADC would have to be I2S slave. And whether or not to forward the data from the I2S pin (and enumerating as audio IN for that matter) could be a matter of firmware config. The hardware support is already there.
Børge
Børge
Hi Borge,
The ADC will have to be i2s master instead of slave to make sure the L/R channels are not inverted. This is a quirk of the Atmel chip (we are using the DMA for the i2s transfers and the exact timing with respect to the LRCK is not directly controllable by the cpu.)
Also the MCLK for the ADC has to be synchronous with the i2s clock used by the Atmel - ie you need to feed the MCLK (or a divided MCLK in case it is > 16Mhz, as the Atmel uC cannot take > 16Mhz) to the Atmel's xin1 pin.
If you want the ADC to be i2c slave, you will have to have a master clock and clock circuit that can generate the i2s SCLK and LRCK and then drive both the ADC and the Atmel. This is not trivial as the LRCK freq changes with the sampling rate.
In other words, you have to look at each ADC and see how best to design the hardware/firmware to fit. A "generic" ADC interface may not give you the low jitter clock signals and consistent L/R channels desired for a high performance unit.
Alex
The ADC will have to be i2s master instead of slave to make sure the L/R channels are not inverted. This is a quirk of the Atmel chip (we are using the DMA for the i2s transfers and the exact timing with respect to the LRCK is not directly controllable by the cpu.)
Also the MCLK for the ADC has to be synchronous with the i2s clock used by the Atmel - ie you need to feed the MCLK (or a divided MCLK in case it is > 16Mhz, as the Atmel uC cannot take > 16Mhz) to the Atmel's xin1 pin.
If you want the ADC to be i2c slave, you will have to have a master clock and clock circuit that can generate the i2s SCLK and LRCK and then drive both the ADC and the Atmel. This is not trivial as the LRCK freq changes with the sampling rate.
In other words, you have to look at each ADC and see how best to design the hardware/firmware to fit. A "generic" ADC interface may not give you the low jitter clock signals and consistent L/R channels desired for a high performance unit.
Alex
Hi Alex,
I thought it would be sufficient to recycle the LRCK an SCLK from the DAC channel.
I2S was never fun to implement on a sequential processor....
Børge
I thought it would be sufficient to recycle the LRCK an SCLK from the DAC channel.
I2S was never fun to implement on a sequential processor....
Børge
Using the DAC i2s clocks for the ADC is a possibility which we have not explored. Will need detailed study and experimentation to see how the clock signals behave wrt timing.
Alex
Alex
Hi Alex,
According to section C.5.10 I2S of http://www.cyantechnology.com/public/manuals/eCOG1X_V2/eCOG1X User Manual-33.htm
both outgoing and ingoing serial data are sampled by a positive bit clock edge. So for test purposes it should be possible to selectively patch DAC serial output to ADC serial input. (Add a pull-down to ADC in so that it returns 0 when patch is not present.)
Do you think it is feasible that outgoing serial data is updated at negative edge while incoming serial data is read on the following positive edge?
Børge
According to section C.5.10 I2S of http://www.cyantechnology.com/public/manuals/eCOG1X_V2/eCOG1X User Manual-33.htm
both outgoing and ingoing serial data are sampled by a positive bit clock edge. So for test purposes it should be possible to selectively patch DAC serial output to ADC serial input. (Add a pull-down to ADC in so that it returns 0 when patch is not present.)
Do you think it is feasible that outgoing serial data is updated at negative edge while incoming serial data is read on the following positive edge?
Børge
Last edited:
Special offer for analog modders: Do blind testing with two kits. Buy two units and I throw in the shipping. Normal kits feature 5 OS-CONs assembled at critical loads. The two-kit analog modder's package comes with 10 loose OS-CONs for your soldering joy 🙂
Børge
Børge
HI!
I just wired my AB-1.1 to my macbookpro (an old pre-unibody with intel duo running OSX10.6.8) and i get no sound. Switched to UAC2 and on the midi control panel the output volume is set to zero with no chance to modify it (disabled). What's wrong with me?
I just wired my AB-1.1 to my macbookpro (an old pre-unibody with intel duo running OSX10.6.8) and i get no sound. Switched to UAC2 and on the midi control panel the output volume is set to zero with no chance to modify it (disabled). What's wrong with me?
An externally hosted image should be here but it was not working when we last tested it.
1. What is the OS version? Only Snow Leopard or later supports uac2.
2. What does WidgetControl GUI tool show? Post a screenshot.
Alex
2. What does WidgetControl GUI tool show? Post a screenshot.
Alex
Thanks Alex
1. Yes, that's snow leopard. Switching to UAC1 I have the volume controls back but it is still mute.
2. No idea, I browsed the group data and messages but I have no clue how to download and run this widget. I am quite a cave man when coming to these very specific tricks.
Gianluca
1. Yes, that's snow leopard. Switching to UAC1 I have the volume controls back but it is still mute.
2. No idea, I browsed the group data and messages but I have no clue how to download and run this widget. I am quite a cave man when coming to these very specific tricks.
Gianluca
Download the GUI tool (windows or Linux versions. No OSX version)
From:
Downloads - sdr-widget - Audio and Control Interface for Amateur Radio SDR and Audiophile USB-DAC - Google Project Hosting
From:
Downloads - sdr-widget - Audio and Control Interface for Amateur Radio SDR and Audiophile USB-DAC - Google Project Hosting
I guess the GUI compatible with OS/X is only the Python-based one, "WidgetControl.py", not the windoze exe file. Likely you'll have to install all of its dependencies first (Python et all).
BTW:
have you checked what's in "Configure Speakers"?
The "clock source" can be changed? (which are the options?)
A/W have no volume, so I'd say that it's no surprise that the controls are either completely disabled or works in a "binary" way (zero/full) only.
P.S.: try mute/unmute and changing resolutions. Try using the same res. as the material being played (e.g., CD).
P.P.S.: to me, everything looks fine there... :-/
BTW:
have you checked what's in "Configure Speakers"?
The "clock source" can be changed? (which are the options?)
A/W have no volume, so I'd say that it's no surprise that the controls are either completely disabled or works in a "binary" way (zero/full) only.
P.S.: try mute/unmute and changing resolutions. Try using the same res. as the material being played (e.g., CD).
P.P.S.: to me, everything looks fine there... :-/
Last edited:
This is how it looks when i switch to UAC1: volume controls active but it is mute (i understand it is untested on Macs). On UAC2 controls are disabled and set to zero. Mute/unmute won't change the result, modifying the resolutions doesn't help.
I tried on a win laptop but it became unresponsive when the AB11 was plugged in. I don'y know if I need drivers or such.
Gianluca
I tried on a win laptop but it became unresponsive when the AB11 was plugged in. I don'y know if I need drivers or such.
Gianluca
Attachments
You need drivers for Windows. Download from the code site I mentioned. AUDWDGT... And SDRWDGT.... Then run the Windows version of WidgetControl.
Btw, windows will HANG with a uac2 device such as widget, unless u have a third party uac2 driver installed.
U really need to get WidgetControl working first and show me a screenshot to see what you have set up in the widget.
Btw, windows will HANG with a uac2 device such as widget, unless u have a third party uac2 driver installed.
U really need to get WidgetControl working first and show me a screenshot to see what you have set up in the widget.
- Home
- Source & Line
- Digital Source
- Open-source USB interface: Audio Widget