Hacker News new | past | comments | ask | show | jobs | submit login
YouTab: Automatically get chords for music (youtab.me)
349 points by yoodit on Aug 20, 2014 | hide | past | favorite | 88 comments



Hello,

I've been hard at work on a project that I would like to share with you. It's called YouTab and its what I believe is a great way to sync lyrics and chords with music. The smart guys I work with use a nifty algorithm to "listen" to the music and in a lot of cases it does a really good job in getting the chords. But since technology has its limits there's an editor application that lets you fix what is wrong.

I am hoping that this will develop into a useful resource for musicians and music lovers and I'd love to hear what you think about it and get ideas as to what you might like to see next.

Thank you for taking the time to read this.


You should send an email to the guys at http://chordify.net/ . One of the people involved in that project has a PHD in computer science with focus on analysing music with code. They'd be great people to team up with for you.


Chordify works pretty well. One criticism: it doesn't handle meter or speed modulations mid-song very well.


The algorithm for generating chords does seem to work very well for simple songs, and at least makes a good stab at more complicated songs, for the guitar-driven songs I tried.

In terms of presentation and editing, I believe the guys at http://www.soundslice.com/ have a solution that is much better. I would love to see a synthesis of these two technologies, with YouTab producing a first draft of a sheet for SoundSlice based on any video.


Very cool! You've already captured a few hours of my life.

A bit of feed back on the editor -

First, in general, it's a little... mysterious? It's not immediately clear exactly what clicking in difference places will do, and it's easy to click the wrong the and have the song jump around or a element shift or something, so it ends up feeling a bit twitchy. One thing that might help is better mouse cursors, like the i-bar for moving the current play position line, or the hand for grabbing-and-repositioning.

I get what's going on with the timeline being split in three horizontal rows, but I still find it kind of confusing, especially when working near the edges.

Also, scrolling the timeline backwards is awkward when the music is playing, as it brings the play line closer to the end of visible timeline which causes the whole thing to jump forward, negating your progress. I think a zoomed-out preview box would be helpful with highlights marking what's currently visible (like graphics editors often have). I did see you can move around in the song in the player controls but it doesn't show the blocks.

Keyboard shortcuts would be very helpful, particular for fine-tuning block positioning. Perhaps even you could have a key to mark positions during playback for later use in aligning blocks? In fact, in general it would be helpful if you could align blocks to one another, or to the beat.

As a non-musician, I would find it useful if you could "play back" the chord track, for comparison with the song.


Very nice. You know one feature I would love to see are strumming patterns. It's nice to see the chords but it's tough for an amateur to identify the strumming patterns.


I have been thinking a lot on how to implement this feature. Showing it easy enough, but creating strumming patterns is a bit of a challenge...

This is my favorite feature though.


Don't implement strumming patterns! I've watched my wife trying to learn guitar pursing her lips saying up-down-up-up-down to herself and it just sounds robotic. Once you can play the chords smoothly enough strumming just happens. Even better, everyone seems to strum their own way (i cant sing so i strum a lot to compensate, whereas i have a friend with a beautiful voice who barely touches the strings)


That up-down-up-up-down whilst keeping the hand moving sets up different rythms and is an important skill. Especially if you're trying to learn a particular song - which will sound totally different if you get that wrong. Of course, you can get away without learning it like a lot of stuff on the guitar but you just won't be as good.


IMHO, strumming patterns are something that you (as a beginner) need to experiment with to see what sounds just right. Eventually you end up not thinking about it anymore.


Maybe an algorithm that could identify for ex first played note - meaning bass or first string and continue the same with other chords. After that you know where to start. Also there are only few strumming patterns and if you know the measure it should be easier. Just an idea.


Would it be useful to see this on a grid? I find it's much more intuitive to coordinate strumming with my sense of hearing.


Very cool—thanks for sharing!

One feature that might be nice would be to allow for transposing or denoting that a capo should be used.



Great, it's a nice project

However, it seems to have "gone crazy" with this song (which is hard) https://www.youtab.me/music/gkE29Y2PPdd/one-without/withered...

