Guitar-to-MIDI project article

Started by Mark Hammer, November 02, 2009, 01:07:26 PM

Previous topic - Next topic

mikestorm

hi

is there some way to get a free copy of the article/project?

thanks all

mikestorm

Hi all

i'm working on this project, done the pcb, but the problem is to find the pic 16f88(i've got many 16f84A and 16f84) here in Italy.

however, does anyone allready done this circuit and tasted yet?

would someone be kind and let me listen to some sample, in order to see what really can do the project?

thanks to all

Mikestorm

Jarno

You can get the programmed PIC at Magenta Electronics.

I am wondering about this project, since it's such a simple build. Has anyone else built it? How's the tracking/ delay? Anyone try it on bass?

G. Hoffman

Quote from: Jarno on January 11, 2010, 09:10:04 AM
You can get the programmed PIC at Magenta Electronics.

I am wondering about this project, since it's such a simple build. Has anyone else built it? How's the tracking/ delay? Anyone try it on bass?


I haven't tried this project, but many years back I did play around with MIDI guitar for a while.  The tracking is always an issue, and if your technique isn't clean you will have problems. 

The problem with the tracking is that it takes at least half a cycle for the device to figure out what note you are playing.  One of the side effects of this is it takes longer to detect lower notes than higher, so tracking on a bass will ALWAYS be a problem.


Gabriel

Jarno

Yes, it seems we don't always have physics on OUR side  :)

mikestorm

Thanks Jarno
but i've got a pic programmer, so i would like to take a new  16f88 and program by myself.

here in italy isnt easy to find one, i've got a couple of 16f84 but i think it wont be nice

let me know if there is some news

markeebee

mikestorm - if i send you two pic 16f88 chips from the UK, would you be able to program them and send one back to me?

mikestorm

yes i can , but it will be too expencive for me and for you

i pay 10 euro for the delivery

i can help you to program the pic, programmer schematics and software

potul

As I said some posts above, I built it in a proto-board some weeks ago. See my comments below

Quote from: potul on November 19, 2009, 12:13:58 PM
I breadboarded it tonight, and it works fine, at least it works as I expected it to work after reading the code.

-Tracking is not perfect (having the guitar in tune helps, though :P )
-You need to pick very cleanly.
-The unit is only tracking pitch at the attack of the note, so if after picking you modify the pitch (bending, slide, pull up...), it is not tracked.
-Volume of the note attack is translated into midi note velocity. But velocity is constant until note fades.

Not bad, considering that I skipped the part of the circuit that references the ADC max and min, so probably accuracy can be improved in the final build.
I will investigate if adding some filtering by hardware, the tracking can be improved.
Modify it to have bend tracking will be tricky... because of the way the algorithm works. It tracks pitch at the note attack on purpose to avoid harmonics... so if we continuously track pitch, probably will have wrong pitch detected at the note decay. And, if we add a schmidt trigger type of filter to focus on the main harmonic, we will lose the dynamics.


I cannot post any sample because:

-I didn't record anything
-The unit does not produce any sound... it depends on the MID instrument you attach to it. so I don't see if a sample would be of any usefulness.

I plan to build it in a definitive pcb in brief.. I will keep you updated.

Potul

Taylor

One way that can be useful to record these things is to record the clean guitar in the right channel and then the synth or piano or whatever in the left channel. This gives a good representation of the latency and shows how the unit translates playing techniques into MIDI data.

space_ryerson

When I read the article, I got the feeling that the code would need to be modified to work for bass, since the code seemed to be based on the lowest harmonic of a guitar. Whenever I got around to this project, I was planning on doing it with a bypass, add an audio-in jack for whatever midi module I planned on using, and a blend control for original bass signal vs. the midi module. That way, I can run the synth to the same amp, and potentially overlap the sounds if I wanted.

potul

Oh, I see. Next time I build it in the definitive pcb I will try to record something, but it will not be in the next days because I'm fully dedicated now to program a MIDI bootloader for my projects.

Regarding the bass question, as somebody pointed, the code needs to be modified because it will not track low notes. There is a timeout set based on the guitar lowest frequency that must be modified, and there is a lookup table that probably needs to be adapted to include more octaves.

Potul

potul

Quote from: mikestorm on January 12, 2010, 08:21:08 AM
Thanks Jarno
but i've got a pic programmer, so i would like to take a new  16f88 and program by myself.

here in italy isnt easy to find one, i've got a couple of 16f84 but i think it wont be nice

let me know if there is some news

16F84 will not work, for a number of reasons...

I recently found a source for 16f88 online in Europe. Go check this web. I don't know about the shipping costs, you will need to check.

http://www.voti.nl/shop/catalog.html

mikestorm

thanks Potul

i will contact him in these days

mikestorm

found the PIC here in Italy
maybe next week i will contact them and buy one.

someone got news on the project?

wordstep

About this project, I built the circuit. And wondering how to program the chip.

I use pickit2 clone with version 2.61 software.

There are 2 HEX files.

GUITAR TO MIDI.HEX
ignprgm.HEX

Can someone explain that why there are 2 files?

Thanks a lot.

wordstep

It works with the G*****.hex
I still like to know why there are 2 files.

Thanks.

mikestorm

hi wordstep

i think you have only to load the G######.hex file

the otherone i think is the code for another project in the same issue

would you like to make some audio sample?

maybe as  Tylor said:

One way that can be useful to record these things is to record the clean guitar in the right channel and then the synth or piano or whatever in the left channel. This gives a good representation of the latency and shows how the unit translates playing techniques into MIDI data.

thanks for all
Mikestorm

potul

Yes, the GUITAR TO MIDI.HEX is the file to use. I compiled the ASM file as well and it also worked.
The other hex file is from another project.

Regards,

Potul

wordstep

#39
Thanks for the replies.

Maybe I can record sth. When it is ready, I will post here. I need 2 weeks.