External Audio DSP Processor Project

XCore Project reviews, ideas, videos and proposals.
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

External Audio DSP Processor Project

Post by williamk »

Ok, I have no clue on what the included USB JTAG drivers do for the included XMOS Dev.Kits. So here's what I wanted to do, and if someone could tell me if those drivers will do the trick, please, let me know.

Edit: I just added a project page for this:
http://www.xcore.com/projects/external- ... -processor

I was hoping to use the following kit:
http://www.xmos.com/products/developmen ... opment-kit

Its the XC-1A kit:

Image

I could create a firmware that would talk to a VST plugin in the computer, using as an external audio-dsp device.

Here's an example: plug the XC-1A into the computer, load up a special VST which sends audio to the card and receives the audio back from the card.

Another example: plug the XC-1A into the computer, load the special VSTi which sends Midi-Information to the card and receives back the audio.

That way, the XC-1A would work like the UAD or Powercore cards. Adding more power to a computer DAW.

But I have no idea if all that would work. Also, what kind of USB drivers we would need in order to program a VST for Windows, MAC, Linux, ... ?

For now I'm just wondering about those things, before I can actually working on any project for XC-1A.

The great thing about this project is that its ALL software based, as users could just order the XC-1A kit and make their own cases for it. Or someone could do a custom XC-1A kit with a nice translucid case, and we would use the Leds for nice visual feedback of the midi/audio. ;-)

Anyway, just day dreaming a bit today....... :ugeek:

Wk
Last edited by williamk on Mon Oct 04, 2010 2:11 pm, edited 1 time in total.


Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

Post by williamk »

Another ideas for the card using it with a computer and a VST compatible Host/Sequencer.

- oversampled FM synthesizer. Since there's not much memory usage for those, it would be nice. And the whole GUI is set on the computer, so the XMOS chip memory is only used for the actual sound. Programs are also saved on the computer, so another plus, 64k of memory on each chip for a FM simulation is a great thing. I can't say for sure, but I would imagine that we would be able to split multiple voices to all 4 chips, getting some nice polyphony out of the thing.

- multi synthesis VA workstation. Now here's where the fun begins, using the 4 chips for Virtual Analog audio simulations. :geek:

- small Wavetable synthesis.

- 8/10/12 bit short sample playback.

What else? ;-)

Wk
Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

Post by williamk »

Ah, can this be moved to Project Proposals, please? :oops:

Also, the Network DEV Kit, does it come with memory? Can it be flashed/programmed via web too?

Wk
Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
User avatar
nassim
Experienced Member
Posts: 112
Joined: Sun Sep 05, 2010 3:39 pm

Post by nassim »

hi williamk,

i see that you have many excellent idea about audio, we wait with passion the final project of your all idea :D

thanks, and good luck
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

Post by williamk »

Thanks guys. Yes, music is my passion. ;-) You can see from www.Wusik.com and also www.William-K.com - I have other passions too, but its mainly Music. :ugeek:

I don't know if my external audio dsp idea will work with those xmos kits out of the box, but it would be fun if it would. ;-) otherwise we will need to find a company that can make a new kit using the xmos chips, but with direct usb connections, I guess. But that's a whole different project... :cry:

Maybe the other kit, with the RJ45, would work. But I couldn't figure out what's the flash memory that comes with it, and also, if the RJ45 can be used to download new programs or not. (like an Arduino)

I'm still very new to XMOS and I'm still learning my way around, as I'm a C++/Assembly coder, but have near zero experience with micro controllers and hardware projects. I do have experience with electronics and related things. ;-)

Wk
Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
User avatar
nassim
Experienced Member
Posts: 112
Joined: Sun Sep 05, 2010 3:39 pm

Post by nassim »

you can see custom-xmos-boards group http://xcore.com/groups/custom-xmos-boards were there is many library and PCB with eagle or else and you can download or put your PCB idea (XMOS + USB)
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

Post by williamk »

Ok, lets talk more on how the XC-1A talks to a computer via USB. From what I understand it uses a special emulated connection, plus a serial connection.

A few questions: can I make my own code to talk to the card and send new programs to the chip, or once its programmed via the XMOS ide there's not much I can do about it?

I was hoping to do something simpler them:

1) the user would download xmos dev tools, flash the board itself.

2) load a VST/Plugin that talks to the board via serial mode

3) for each sample-frame, which most DAWS will send in groups of 128 samples, I could compress the data (looseless format) and send to the card, and fetch the response from the previous fetch. (a buffer) that way the code doesn't need to wait for the card to complete the process.

I don't know if this would work out in real-life, but its worth trying?

A complete solution would be the VST/Plugin be able to change firmware/programming of the card in real-time. So if you load something new, the card changes itself too.

But I'm probably way out as I don't quite grasp the concept of the card yet... :oops:

Wk
Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

Post by williamk »

I just took a look at the XC2 hardware manuals, and yes, there's a 4mbit flash memory on the thing which can be programmed. Now another question, do I need the XTAG USB adapter to program the flash, or can I program it over the RJ45 (web) ? Just wondering.

In any event, it seems that using the RJ45 cable would be faster than the Serial option, right? ;-)

I still rather use the XC-1A, as its powered from the USB, and would be a much simpler solution, but heck, what do I know. ;-)

Wk
Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

The XC1a uses an ftdi chip that provides JTAG and a virtual serial com port. This is mainly used for developing and debugging.

Xmos would probably recommend you go the XUD route using high speed usb 2 attached via the 3318 phy to the xmos chip. The advantage of this is that you can develop your own usb peripherals and also leverage the usb 2.0 audio drivers that exist and support current Xmos offerings. This would also solve your data transfer issues, as swell as providing a firmware flash updater.

However once you step away from the existing drivers your in a world of usb hurt as you will have to develop multiplatform drivers yourself - non trivial.

Also your chip choice may lead you to using an L2 rather than a G4 as this is already a reference platform for xmos audio see USB Audio 2.0 multichannel ref design. This would provide a good basis for your design as the schematics are already available.

Definitely worth taking a look at.

*Note the basic usb 2.0 audio card probably won't cut it for you because the Xmos ULPI implementation butchers the I/O ports not leaving anywhere near enough ports for your idea.
*another possibility is to go the Ethernet route using an XC-2 and developing your own daughter card for the audio,buttons and display, that way you can do midi over Ethernet and possibly Audio Video bridging(IEEE 802.1 AVB and IEEE 1722/1733) see xmos AVB reference designs


regards
Al
User avatar
williamk
Experienced Member
Posts: 114
Joined: Fri Oct 01, 2010 7:47 pm

Post by williamk »

Thanks, sadly we don't have any budget on making such large project, as creating USB drivers or anything like that...

I was also thinking on adding a Stereo good quality DAC to either boards and just send midi information. Sysex can handle parameters easily. I wonder if I could just use XC-1A as it is, add a DAC, and send the midi information via the USB Cable Serial Mode? :?: :idea:

Wk
Wusik Dot Com (http://www.Wusik.com)
William-K.com (http://www.William-K.com)
Post Reply