But this one it got very well (it's easy) https://www.youtab.me/music/zGvQx6E4KO4/ruth-laredo/mozart-r... I don't remember all the details but it is pretty close to the original


Wow, this is an amazing piece of work.

I tried a few songs. It was not clear you could make the screen larger but once I did I just loved the way it counts the beats.

The second song I tried did not work. It stated the song could not be analysed because it was not public, although it was in the search results.

The last song: https://www.youtab.me/search/arctic-monkeys-mar it did not do so well on, but I guess this is where the community comes in.


Certainly love the concept! And the UI flow and automatic lyrics-to-chords feature appears to have worked on my song just great.

But... it doesn't seem to play, which is kind of a bummer.. Maybe the server is being swamped?

https://www.youtab.me/music/XnWT_wslaBc/lindsey-simon/its-a-...


Plays fine for me but the start of the verses are completely out of synch lyrics->music. By the end of the verse it's fall in to synch however, then in the next verse it falls out' again - appears to have problems handling the long gaps with no lyrics.


Hey there, the links works for me. Loaded very quickly, the server is doing fine. Could be a glitch, try again please?


Worked great on the first song I tried. Thereafter it crashed my browser several times (FF 31). Would be awesome if you could mix in/out with the actual song a MIDI track of the chords themselves, just to verify that they are correct.


This is a great web app! I have been searching for something like this for when looking for chords! Really great job!


It would be really nice to be able to download the chords in midi.


Is this a proprietary algorithm?


1) Allow me to open links in a new tab. Without this, I'll never use your site.

2) The back button is there for a reason and I like to use it. Again, without this, I'll never use your site.

3) Search for '"billy preston" circles' (without the single quotes). From the results, choose "D&F - Will It Go Round In Circles, Billy Preston - [Dave and..." -- Nothing happens on the resulting page other than chords are generated. The chords are close to right (IIRC) but, you cannot listen to the song to transcribe the lyrics. Zoom in and out works.


This is really nice. There are a number of songs whose chords I can't find, and this one came up with (at the very least) a starting point for figuring it out. I like how it tracks the beat and shows the waveform, and I especially like having the video play in the bottom right so I can watch as I play.

Very cool. The only nitpick is a copy tweak. Throughout the app the app refers to itself as "us" or "our" ("Working our magic") and then almost immediately after as "me" ("It takes me about 30 seconds.") You should consider unifying the pronouns so that either you're always using first person, or you're always using the royal "we".

Otherwise, this is pretty rad. I can see myself using this to practice some new songs that come out.


Both this and Chordify are really awesome endeavors! However, I find them both to be erratic in accuracy to the same degree. Many times, a major in a simple I-IV-V pattern will turn into a minor, or vice versa, or a simple major will excitedly be read as a major 7th. It must be a huge pain in the ass trying to pluck out these harmonics and to accommodate for all sorts of wacky instruments, so I'll let it slide! Both services are tremendous if only for getting the initial framework for a song and figuring out some of the incorrect chords yourself.

Does YouTab have a "confidence" rating for each chord? I don't know if it'd be the best UX to include that number for each chord (and maybe even alternate chord suggestions), but there are times when I'm simply playing along with the song incorrectly and it takes me a couple amateur minutes to correct the one chord that Chordify got wrong.

Great stuff, anyway!


I'm pretty impressed with this - I purposely fed it a song I thought would kill it ("Fuzz Universe" By Paul Gilbert) - It did an impressive job of capturing many of the underlying chords, while ignoring the lead lines over the top. I notice that it is not really great at capturing very fast chord changes, an has some trouble with varying time signatures, but great first effort. It would be pretty cool if you could upload your own MP3 to it, and get a result back - that way you could generate the output off a recording of yourself to distribute to bandmates.

Edit: Later, that song did kill it, as the changes got faster/harder.

Also, it doesn't seem to have a complete set of possible chords - one song to check would be "A hard Day's Night" by the Beatles. It has a difficult and distinct first Chord which might be valuable to test against.


Ha! I'm impressed at its attempt at the early parts of Fuzz Universe. I think it can do really well when there's a clear bass note, and the bass is clear as a whistle on that album. When it has the bass note it seems to usually get the character of the chord (maj, min, dim, etc.).


