What is the specification of "XK-AUDIO-216-MC-AB"?

If you have a simple question and just want an answer.
Shota.Sato
Member
Posts: 11
Joined: Tue Jul 02, 2019 3:30 am

What is the specification of "XK-AUDIO-216-MC-AB"?

Post by Shota.Sato »

Hello,
I tring to record music using "Xcore-200 Multichannel Audio Platform(XK-AUDIO-216-MC-AB)".
I could to record music, but the recorded music has the following problems.
1. Volume is very low.(Volume of recorded music is less than half of source.)
2. Wavelength shift 0.2 milliseconds per 6 seconds.
3. Sound skipping at 60 nanoseconds occures about three times during 2 minutes.
I'm now investigating these causes.

Although there are many possible causes ,What is the above 2nd and 3rd in the product specification?
The recording environment is as follows.
1. Connection environment
DesktopPC(Input) -----> XK-AUDIO-216-MC-AB -----> Android Phone <----- Another PC
*DesktopPC and XK-AUDIO-216-MC-AB are connected by 3.5mm stereo jacks.(Cable length is 50 cm)
*XK-AUDIO-216-MC-AB and Android phone are connected by usb2.0. (Cable length is 15 cm)
*Android Phone and Another PC are connected by wifi.

2. Source file
Sampling Rate:48kHz
Quantization bit rate:16bit
Channel:2

Best regards
Attachments
Waveform_comparison.png
(154.7 KiB) Not downloaded yet
Waveform_comparison.png
(154.7 KiB) Not downloaded yet


User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Seems like a complicated setup. Why don't you test the MC audio board is working well with it connected to a PC (Windows / Linux / Mac) first and recording in Audacity? It works perfect for me in that scenario.
Shota.Sato
Member
Posts: 11
Joined: Tue Jul 02, 2019 3:30 am

Post by Shota.Sato »

Thank you for reply.

The recording environment is as follows.
PC_A(Input) -----> XK-AUDIO-216-MC-AB -----> PC_A(Audacity)
*PC_A and XK-AUDIO-216-MC-AB are connected by 3.5mm stereo jacks and usb2.0.
*Cable length is 50 cm.

Sound skipping was resolved thanks to your advice.
The recording environment was the cause for sound skipping.

Wavelength shift was not resolved.
Can you think of anything that might have caused it?
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

What do you mean by wavelength shift? Is it a discontinuity or is the recorded wavelength off from the transmitted wavelength by 200 microseconds per 6 seconds? That's only 33ppm so it's probably just the difference in clock frequencies between the PC sound card and the MC Audio board and that seems pretty normal.
Shota.Sato
Member
Posts: 11
Joined: Tue Jul 02, 2019 3:30 am

Post by Shota.Sato »

It is continuous.
So, if you record for 2 minutes, about 2~3msec recording will end early.

I understood that the cause of wavelength shift is clock frequencies.
By the way,i can't find the clock frequencies of the MC Audio board anywhere,what is the clock frequencies of the MC Audio board?
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Refer to https://www.xmos.com/download/xCORE-200 ... l(1.2).pdf page 10. The accuracy will be identical to the accuracy of the 24 MHz xtal on the board.
Shota.Sato
Member
Posts: 11
Joined: Tue Jul 02, 2019 3:30 am

Post by Shota.Sato »

I understood your explanation perfectly!
Thank you for your uncomplicated explanation.
RitchRock
XCore Addict
Posts: 186
Joined: Tue Jan 17, 2017 9:25 pm

Post by RitchRock »

It might be interesting to see if the phase shift changes with feedback endpoint set as implicit vs explicit. Add -DUAC_FORCE_FEEDBACK_EP=0 (implict) or -DUAC_FORCE_FEEDBACK_EP=1 (explicit) to your build in the makefile.
Shota.Sato
Member
Posts: 11
Joined: Tue Jul 02, 2019 3:30 am

Post by Shota.Sato »

Modified makefile as below,but didn't change the phase shift.

# Audio Class 2, Input, Output, no MIDI, no SPDIF
XCC_FLAGS_2i10o10xxxxxx = $(BUILD_FLAGS) -DMIDI=0 -DSPDIF_TX=0 -DNUM_USB_CHAN_OUT=2 -DNUM_USB_CHAN_IN=6 -DI2S_CHANS_ADC=6 -DI2S_CHANS_DAC=2 -DUAC_FORCE_FEEDBACK_EP=0 or 1
INCLUDE_ONLY_IN_2i10o10xxxxxx =
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Correct me if I'm wrong, but isn't the whole point of a feedback endpoint that an asynchronous DAC (sink) can run at the low jitter of the local MCLK but control the transfer rate from the USB host such that the host doesn't overrun or underrun the DAC? It shouldn't affect the audio clock rate on the DAC. Likewise that's why adaptive source (ADC) endpoints can put a variable number of samples in each usb frame, so the ADC can run at low jitter but the device buffer doesn't overrun / underrun.
Post Reply