Yet another synth


Tb_

Recommended Posts

Hello

Just a little post to show you my project.

I work on a synth, here is the file played in the video:

http://files.mididb.com/david-guetta/sexy-bitch.mid

http://dl.free.fr/j7J8nKvWh

It features 1 note per channel. 16 channels in stereo at 48Khz.

The linux PC read the midi file and send event message (note on , note off ...) to the papilio board.

Thomas

Link to comment
Share on other sites

Very nice project Thomas I watched the demo video here afetr downloading it and it looks really awesome :) and I was really impressed with the sound here

for everyone who wants to see it, the download page is in french so please click on the link that I put in a red rectangle here :

post-29506-0-62708500-1355871769.jpg

and the translation of what he said at the end of the video is: " there are still some minor problems"

Link to comment
Share on other sites

  • 3 months later...
  • 6 months later...

Hello

 

It is not a breaking news, it is just a post for self motivation. :)

I use my papilio one to read a song wave from an sd card. Ok this doesn't sound incredible but now a way we see a lot of soft core to do this kind of things.

 

No firework, no picture, no video, there is nothing to show : i load the bitstream and 'magie' the song come from the speaker. And naturally no documentation meanwhile source code is available, in case some of you want to reproduce this at home !

 

Next step would be to read different samples of different length. You know with a 2Go SD card you can store an impressive number of sample...

I would like to be able play several sample coming from this card in the same time, 4 would be fine : usually a drummer have only 2 arms and 2 legs...

Then i could complete my midi synth with the drum channel, as in SK-synth but with different hw (no SRAM)  and far more voice...

 

Thomas

Link to comment
Share on other sites

  • 1 month later...

Hi

 

I realize that i didn't post video update since a long time ago !!!

 

http://www.youtube.com/watch?v=YadhN8LuyPg

 

The sound is very low, because my speaker are quite away from my camera.

 

Also it is the same midi file play used in the first demo but the design have completely change.

 

The design still produce sound at 48Khz and is drive by midi protocol. I also implement pitchbend, aftertouch. Note off feedback.

 

I pass the design at 96Mhz to avoid clock domain crossing between the uart and the synthesizer core. But today I am not sure it was a good idea. dummy because I run into timing not met issues : MULT18X18SIO seems to have propagation delay not in line with a clock at 96Mhz, so i change all my multiplier by core generate pipelined instance. So the design use more resources with no gain in feature... The benefice are that now i have enough cycle to loop the 256 row of my RAM16 and play 256 sounds at the sample time. While at 32Mhz i was limited to about 160 and i can avoid clock domain crossing (In a previous version the uart was working at 96Mhz but the synthesizer core run only at 32Mhz)

 

Also if i wish to port on a spartan6, I can probably review this part to have a better usage of the fpga resources.

 

If someone have a working example on how to setup a multi-cycle path constraint i am interest to learn : all my attempt failed to setup the constraint.

 

Next step ... add  the drum channel

 

Thomas

Link to comment
Share on other sites

  • 10 months later...

Project update

I finally manage to add drum. Actually it read sample from the SD card. The current design is limited to one drum sound at the time. But I have in mind to enhance the system and be able to reproduce 4 drum sound in the same time in addition to the other sound ( up to 252 ).

Even if I rework the design it is not yet timing net. More work on timing exception is required.

I record a new video of the same midi song unfortunately I didn't improve my record sound system so the sound of the video is still very low and bass drum is quite difficult to heard...
http://youtu.be/XX9kjhRqEsM

 

Thomas

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.