Sinisterly
[collab?] Auto tab - Printable Version

+- Sinisterly (https://sinister.ly)
+-- Forum: Coding (https://sinister.ly/Forum-Coding)
+--- Forum: Coding (https://sinister.ly/Forum-Coding--71)
+--- Thread: [collab?] Auto tab (/Thread-collab-Auto-tab)



[collab?] Auto tab - Inori - 06-23-2015

I've been playing guitar for a good chunk of my (almost) 15 years, and I think it's time for me to try and integrate that with code. My idea is a program that takes mp3, wav or some kind of audio file as input and outputs the guitar tablature.
Spoiler: Example

this video, in the correct format would output the following (4/16 time, expressive[technically 4/4, but works for 16th notes])
Code:
e|-----------------------------------------------------------------------------------| B|-----------------------------------------------------------------------------------| G|-----------------------------------------------------------------------------------| D|-----------------------------------------------------------------------------------| A|-----------------------------------------------------------------------------------| E|0---------------0---------------0---------------0---------------0---------------0--|


I'm not sure what language I'd need to make this (I'm assuming it's one of the Cs), nor do I have any idea on how to actually code it, so any help is appreciated. Thanks~

EDIT: Ayy, 1337th post Biggrin


RE: [collab?] Auto tab - Lysergide - 06-23-2015

I think machine learning is the way here.
Different encoding makes it more difficult, so at the beginning you might want to focus on a single encoding standard and code something for it (like mp3).

I think you will need to dissect the audio file and find a way to separate different notes, then you will need to build a database where a piece of dissected audio signal is mapped to the corresponding note.
I think in principle it will be similar to the voice-to-text and speech recognition applications, so you might wanna read something about them.

It is not an easy project anyway, good luck Smile


RE: [collab?] Auto tab - Inori - 06-23-2015

(06-23-2015, 06:45 PM)Lysergide Wrote: I think machine learning is the way here.
Different encoding makes it more difficult, so at the beginning you might want to focus on a single encoding standard and code something for it (like mp3).

I think you will need to dissect the audio file and find a way to separate different notes, then you will need to build a database where a piece of dissected audio signal is mapped to the corresponding note.
I think in principle it will be similar to the voice-to-text and speech recognition applications, so you might wanna read something about them.

It is not an easy project anyway, good luck Smile

From what I gather, you're suggesting I convert the file to something easier to read, like midi, then output the text from reading note by note?


RE: [collab?] Auto tab - Lysergide - 06-23-2015

I'm not suggesting "easier to read", just to focus on a single encoding scheme at the beginning of the program, and make it work with that before moving on other standards.
You can choose whatever you like, I am not sure if you will have an easier time on a low-quality encoding scheme, it might happen that notes will be harder to distinguish one from another.

And yes, I think you will have to do it note by note, I don't know how else you could output the entire tab.


RE: [collab?] Auto tab - Inori - 06-23-2015

(06-23-2015, 07:00 PM)Lysergide Wrote: I'm not suggesting "easier to read", just to focus on a single encoding scheme at the beginning of the program, and make it work with that before moving on other standards.
You can choose whatever you like, I am not sure if you will have an easier time on a low-quality encoding scheme, it might happen that notes will be harder to distinguish one from another.

And yes, I think you will have to do it note by note, I don't know how else you could output the entire tab.

Thanks for the tips Biggrin


RE: [collab?] Auto tab - phyrrus9 - 06-23-2015

(06-23-2015, 07:01 PM)Chitoge Wrote: Thanks for the tips Biggrin

I wanted to do something really similar at one point (except I wanted to do real time MIDI and output conversion).

What you could do, is try grabbing it at the source (like the cable in. usually the amp will have an output stream as well). But then you are simply stuck with analog values, you will need to ADC that and then sort through it to try and find the different frequencies.

Or, you could pick it up with a microphone (much harder).

Next, you will need to take those frequencies, and sort through them so that you can try and figure out which string to put each finger on. Since we know that multiple strings can make the exact same note, the program will need to decide which string fits best (I reccomend you just produce all of the outputs and find the one with the least separation)

Long story short, it will be hard as fuck.


RE: [collab?] Auto tab - Inori - 06-23-2015

(06-23-2015, 08:43 PM)phyrrus9 Wrote: Long story short, it will be hard as fuck.

Tabbing by hand is a giant pain in the ass, and most guitarists are lazy as hell (like myself), so this will be more or less worth it if I can pull it off


RE: [collab?] Auto tab - phyrrus9 - 06-23-2015

(06-23-2015, 09:00 PM)Chitoge Wrote: Tabbing by hand is a giant pain in the ass, and most guitarists are lazy as hell (like myself), so this will be more or less worth it if I can pull it off

I suggest you get a prerecorded MIDI file and try to work off of that.. Then all you need to do is store a table of all the available MIDI notes, and what they tab to. Of course, MIDI has a hard-ish time recording differences between notes and chords.