Live data from Hacker News

Show HN: A guitar tab viewer that listens

fatpick.com

21–30 of 112 posts

Re: Show HN: A guitar tab viewer that listens

#21
post #15
post #13

Earlier quoted context omitted.

Essentially yes, and thank you. Being able to leverage WebAudio was a major factor in the decision to use Electron. To be honest at first I was thinking of Electron/WebAudio as a prototyping tool that I would only use for a proof-of-concept, but I've been pleasantly surprised by its performance and capabilities. So far I haven't found a compelling reason to change. When you don't need to worry about cross-browser com…

Awesome, thanks! I’ve seen proof-of-concept pitch detection in webaudio but it’s great to learn it’s production-worthy, not just a demo. I’ll try fatpick (love the name, btw) when I get to a guitar and report back. Also curious what did you use for painting the tabs. DIY in Canvas? Or vexflow? Btw there’s a nice talk from Adrian Holovaty on perf challenges with soundslice and its drawing/updating of notation (standar…

Lol, I've never even seen at VexFlow before, or if I have I've forgotten about it.

But from a quick scan I think FATpick's tablature view is a little different what VexFlow does. FATpick's view is like a "piano-roll" - the x-axis maps directly to time such that the notes scroll from right to left at a constant rate, with the width of each "bubble" directly corresponding to the duration of that note. VexFlow does "traditional" tablature (and stave) notation, like the sheet music most people are familiar with, in which all notes are more-or-less the same width on the score, independent of duration.

That said, adding conventional (stave) notation to the player view (instead of or in addition to tabs) is on the roadmap, and VexFlow seems like it be very useful for that.

Re: Show HN: A guitar tab viewer that listens

#22

This looks very interesting. Alas, it doesn't pass security on Mac OS Mojave.

I'm repeating myself but just to put this near the root of this thread:

You should be able to right-click on the application icon and choose "open" from the context menu that pops up to make this problem go away. (Assuming you trust the developer, of course.) This message is just a more strongly worded (and less convenient) version of the dialog that has always come up when opening side-loaded apps for the first time, at least in my experience.

It looks like Apple's newly introduced "notarization" process will avoid this step, even for apps distributed outside of the official App Store, but that process will take a little bit of time. In the meantime you'll need to take the right-click-and-choose-open action.

Re: Show HN: A guitar tab viewer that listens

#23
post #15
post #13

Earlier quoted context omitted.

Essentially yes, and thank you. Being able to leverage WebAudio was a major factor in the decision to use Electron. To be honest at first I was thinking of Electron/WebAudio as a prototyping tool that I would only use for a proof-of-concept, but I've been pleasantly surprised by its performance and capabilities. So far I haven't found a compelling reason to change. When you don't need to worry about cross-browser com…

Awesome, thanks! I’ve seen proof-of-concept pitch detection in webaudio but it’s great to learn it’s production-worthy, not just a demo. I’ll try fatpick (love the name, btw) when I get to a guitar and report back. Also curious what did you use for painting the tabs. DIY in Canvas? Or vexflow? Btw there’s a nice talk from Adrian Holovaty on perf challenges with soundslice and its drawing/updating of notation (standar…

The graphics are directly rendered on an HTML Canvas. It took a little bit of optimization (and a performance-conscious design to begin with) to get there but it seems to consistently get 60 FPS even with all of the graphics, audio streaming and signal processing.

Actually the graphics are the easy part, the bulk of the time in the "inner loop" is in the audio analysis. Not to give away any secret sauce but in my experience naively using `AnalyserNode.getFloatFrequencyData` does not provide adequate performance or even accuracy when under "noisy" conditions. FATpick uses a "proprietary" (custom) pitch detection algorithm, but, other than a few domain-specific insights maybe, there's nothing particularly groundbreaking about it -- it's doing the same kind of things you'll find in academic literature on the topic, just judiciously selected and tuned by endless (and ongoing) lab-testing.

Re: Show HN: A guitar tab viewer that listens

#24
post #16
post #12

Earlier quoted context omitted.

Thanks. I'm familiar with CustomsForge, and there are a lot of interesting things about it. But you don't need anything nearly as complicated as Rocksmith files or CustomsForge to import songs into FATpick. FATpick already accepts Guitar Pro files, so there are thousands, maybe 10s of thousands of scores you can download from ultimate-guitar and other sites to import into FATpick. Also, while obviously not as conveni…

> FATpick already accepts Guitar Pro files This is interesting. I suggest you add that somewhere in the home page.

I agree with this. I didn't see any mention of this either.

Re: Show HN: A guitar tab viewer that listens

#26
post #21
post #15

Earlier quoted context omitted.

Awesome, thanks! I’ve seen proof-of-concept pitch detection in webaudio but it’s great to learn it’s production-worthy, not just a demo. I’ll try fatpick (love the name, btw) when I get to a guitar and report back. Also curious what did you use for painting the tabs. DIY in Canvas? Or vexflow? Btw there’s a nice talk from Adrian Holovaty on perf challenges with soundslice and its drawing/updating of notation (standar…

Lol, I've never even seen at VexFlow before, or if I have I've forgotten about it. But from a quick scan I think FATpick's tablature view is a little different what VexFlow does. FATpick's view is like a "piano-roll" - the x-axis maps directly to time such that the notes scroll from right to left at a constant rate, with the width of each "bubble" directly corresponding to the duration of that note. VexFlow does "tra…

I think stave+tab would be ideal. What little guitar I've picked up has actually been stave notation, but I've got a lot of missing chords in my knowledge base- having the tab right there by the notes/chords would help me master new chords...

Re: Show HN: A guitar tab viewer that listens

#27
post #11

Earlier quoted context omitted.

This is what I get: https://imgur.com/a/aHy0c0Z Would love to try it!

Thanks. I just double checked on High Sierra and I'm not seeing the problem but I don't have a Mojave install in front of me right now so I can't troubleshoot it immediately. Are you seeing that problem when opening the DMG or the app itself? Does it help to use the right-click-and-choose-open approach? For what it is worth you can download (a zipped version of) the .app file directly from https://www.fatpick.com/rel…

Is the app both signed (and notarized)? - if not you will have to CTRL + Right click -> open to run the unsigned code.

Re: Show HN: A guitar tab viewer that listens

#28
post #13
post #10

Earlier quoted context omitted.

Electron - does that mean it’s built with JavaScript and webaudio API? Congrats on the launch!

Essentially yes, and thank you. Being able to leverage WebAudio was a major factor in the decision to use Electron. To be honest at first I was thinking of Electron/WebAudio as a prototyping tool that I would only use for a proof-of-concept, but I've been pleasantly surprised by its performance and capabilities. So far I haven't found a compelling reason to change. When you don't need to worry about cross-browser com…

Cool project, wish I could try it!

Given that it's Electron, is there a reason you don't have a Linux version?

Re: Show HN: A guitar tab viewer that listens

#29

Nice work! Do you think this work could be adapted to recognize human-sung notes in real time (e.g. turn my humming into an orchestral melody)? If so, let's get in touch!

It can absolutely do near-real-time pitch detection of singing or humming or even better whistling. We may want to tweak the parameters a little bit for that specific domain but it probably does reasonably well right now.

If you want you can test out how well it does as-is right now. Within the app go to "Settings" then "Audio Analysis Settings" then click the "Test Settings" button. That will show you the same pitch and note-onset detection as used during game-play.

I'd be happy to talk more -- you can reach me as rod@ the domain I linked to -- but to be candid monochromatic pitch detection of the human voice is not a hard problem. I'm not sure FATpick is as special at this as you seem to think, but I'm not quite sure what you have in mind. And I certainly don't want to talk you out of thinking that :) I'd love to hear more about it.

Re: Show HN: A guitar tab viewer that listens

#30
post #16

Earlier quoted context omitted.

> FATpick already accepts Guitar Pro files This is interesting. I suggest you add that somewhere in the home page.

I agree with this. I didn't see any mention of this either.

Thanks.

I don't always reference "Guitar Pro" by name. Do you think that specific phrase would catch your eye or be more significant for you?

I.e. is "import Guitar Pro tabs" substantially more meaningful to you than, say, "import custom tabs"?

Post reply on HN