MidiSaron

Korg Wavedrum MIDIfied

15 posts in this topic

Hi all,

 

here's my first MIDIbox project:

http://www.midibox.org/dokuwiki/doku.php?id=korg_wavedrum_midification

 

I built a LPCXpresso board into my Korg Wavedrum WD-X, to MIDIfy it, and perhaps to enhance its user interface.

 

The source code is very much work in progress (in other words, it's a mess :rolleyes: ), but if anyone is interested, just drop me a line and I'll send it.

 

Comments welcome!

 

Ingo

Share this post


Link to post
Share on other sites

Hi Ingo,

 

wow! First post, and then already with a concrete project, this is unusual!

Welcome on board! :)

 

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

I'm interested in this project. Looks nice!

I play music with someone who has a Wavedrum.

Is the firmware based on MIOS32?

Share this post


Link to post
Share on other sites

@TK:

Hi Thorsten, thanks for the warm welcome! A have a few older projects, most of them running an 8051 and written in assembly language. I will port some of them to MIOS for sure.

 

@Duggle:

Yes, it's based on MIOS of couse.

Share this post


Link to post
Share on other sites

Hi MidiSaron,

I find in your dokuwiki that you use the AN10913 DSP library, i need it too.
How did you add it? in details, please...
BR

Share this post


Link to post
Share on other sites

Wow! Your documentation makes a fantastic read!

It leaves me wondering though, why did you use a Wavedrum at all?

What's left of its original functionality rather looks like a burden than a benefit, at your current point.

Wouldn't it be easier to use a common drum with some pickups?

Share this post


Link to post
Share on other sites
Hi MidiSaron,

I find in your dokuwiki that you use the AN10913 DSP library, i need it too.

How did you add it? in details, please...

BR

 

Got me! I promised to publish the code including the FFT handling as soon as I had tidied it up. But still haven't :sleep:

First, you need to add the DSP library to the makefile as described in the Wiki. Then, the header file has to be included in each C file which contains calls to the library functions:

#include "cr_dsplib.h"

I just copied the files cr_dsplib.h and libcr_dsplibFFT_cm3.a into the folder where my source files are.

Since the input signal for the FFT is real in my case (i. e. the imaginary part is always zero), every other number of the input array is zero:

	static s16 psi_Input[128];
	static s16 psi_Output[128];
	
	//fill input buffer for FFT
	for(i=0, j=0; i<BUF_SIZE; i++)
	{
		psi_Input[j] = buffer[i];	//real part
		j++;
		psi_Input[j] = 0;		//imaginary part
		j++;
	}

Then the FFT is computed just by calling:

	vF_dspl_fftR4b16N64(psi_Output, psi_Input);		//FFT is calculated HERE

Since I had a real (read: non-complex) input signal, only the first 33 bins psi_Output[0]...psi_Output[32] contain useful information.

 

Hope it's clearer now. If you have more questions, just ask.

 

Ingo

Share this post


Link to post
Share on other sites
Wow! Your documentation makes a fantastic read!

It leaves me wondering though, why did you use a Wavedrum at all?

What's left of its original functionality rather looks like a burden than a benefit, at your current point.

Wouldn't it be easier to use a common drum with some pickups?

Thank you for your kind words.

I used a Wavedrum because I had one :smile: .

What makes the Wavedrum a great instrument is that the sound created by physical modeling can be layered with the internal samples. But the choice of internal samples is quite limited, at least for the WD-X (Wavedrum Silver). But I have to confess, I haven't done much layering of the Wavedrum's internal sound with external samples (yet).

 

I too thought of building a stand-alone MIDI drum, maybe out of conga hardware, and adding a few cheap piezo disks...

 

Ingo

Share this post


Link to post
Share on other sites

Hi, thank you for your answer, it's clear now and will be helpfull! :)

An other question did you try to use DMA with the ADC?

BR

Share this post


Link to post
Share on other sites

An other question did you try to use DMA with the ADC?

I cosidered using the DMA, but then the timer can not start the AD conversion automagically. At least I couldn't find out how. If anyone knows, I'm all ears :smile:

 

Ingo

Share this post


Link to post
Share on other sites

I tried it but without result, for now my processus cycle don't need it, but i'm ears too for later.

I think we've got to manage ADC the request, ADC as source, Mem as destinations with some others obscurs parameters.

First, DMA configuration depends on the source, Extenal ADC (I2S, SPI) or Internal ADC...
Mine is internal ADC. For you?

I configure and run under DMA but my problem is that i don't understand the request system, i just understand that bust mode is to read ADC Channels sequencially in opposition of single mode...
Someone?

 

Share this post


Link to post
Share on other sites

Hi all,

 

just a heads up: I have uploaded the recent source code. It's still a mess :whistle: , but the DSP stuff is in there.

Share this post


Link to post
Share on other sites

You Need something like a Manual RT-System so solve this. Are you familiar with RT-programming?

Share this post


Link to post
Share on other sites
You Need something like a Manual RT-System so solve this. Are you familiar with RT-programming?

Not sure if I understand what you mean. RT as in Real Time? Which problem can be solved with it?

 

Ingo

Share this post


Link to post
Share on other sites

Hi,

I am willing to pay a fair price for the talented engineer who would enhance it with midi. the wavedrum seemed to me as the only drum synth with the right feel, only that the synth engine is chemical. i'd like to connect it to my DSI Tempest. 

please contact me.

Edited by yonatan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now