[LAD] Polyphonic normal guitar to midi: Jam Origins' MIDI-Guitar
Dominique Michel
dominique.c.michel at gmail.com
Tue Jun 26 15:11:54 CEST 2018
Le Mon, 25 Jun 2018 18:31:12 -0400,
Tim <termtech at rogers.com> a écrit :
> Hi list, some time ago a coder was asking about
> making such an app. I think it's on github.
>
<snip>
> Amazing what DSP audio and image coding can do these days.
> Any thoughts on coding techniques? I've read a lot of papers!
> Some say using FFTs + auto-correlation comparisons.
> Some say non-negative matrix.
> My head spins, but this team definitely deserves praise.
> Can open source come up with something?
To go fast and get a low enough latency, you can use can what time is
between 2 consecutive peaks of the signal.
Be aware than you would have to smooth the signal because when playing
loud and the strings are touching the frets, the harmonic content
become so weird you can get false maximums (as seen by a signal
analysis of my electrical guitar with a memory oscilloscope), which will
give you a much higher fundamental frequency than expected.
Normal signal:
* *
* * * *
* * * *
* * * *
* * * *
* * * *
*=========*=========*=========*====
* * *
* * *
* * *
* * *
* * * *
* *
Fretted signal:
* * * *
* ** * * ** *
* * * * * *
* * * *
* * * *
* * * *
*=========*=========*=========*====
* * *
* * *
* * *
* * *
* * * *
* *
These double peaks can be very huge as an electrical guitar have a huge
dynamic during the attack of the notes. Doing a repetitive arithmetic
average calculation when the sampling are coming in must be enough to
smooth them in real time, and to get ride of other high order harmonics
at the same time.
The latency will be dependant of the fundamental frequency, something
like one period + trigger delay.
Cheers,
Dom
>
> Cheers, Tim.
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev at lists.linuxaudio.org
> https://lists.linuxaudio.org/listinfo/linux-audio-dev
--
If you have a problem and you are not doing anything to fix it, you are
at the heart of the problem.
More information about the Linux-audio-dev
mailing list