Это видео недоступно.
Сожалеем об этом.
Raspberry Pi Pico - Guitar To MIDI
HTML-код
- Опубликовано: 2 мар 2021
- #raspberry #pi #pico #guitar #midi #guitartomidi
In this video I am demoing my Raspberry Pi Pico based Guitar To MIDI converter. I am quite blown away by the results as I would not have expected this 4$ micro controller to perform this task. The latency is lower than any other controller I have tried. If you enjoyed this video. Please leave a thumbs up and subscribe for more fun projects.
Link to the repository: github.com/rip...
Link to MiGiC: migic.com/
Awesome project!
For polyphony I suggest to use an ESP32 with a hexaphonic pickup (e.g. Roland GK3 Internal Pickup Kit) instead of a Raspberry Pi Pico (not enough ADC channels). With the ESP32 you can use FortySevenEffects/arduino_midi_library to implement MIDI-over-USB/-Bluetooth/-WiFi and a webserver serving ADC/GPIO configuration like number of strings and additional MIDI controls like volume/tone/tremolo/vibrato/...-potentiometers (which are missing on my Fishman TriplePlay Connect) and even a decimal pad or rotary encoder to select instrument banks.
Just tried the Windows demo version of your SW -- amazing stuff, really well done.
Oh man, I got so excited by this.. bought a pico, started wiring it all up and then realised that it's not the whole code... gutted! Any updates? I'm super keen to have a go at making one. You'll always have an audience for buying these, but for us DIYers, sharing that full code wold make you a superstar. Even if you make it for real and make your money first.
Otherwise, any other people on here keen to have a crack at making something similar and sharing their code?
I've just run into the same surprising problem. Just out of curiosity, have you managed to find any functionally similar alternatives in your time since trying out this project?
@@CasualCheetah I've been asking GPT for some code ideas, but I haven't tried them yet. :)
@@rowancant3071 Hmmm, interesting idea.
@@CasualCheetah If you just want an off the shelf guitar to MIDI converter, the Sonuus G2M is pretty good. I have the version 3. They all respond faster to higher notes, so it's generally better to play on the thinner strings, and set the synth or VSTi to transpose down, if you need to.
Simply Awesome! Loved the drum solo also.
Firstly, I wanted to applaud the achievement. Nice one! Regarding polyphony, I wanted to draw your attention to a technique I saw in a 'look mum no computer' post. While he was just using the pickup of a bass to drive a pitch to midi converter, the project that had inspired him had used 4 piezo speakers, cut with scissors, a strip of the diaphragm wedged between the string and the bridge - and it worked!!! That at least could provide a 'hexaphonic' input, do you think a lone pico and six of the adc channels could provide usable results?
I was thinking, you have another processor, you could customise the each adc channel to a range of pitches relevant to the string, the sampling frequencies of the analog inputs are multiples of the sample rates of audio signals, so you could rotate buffers around sources? Even sync three, or six picos, if they'd need syncing ?
I don't know, you are, clearly, the expert, but i thought i'd mention the lofi piezo hex pickup solution in case you'd dismissed a cheap hardware solution.
Good luck, great work!
Edit- editing an error, a further thought - could you covert a pitch directly to a 12v per octave control voltage, via an amp, from the pico? Don't know if it's any quicker than using a midi to cv...
Can I ask if you're also producing any data like an envelope follower, and would a factor relating to the timbre of the note be achievable?
Like a multiband envelope follower, I suppose. Not a vocoder, just loudness curves for a high and low band..I am waffling
This is incredible work. Thank you
I love the vertical keyboard that you just glossed over! I've been making something similar but designed around chorded typing (so I can type multiple letters in one go), and am enthused to see others have gone in a similar direction. Good luck and keep up the hacking!
Wow! You are a Genius ! Just incredible ! Thanks for great video!
Thats insane, great job!
Thx man! Much appreciated!
Really cool. Great job!
Thank you very much Mikael! Hope that all is well :)
Amazing - well done!
Are you fucking kidding me?!? Do you know how long I’ve wanted this?!? And in an RPi omg. Wow.
Cool project!
Hi, awesome project. Do you think pico software will ever be available to the public? Also have you plans to make a linux version of migic? Thank you!
Super awesome! I would love to try to replicate!
Thank you very much man! Give it a go, its loads of fun!! :)
I vote for a custom PCB with everything included, Gr-55 tooo expensive. Damn this is a cool project.
Its in the making! I have drawn the schematic and the PCB will try to order a few prototypes soon :) thanks man
Love it! Are you considering making a custom PCB for it so you can have a tidier little setup?
Thanks man! Yes I am, would be nice to make use of the new headers to solder it in a neat way :)
@@philipkarlssongisslow9955 It'd be awesome if they were available to buy aswell!
I need this!
This is amazing! Is there any way you can detail out the hardware used here? I want to try this out for myself. Mainly the guitar input jack is what confuses me. I'm not an electronics superstar but I can fumble my way around understanding the schematics :)
Thans man, I guess I can do a short follow up video. The guitar input jack is just a regular 6.1mm female. I only showed off the pedal EVB as it is useful when I am designing other stuff such as guitar pedals. Cheers
1) Nice!
2) Speedy fingers!
3) Is the unit monophonic or is it capable of polyphony? If monophonic, I recently decided to try my Casio MIDI guitar with a Korg NTS-1. A delightful and compact-yet-powerful combination. The only problem was that the guitar dates back some 35 years, and the latency is quite noticeable. Faster MIDI encoding would be wonderful; especially if a divided pickup is not required.
4) Would simple rectification of the guitar signal ahead of the note detection allow for further reduction of the latency, by doubling the (resulting) frequency of the guitar note, especially for the lower strings?
Thank you very much. It is currently monophonic. Regarding 4) very much :)
Impressing ! Are there schematics available so that anyone can build this monophonic guitar to midi ? And what about a polyphonic one ?
Awesome Philip, Only one RUclips video? you need to do more. I want to build the USB interface, other than your schematic shown in the video is there any other hardware needed? Are you using the pico's usb port to the Mac or other USB interface, I could not tell from the video? Also If I purchase MiGiC will that come with libMiGiC? In order to build the USB interface, without MiGiC Synth, do I need libMiGiC? Thanks so much.
lograste responder tus dudas???
estoy haciendo el mismo proyecto pero no consigo muchas respuestas
Let us know when this is available, I would definitely buy it!
Sick
Sooooo how do I upload the code to the pico? Only did that before with arduinos and its IDE
This project is amazing! Can it detect more than one string at the time?
Hi! Really like your Project! I am planning on doing a compilation video of the coolest Raspberry Pi Pico based projects out there. Am I allowed to showcase your project and use some footage from this video? Of cause I would give credit to your video.
Hi thank you very much I would be honoured! Please send me a link when it's done :) cheers!
@@philipkarlssongisslow9955 Thanks man, really appreciate that. I will do that of cause. Have a nice day!
So sort of the opposite of a keytar, one might say? 😅
Nicely done!
Hi, I'm curious if this supports sending midi pitch bend signals based on the exact pitch of the notes played, or if this is limited to 12 tone equal temperament. So for instance, if you bend, can you get "in-between" notes, assuming the midi instrument supports pitch bends?
I have a microtonal guitar, and I'm curious if that would work with this, or if it would be quantized to 12.
This is really really awesome!! 🎉 Question here: how would the midi converter react to multiple notes playing simultaneously? Say I strum a G chord. Do you think it will function accurately?
Great
Do you have any plans on turning this project into a product?
Krass ... not bad not bad ... nice
Cool Stuff
Thx man!
@@philipkarlssongisslow9955 This looks awesome! Where can I buy one?
@@andreasnygren4770 I am currently not selling any devices but you can buy the software solution at migic.com cheers
This is great! Had question though -- is the Migic software running on the pico? Then you can use this for any DAW or standalone synth that can be controlled with a USB MIDI connection with all the code on the github? Or do I have to buy the Migic software on the PC for this project to work?
Thx man! There is actually a ported version of the MiGiC running on the Pico. There is no MiGiC what so ever running on the PC, all calculations are done on the Pico. I am still trying to figure out if/how I can release a binary exclusive to the Pico that prevents it from being used on other devices if I can release it. Because right now only the platform (ADC, DMA, USB MIDI) is open source. You could still use the platform to build something similar but you would have to code your own pitch recognition if you use the source from Github. I am open for any tips or suggestions :)
@@philipkarlssongisslow9955 Hello, any updates on whether you could provide the pitch recognition binary for the pico?
Amazing. Is it polyphonic too?
Would it be possible to reuse this for other string based instruments that look like guitars but not exactly the same ? We have some local guitar variants in Thailand called Phin
Soooo when are you gonna start making rack mounted and table top versions of this?
I'll second that
I will start drawing the schematics during the next few weeks ;)
@@philipkarlssongisslow9955 good!!! Does it track cords too?
@@gregorybeard92 Not currently, its a LOT more math to track chords but you never now in the future :)
@@philipkarlssongisslow9955 not mad at it... Hell a monophonic version isn't a bad situation.
Hello sir will you make this project open source?
I suppose chords could be possible.. have to process the combination of notes.
Does this work on a pico without having to buy MiGiC?
Awesome! You should use Cortex-M4 at minimum for multiple strings
Thanks man ! I am using a Cortex-M4 MCU on the new PCB :)
@@philipkarlssongisslow9955 nice! FPU helps very much, you could also using hexaphonic pickups 😁
Ooooh I want :)
Cool, I am working on making it more accessible
@@philipkarlssongisslow9955 this is the start of my Pico based guitar pedal. It’d be cool to put a synth on the board and add mix with a live signal.
@@MikeontheMandolin Cool! Let me know when you have something I can test 😎
@@philipkarlssongisslow9955 will do. I’m just waiting on an audio dac to work on v2.
I have a question, can the pico be used as a MIDI host? I would like to try it as a MIDI controler over USB to change presets in my Zoom 70CDR.
amazing project It is possible to replace mcp6002 by module Max9814 ?
Is the circuit with the opamp necessary? Or could you theoretically also use a regular guitar amp on clean with a signal out to the Pico?
I could build the circuit if needed, but if the result is the same, I already have a guitar amp with a output that I use to record with.
Also, any plans for Migic on IOS? MIDI guitar holds that space and do polyphony, but they are way more expensive.
Why would anybody downvote this?!
He won't release the software for it. There's no download for the embedded libraries even if you buy the license.
Do you think this will work for microphone input on drumset?
Now make a divided pickup so you can do 6 in parallel and you are on your way to VG8 tech
Is there any way to build pressure sensitive pads or mpe type controllers?
great, do you have velocity control?
If I buy MiGiC on the store, will this include your libMiGiC for the rp2040?
Great project, btw.
Thanks man! Not currently I am trying to figure out a way to make this happen. I am also consider making a custom PCB with everything included would you be interested? Cheers
@@philipkarlssongisslow9955 More interested in the firmware. Maybe you can distribute the compiled .bin firmware?
@@philipkarlssongisslow9955 Shut up and take my money!
Can you play 6 notes simultaneously?
Or I need one of each per string?
Amazing! But what about latency? How much is it ?
12-15 ms?
Could something similar work with a saxophone?
For sure! I have tried the PC version with saxophone and it works great so the pico should be happy too
@@philipkarlssongisslow9955 Can it convert breath sensitivity to CC#2 midi breath control?
So you said you aren't posting the libMiGiC code.. That means no one without your coding experience can make this. Do you plan to sell the code, or a pre-programmed Pico??
My brother has a Focusrite Scarlett 2i2 audio interface. I assume that would be far better than direct to a PC. I have a Pico too mind you but more powerful PCs of course!
I have a Scarlett myself and this setup is actaually quicker since all the SW runs 100% uninterrupted on the Pico. I will upstream these changes to the MiGiC PC code as well so that it can benefit from the improvements I did while completing the port.
Sorry to insist, buy why not a binary release of this project?
When you compile in arduino, a short bit before the board is uploaded with the firmware, there is a .bin file that you could distribute, and this will allow people to replicate this cool project, without having to wait and wait+more shipping waiting..
Note: To watch the path were the .bin file is located, enable debuging on the arduino IDE, and it will show it on the logs where it compiles and uploads.
I want to secure that it does not end up in something else than a Pico, say a commercial product. Therefore I want to make sure that it will only run on the Pico first. I am very much aware of what a .bin is :)
Does it let a bend or slide get encoded?
The algorithm does that very well but I have not optimized it enough to be able to run on the Pico yet. Have a look here migic.com/ to see it in action on the PC. I think bends/vibrato is where MiGiC really shines.
How does it do with chords?
Currently it is monophonic
Could I build it if I buy migic?
Hi, not currently. This is a highly optimized unreleased ARM version of a part of MiGiC. I am looking in to if/how to secure a binary release specifically for the makers (Pico)
@@philipkarlssongisslow9955 thanks I'll keep checking if there is a aupdate