Another good test case for things like this is "Take 5", or any other song with a non-4/4 signature. The chords seem ok, but the beats are just off.

On the other hand, Cake's "Sad Songs and Waltzes", with a very distinct 3/4 signature, analyzes well.


You and I must be on the same wavelength because the first thing I threw at it was "Scarified".


PG is my all time favorite guitar player.


Without a doubt for me as well. His brand new album is a little disappointing, but I don't really care for cover albums. Shredding to Goodbye Yellow Brick Road is amusing though.


Same here. I'm considering flying to Japan in November just to see Mr. Big perform at the Budokan.


I wish I would be ble to do that. In the mean time I'm enrolled in his artistworks classes, which are excellent. It's taking quite a bit of re-learning to do things his way, but I'm willing to admit his way is better than mine was.

Yeah, he's my favorite guitar player ever also. Not sure anything tops Fuzz Universe in my mind. But most of his songs are great.


Been having a lot of success with Capo [1] recently - excellent beat and chord detection (though it often overcomplicates simple fifths and sus4s assuming they're much more full voiced than they are); also provides a time/frequency intensity view that you can use to pick out melody lines which it automatically translates into tab.

[1] http://supermegaultragroovy.com/products/capo/


I'm using Firefox and it kept crashing on me on about half the songs I tried.


Same for me: Running on Firefox 31.0 (Windows 7) and i can crash it every time ...


Do you guys happen to be using Intel graphics?


Not on my PC where the crash occurred. I'm using Intel graphics on my Ubuntu laptop, and there it's working perfectly. Disabling AddblockPlus seems to solve the problem though.


My FF also crashes. Firefox 24.7 ESR on Windows 7. Intel Graphics.


I tried it with a song that is very familiar to me, "Antonio's Song" by Michael Franks, using the top hit in Videos for this Google search. It is in 4/4 time and the beat doesn't vary at all. It has five different actual chords: Am7, A7, Bm7b5, Dm7 and E7, and the pattern of chord changes is quite conventional in a verse-chorus structure. The algorithm did a so-so job of determining the chords. It rarely noticed that they were seventh chords, instead identifying them as Amin, Bdim, Dmin and E. It appears to rely strongly on the bass part. In one case there was a C# passing tone in the bass between an A7 and a Dm7 chord that was identified as a C#aug chord. I didn't try the editor. I guess this would make it easier than entering all the chords from scratch, but it struck me that there was still a lot of manual work to make it accurate and usable.


Awesome service. I'll definitely be using it.

A question about your plans: you describe annotating as 'contributing to the community' but your terms of service say that only you, not the community, have a license to my copyright on the annotations. You also say that you may one day charge fees.

There have been cases (notably http://en.wikipedia.org/wiki/Gracenote_licensing_controversy) where users have built a database that a company has then claimed as its own and profited from, to the exclusion of the users. So, the question: are the user-contributed annotations open source and licensed as such? And, if not, why would I contribute annotations to a wiki that I may later no longer be allowed to access?


I couldn't get this to work, after selecting a song it appears to work for ~30 seconds and replies with "This song cannot be analyzed because it is not set as public on YouTube." or "This song cannot be analyzed because it is not set as public on SoundCloud."


What songs? I'll check


`Kiesza - Hideaway`. Other songs do work and the app is pretty impressive, but I find the UI for lining up lyrics really awkward, it doesn't seem to be possible to move all of them at once so if the start offset is wrong it's really painful to use. For an example see `Le Youth - Cool`


To move everything at once drag the the body of the segment (not in between). That will move everything from that point on.


I Am The Resurrection by the Stone Roses -- happened for both the first youtube and the first soundcloud results. Why does it show search results that are not public?


Nice site! (But I was disappointed when I realized there wasn't actually tablature).


see soundslice.com


Hey, great job on the website! I have one small criticism (in addition to others already listed here). I put in a song that was in the key of B. The most-used chords of this key are B, E, F#, and G#m - as I'm sure you're well aware. However, the songs chords were detected as B, E, F# and Abm. While technically correct, as Abm and G#m are the same chord, the convention is to list Abm as G#m in this case. I believe this is to avoid mixing sharps and flats in the written chords forms. Written chords should either all be in flats or sharps, rarely if ever mixed. Certain keys are listed with sharps, and others with flats. Here are the most common ones:

C - n/a

D - sharps

Eb - flats

E - sharps

F - flats

F# - sharps

G - sharps

Ab - flats

A - sharps

Bb - flats

B - sharps


You're right. The idea is that each note of the scale should fall on a successive line or space on the staff, and the "convention" of having keys be only sharps or flats falls out from that (hm, why? I've never thought about that). So for diatonic chords we spell them with those same notes of the scale as well, of course. Some scales even have double flats or sharps!


> The idea is that each note of the scale should fall on a successive line or space on the staff, and the "convention" of having keys be only sharps or flats falls out from that (hm, why? I've never thought about that).

The second part is really the same as the first. You want to be able to spell each diatonic alphabetically in order without skipping any letters of the alphabet. The B major scale is

    B  C# D# E  F# G# A# B
If you tried spelling that with flats, you'd get

    B  Db Eb E  Gb Ab Bb B
The skipped C and F, and the double E and B, is just nasty. The same would happen if you tried spelling the scale with a combination of flats and sharps.

As for diatonic scales that start on an accidental, as far as I know you can use either the flat or the sharp notation. They are enharmonic equivalents. I know there are often traditional preferences, simply to choose the spelling that leaves fewer accidentals in the key signature. For instance, I think that Db major is more common than the equivalent C# major because the former has 5 flats while the latter has 7 sharps.


> As for diatonic scales that start on an accidental, as far as I know you can use either the flat or the sharp notation. They are enharmonic equivalents. I know there are often traditional preferences, simply to choose the spelling that leaves fewer accidentals in the key signature. For instance, I think that Db major is more common than the equivalent C# major because the former has 5 flats while the latter has 7 sharps.

Yup, that's true, though the choice of enharmonic keys will depend on context: e.g. the V7/V in a sharp key will be spelled in another sharp key even if more awkward, with double-sharps etc. Also, to get pedantic there are no "accidentals in the key signature" by definition.


> Also, to get pedantic there are no "accidentals in the key signature" by definition.

Yeah, I tried to figure out a better term for that, but I'm not aware of one. Of course, I meant notes that are accidentals in C major, i.e. the black keys on a piano.


Very cool! I love the way it just analyzes the audio. It'll be very useful when trying to figure out how to play obscure songs that don't have tabs available on the web.


Works very nicely even with difficult program material (I listen to a lot of weird electronic stuff), but wit would be nice if it had export-to-MIDI or suchlike.


I love the concept, but every version of the song I looked for gave me this message "This song cannot be analyzed because it is not set as public..."


Great site, awesome project, good stuff. However, I found some kind of a "bug": http://i.imgur.com/elpJSS8.png At this point, you can't see what "kind" of F the first F is. They clearly are different, however I'm not a musician so I wouldn't know what it should be.



It tries to figure out the artist by itself and as with all automatic things like this it missed sometimes.


You have an editor to fix the chords. Is there a way to fix the metadata?

Can it understand the difference between a composer and a performer?


There will be in the future.


Wow, at a glance, this appears to be the best auto-chord-transcribers I've used. I'm getting much more usable data out of this than others that I've tried.

Do you intend for it to be able to hear altered chords?... #5, b5, etc? It didn't seem to be catching that on a song I submitted, but it got the root and third correct, which is still helpful.


The detection is very sensitive to the harmonic definition of a song more than anything else. On some songs it will do a great job and on other miserably fail. That's why it's also an editor, nothing beats the human ear.


This is really cool. The thing that's obviously missing to me is chord charts to go along with the chord names. Despite the fact that people can look up the chord elsewhere, the tool would be much more useful to novice players (who are probably the majority of likely users) to simply provide those charts.


agreed and that is coming up soon.


One idea for a feature: you might want to include the ability to move the chords up or down a few half-tones. Some folks will use various tricks to move their instrument up or down a few notches in order to make the chords easier to play. The tool needs to be able to adjust for that.


This is very very cool. How exactly are you getting the audio from youtube? I'm assuming you somehow pull the audio from youtube in your backend (how?), analyze it, use that analysis to build your display and then sync that with the playing youtube video?


Wow. Great work! Dropping lyrics in and then adjusting the timings was easy and fun.

I wasn't aware at first that 'contributing' to a song would be public. This is cool and intuitive, although I'd prefer to contribute anonymously.


Clap, clap, clap. This is incredible and much needed after frustratingly navigating through the constant up sell of the poorly designed tab sites out there. You know who I'm talking about. I would pay for this.


I just signed up and have only looked at it for about 20 seconds. Seriously impressed with the chords it has found so far. Great job! Can't wait to check out more later.


Awesome project,personally I feel there should more options for discovering music, like languages etc. That will also help you in user engagement.


That's really awesome! Obviously not bullet proof and it doesn't hit everything 100% of the time but the concept is awesome.

Great work.


I love it! Good stuff! The cursor beating in time with the music is a nice touch.


This is amazing! I've been wanting something like this for so long.


This is awesome. The first song I tried worked perfectly. Well done!


WOW! Great for me that likes to produce spare time! Thanks guys!


This is fantastic.


Nice work!


   sorry this video has been removed from youtube
   sorry this video has been removed from youtube
   sorry this video has been removed from youtube
   sorry this video has been removed from youtube
ad nauseum. nice project, but doomed to fail because of this.

why the downvotes ? even their TOS sort of acknowledges it will not work :

YouTab respects your copyrights and the copyrights of others and therefore requires that you only annotate tablature of your own music or of music that you are licensed to annotate (such as public domain music).


Here's the reason for your downvotes:

Instead of "you're doing it wrong", suggest alternatives. When someone is learning, help them learn more. https://news.ycombinator.com/showhn.html


fair enough.

but the criticism stands : it's hardly useful for me as every 2 out of 3 songs will not work. probably because I'm in europe, but still. and I can't suggest alternatives, there aren't any with copyright laws being what they are.


BTW, what we do is completely legal for any song, we did our legal work.


oh come on, 90% of what's on the site now is in clear violation of the TOS I quoted. or are you suggesting that, for example, user 'Descending' owns the rights to 'Help' from the Beatles ?

how do you explain these rules in regard to this :

YouTab also requires that the music videos that you attach to your tablature shall be your own or videos which you are licensed to display; for example, you are not allowed to embed an unlicensed Metallica video and write down your tabs for that song.

true, you have covered yourself by stating these things in your TOS, but after removing all videos that are not in accordance, you're left with an empty site.

seriously, from a technical point of view I love projects like these, but I cannot see how this could ever work in the long run if it's dependent on youtube. at least not as long as large record companies exist and enforce their copyrights as they tend to do.


OK, so here goes:

1. The site is DMCA compliant 2. Lyrics are provided legally through musixmatch 3. Chords as they are presented on the site are legal. We spent a lot of time and money making sure of that.

Yes, the TOS should be updated which I will take care ASAP.


I agree that the site is DMCA compliant, you've covered that. lyrics added by the users for tracks that musixmatch hasn't got the rights to will probably still be a problem. the chords are, I guess, no problem, as you can't copyright a chord progression.

the big problem however is the embedding of material from soundcloud and youtube. while strictly speaking it might be legal, the total experience of your site is severely impacted by the fact that youtube continually removes video's that violate _their_ TOS, leaving orphaned tabs. or, as I myself noticed, blocks embedding of most tracks (at least for me, there's probably some geo-blocking going on).

I really like the interface, I'm very impressed with how well it works for most tracks (and fast too), but by making it dependent on difficult external parties like youtube and soundcloud I don't see it taking off. I've had very similar usability problems with all other projects that attempt similar things.

edit : I'll check back for the updated TOS later. I'm curious what they'll say...


Thanks for the insight. I agree that a 3rd party media provider such as YouTube & SoundCloud has it potential for problems. It's not a perfect solution I agree. I have been toying with re-attaching tabs to different audio sources when a video dies for example. I'm not entirely happy with current results. It should be automatic, which I have a pretty good idea on how to do, but haven't gotten around to implementing yet.


I just checked the competition, they still suffer the same problems you're facing : most videos simply won't load, a lot because they can only be viewed on youtube, some are blocked (for me at least), some are gone.

I guess society isn't ready yet.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: