Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hi everyone. I'd like to introduce you to a side project I've been working on for a little while now.

FATpick (https://www.fatpick.com/) is a practice tool for guitar (and bass) that helps you learn to play new songs, improve your skills and stay motivated to keep playing. It's an auto-scrolling tablature viewer, synchronized with backing tracks, that listens as you play along with any guitar, providing immediate feedback on your accuracy and timing.

FATpick will eventually be much more than that - there are a lot of directions to take this in - but even with this more modest scope this M(+)VP release is useful, cohesive and hopefully compelling in and of itself.

A couple of things that might be interesting to HN: (1) So far this has been a bootstrapped, solo effort; but it won't necessarily stay that way. (2) The current Windows and Mac apps are built with Electron; but they won't necessarily stay that way either. I'd be happy to discuss any of that if you are interested.

A direct link to the downloads page is here: https://www.fatpick.com/support/downloads#get-fatpick

You can find a brief (and silent) video of the app in action on either of the pages linked above.

I'd love your feedback on any part of this, but I'd especially appreciate it if you can give the app a try.



I spent a while trying to figure out if this was free (not just to download, but to use fully) or would require some kind of paid account. Maybe you could make that clearer?


That's great feedback, thanks.

To clarify: it is totally free to download and use right now and will continue to be for at least several months. Eventually payment will be required, probably in the form of a subscription plan.


If your business model is a subscription plan, you're putting yourself in a market with established competitors that have much higher quality (right now) software and content.

You really oughta do the math, consider how many subscribers you might be able to attain and how much to charge and whether that makes your ends meet.

You've probably already considered the licensing fees of the sheet music and/or background audio. Just getting into a discussion with the copyright holders is going to be an uphill battle when you're not the first mover in the field.

All the best to your project, I might give it a try later.


> subscription plan

Please reconsider this. If this is a local app, then I see no reason for adopting a subscription plan.

I am interested, but right now guitar is a hobby I can afford only a couple of times a week. Paying a subscription would have a different impact on, who like me, is an occasional player.

Otherwise I can stick with Guitar Pro for eternity.


Guitar Pro's list price is more than the likely cost of an annual subscription to FATpick.


I do all my graphics editing with a Fireworks CS4, bought ten years back. I use it rarely, so the one time payment worked wonders. In almost every way I prefer apps that I completely own - especially if it's locally installed. And I'd be willing to pay a higher price upfront if there was such an option.

Note: I am not saying that your annual plan would be overpriced or unaffordable.


I appreciate your input. It's worth some thought.

Just to be clear FATpick is not strictly a local app. It's more like a fat client - a local app that depends on part on services in the cloud.


I didn't check the current price, bit since I purchased it in (I believe) ~2008 it's been well amortized.


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 compatibility the modern HTML5 toolset is really pretty powerful.


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 (standard and tabs)


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.


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.


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...


Actually, as you probably already know, there's a third notation that is commonly used for chords, like these things - https://duckduckgo.com/?q=chord+box&iax=images&ia=images

That's also on the roadmap. Right now FATpick renders chords just like any other set of notes in tablature, which is less than ideal once you have much experience with playing chords at all.


Cool project, wish I could try it!

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


Mostly the opportunity cost relative to other things to spend time on. But you're right. It should just work on Linux too.

There may be some platform-specific quirks to work out, but you are not the first person to ask for this. If you contact me at rod@<the domain above> or via the form on the website I would be happy to hook you up with a Linux build to try out.

If nothing else I could probably offer a not-officially-supported Linux version if enough people are interested in that.


Just for future reference for people that come across this thread and would also like a Linux build, there is now a "hidden" and unsupported Linux download available. See https://www.fatpick.com/blog/release-notes-fatpick-v1-4-2-li...


I'm guessing that a few of us would be interested if you could build one. This sounds great.


Sweet, thanks! Email sent


The video won't play for me, shows the play icon with a slash through it, on Safari on High Safari. Any alternate link?


Looks like it’s webm which doesn’t work on ios safari. I couldn’t find a link to an alternative version in the source unfortunately.


You talk about "community"is there likely to be any messaging between users? This would be great for my nephew (12) but his parents obviously aren't keen on him getting any internet messaging.


At this stage there is no meaningful interaction between users at all, aside from being able to see songs that other users have shared (after a manual curation/moderation step), and even those are anonymous.

Obviously there are some "social" features that are planned. Messaging might be one of them, but it's certainly not at the top of the list.

When the time comes it might make sense to allow users (account holders) to disable that feature, maybe as part of a family plan, but for now I don't want to encourage minors to sign up. In fact it violates the ToS. Not that I have any particular issues with it nor that I expect any problems with inappropriate content, but for liability reasons regardless.


Thanks


cool stuff - i used to play guitar a lot and used powertab and guitar pro, but in both there is no feedback, this sounds super nice to me, even though admittedly these days I won't get around to testing it for you anymore as i don't have a guitar anymore. I see you have an import for popular tab formats. not sure whats popular, perhaps others share that sentiment. Would this include things from for example powertab / guitar pro to be imported?


Currently you can import GuitarPro (gp3, gp4, gp5) files directly.

You can use free software like TuxGuitar to easily convert other formats to GuitarPro, but for now that's something you would need to do manually before importing into FATpick.


The account creation doesn't ask for a user name. But the log in does? I created an account but I don't know my user name.


Username means email address.

Actually there is a generated username that you can change from your user profile page that also works, but you should be able to log in using your email address (and password).


I tried my email but it didn't work. I suspect I typed it wrong as another try worked. Thanks


I can't get the sound to work on the demo video, and there is no link to the Vimeo hosting.


Have you considered supporting ukulele tabs?


There's actually nothing stopping you from importing and playing uke tabs right now.




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

Search: