Hello from CA

First time on the site? Say hello here!
RitchRock
Experienced Member
Posts: 124
Joined: Tue Jan 17, 2017 9:25 pm

Hello from CA

Postby RitchRock » Tue Jan 24, 2017 7:19 pm

Hello! I just starting working with the XK-AUDIO-216-MC-AB MultiChannel Audio Platform for use with a microphone array processing application. I've already done some successful modifications to the board and reference code. I may need to add an external DSP to use as a convolver + signal matrix, as I don't believe the XMOS chip can handle 8 FIR filters (probably each 2048 in length).

I look forward to learning more about the power of this platform - a big step up from my older Full Speed Streaming audio controller. Cheers!
Last edited by RitchRock on Thu Jun 29, 2017 9:24 pm, edited 2 times in total.
User avatar
andrew
Experienced Member
Posts: 113
Joined: Fri Dec 11, 2009 10:22 am

Postby andrew » Wed Jan 25, 2017 9:45 am

Hello, I'm glad you are enjoying the dev board. If you give me some specifics of your FIR filters then I can let you know if they can run on the xcore or not. I will need: the number of cores you are willing to dedicate to the filtering, the sample rate, filter length(2048) and it's helpful to know if the FIR is the same for each channel and if it's linear phase.
RitchRock
Experienced Member
Posts: 124
Joined: Tue Jan 17, 2017 9:25 pm

Postby RitchRock » Wed Jan 25, 2017 8:32 pm

Hi Andrew, thanks for the reply! Getting I2C to program the chip wasn't too difficult, but I did need to change the I2C address given in the TI datasheet to it's "7-bit version" for everything to play nice. This was a bit of a head scratcher for a few hours :).

Ideally I would like to support sample rates of 44.1k, 48k, 88.2k and 96k. The device needs to stream 4 filtered audio channels from my ADC to USB in, while at the same time sending these same 4 filtered streams to a DAC for analog out. The implementation may change, as I may be able to get away with less filtering, but at most, the DSP (or XMOS?) would process the 4 ADC channels with 2 FIR filters each (8 total) and apply a matrix. These FIRs are not the same, but can be the same length (2048).

Likely, there will be 2 additional channels output for headphone playback from the computer via USB. I may want to also filter this stereo playback.

In addition, I hope to read an encoder that programs the ADC PGAs, and perform audio mixing and level. There would also be a few LEDs to flash :). I'm not sure how many cores all this will take, or how many will be left over, but it seems to me that an external DSP may be in order. Any suggestions would be welcome.

Regarding filter implementation, years ago I created a convolution reverb using the overlap-add method, but there may a quicker way to do the processing on XMOS.

Cheers and thanks for your advice!
User avatar
andrew
Experienced Member
Posts: 113
Joined: Fri Dec 11, 2009 10:22 am

Postby andrew » Wed Jan 25, 2017 10:10 pm

If you are comfortable working in the frequency domain and this suite your needs then we have optimised libraries for FFT, windowing, etc. We would not be able to support a time domain implementation of 8 FIRs at 2048 taps at 96kHz, but a block based implementation is very possible. Currently some of out internal (unreleased) code is doing 8 channel FIRs of 2048 taps but at 16kHz using overlap-and-add in a single thread. It would be easy to spread this technique across many cores if desired.
kamkaran
Newbie
Posts: 1
Joined: Tue Jun 06, 2017 2:19 pm

Postby kamkaran » Thu Jun 08, 2017 1:40 am

Hello from Colarado,USA.
I am a newbie here and I am so glad to join here.

























http://www.soran.edu.iq
stnschrdr
Member
Posts: 13
Joined: Thu Jan 24, 2019 7:35 pm

Postby stnschrdr » Wed Mar 13, 2019 9:49 pm

Hi Andrew,

I know this is an old thread, but I am very much interested in applying 8 channel FIRs of 2048 taps but at 16kHz using my XK-AUDIO-216-MC-AB MultiChannel Audio Platform if possible. I'm having problems inserting the DSP core while applying the convolution funciton 'dsp_filters_fir' from the dsp_lib library. Its very limited in the number of taps I can use the way I have it setup. I am comfortable working in the frequency domain instead of time domain, if it allows me to use longer filters.

What I'm trying to do is modify the project 'app_usb_aud_xk_216_mc' so that copies of the stereo USB output from Audacity to my board get routed to the LINE outs. Each copy needs to be convolved with a different FIR filter (or multiplied, if the input signal and FIR or in the frequency domain, and then applying an IFFT before outputting). Do you have code and documentation that can show me how to do this properly with real-time audio?
cavin12
Newbie
Posts: 1
Joined: Wed Apr 24, 2019 1:18 pm

Postby cavin12 » Wed Apr 24, 2019 1:21 pm

Hi from new york, nice to be here
Masterduh
Newbie
Posts: 1
Joined: Sun Mar 04, 2018 5:46 pm

Postby Masterduh » Thu Aug 15, 2019 10:16 am

Hello from rainy Scotland were still waiting for the summer to start. Im Paul and the last only ghetto blaster I owned was a Hitachi 3D super woofer, back in the eighties. Ive been using a dab radio in the garage and I thought it would be fun to hide the dab and wire it to an old school ghetto blaster. So far I havent bought anything but I find myself drawn to the Sharp GF range. How difficult is it to play music from an external source through one of these old things? Any and all advice is welcome. Cheers

Who is online

Users browsing this forum: No registered users and 0 guests