
Songcraft Beta – A songwriting tool and guitar tab builder - gabergg
https://songcraft.io/
======
adamesque
I'm also thrilled to see more songwriting tools on the web! As an active
songwriter, the area I need the most assistance with is lyrics. To that point:

\- It'd be great if the rhymes panel was larger (or resizable). I use
RhymersBlock on iOS which has a kinda neat way of color-coding rhymes within
your lyric.

\- Something I desperately need that no app has implemented is a way to build
lyric "alternatives" on a phrase by phrase or line by line basis so that I can
swap in an alternate lyrical treatment and see it in context. (Revision
history would be a related and also probably very cool feature)

\- I personally don't think I'd have much use for chord progression
suggestions, but that's just me.

\- I can't currently move a chord annotation while that annotation is
selected. Have to click off of it to deselect before dragging works again.

\- For chord annotations, it's often useful to be able to "split" the chord
into the chord + bass (or root?) note especially for passing changes. You see
this all the time in Beach Boys songs.

\- Apple's Music Memos app has a bunch of audio analysis capabilities that I
realize I use a bunch. They extract chords (which I don't use very often) but
more importantly, they auto-detect a BPM from a recording which I use as the
starting point when I'm ready to move from demo -> production.

I'm really excited about this app. Here's hoping it turns into the
"Songwriter's notepad" I've always dreamed of!

~~~
gabergg
This is really valuable, thanks for the thoughtful feedback!

\- I'm considering making all panels resizeable, I think it would be really
helpful. Also planning to build out the dictionary capabilities more.

\- A friend of mine suggested the exact same thing re: lyric alternatives. I
really like this idea.

\- Are you on Safari? There's a bug with dragging selected chords on Safari.
You also won't be able to play chords live. Chrome and Firefox should be good
(I hope!)

\- Really curious to explore some of the chord manipulation ideas as well as
bringing a project from creative phase to production.

~~~
adamesque
I am on Safari, so yeah, maybe that's it.

Thanks for the responses!

------
adrianh
Nice idea, and I’m happy to see more music-focused technology on the web!

Nitpick: the video refers to the site content as “tabs,” but I’d call it a
chord chart instead. Tablature is specifically notation for individual notes
on fretted instruments — e.g., play the second fret on the B string. I didn’t
see any single-note stuff in your product, unless I missed it...?

All of that is to say: As a musician, I groaned when I heard you describe that
as “tabs.” I expect other musicians would have a similar reaction (“um, this
company doesn’t know what a tab is”), or at least they’d be confused due to
expecting something else.

My own company Soundslice
([https://www.soundslice.com/](https://www.soundslice.com/)) does proper tabs
and standard music notation, though I wouldn’t call it a competitor. We’re
more about learning existing tunes than songwriting. Welcome to the wonderful
world of web music software!

~~~
gabergg
Thanks for the feedback - that's really helpful! I totally agree that chord
chart is more accurate than tab at the moment. I'm working out the messaging
still and trying to balance its current state with my vision for it (which
will include single-note features)!

~~~
sp821543
Why tabs? I much prefer guitar-spaces!

~~~
olivermarks
The challenge with guitar chord diagrams is they are almost invariably first
position. For song writing inversions, bass lines and melody lines are
important which is what tab is for. It would be good to create drag and drop
tab creation tools on a 'stave' of strings.Looks good though, will use

------
ThomPete
As someone who picked up songwriting a few years back after having been a
serious musician in my younger years, this is the kind of applications I love
to see.

This is exactly how it should be. You found the right pain points. Now extend
it with piano and you are getting really close to something I would pay for.

There are some small things like the use of the word "tabs" instead of chord
charts but I love where this is heading.

I might write my next song in this. Or even try to add my older songs.

~~~
gabergg
I really appreciate the feedback. What type of piano support would sell you on
it? I'd love to hear how Songcraft works, or doesn't work, for your process if
you give it a shot. Please feel free to reach out if you have thoughts, ideas,
requests, etc.

~~~
ThomPete
Same as with guitar and ukulele. Inversions substitutions etc all based on the
context of the song.

------
elsigh
This is cool! Me and a friend have been working on
[https://chartcomposer.com/](https://chartcomposer.com/) which is specifically
hooked up to Dropbox and uses the VSCode monaco-editor as a front end for the
ChordPro syntax. Seems like there's interest in this space which is exciting.

[http://github.com/elsigh/chartcomposer](http://github.com/elsigh/chartcomposer)

------
tobr
This looks interesting in its simplicity. A few years ago I thought quite a
lot about what a writing environment for lyrics might look like, so here are
some free ideas to steal.

I’m on mobile right now where it doesn’t seem to work quite fully, so forgive
me if this is how it already works on desktop - but I think it would be much
more valuable if the rhyme search was automatically based on the words I
write. Otherwise I will spend a lot of time copying/changing focus/pasting. It
could even work like a code autocomplete feature, where it would suggest words
or phrases that rhyme with nearby lines, in an overlay next to the cursor.

Another neat addition for crafting lyrics would be to add some way to analyze,
visualize and/or constrain the rhythm/stress of the lyrics. It’s one of the
main things you need to fit together when writing song lyrics. This could also
help give more relevant suggestions for rhymes and synonyms that match a
specific part of a rhythm.

~~~
gabergg
Thanks so much for the feedback.

On desktop, you can hit a hotkey (Alt/Ctrl + w) to send the nearest word
directly to the dictionary to the right, which is a time-saver. However, I
think there's also something to be said for some sort of autocomplete,
especially if it can take into account the context, previous lines, etc. I'm
hoping to do a similar thing with chord recommendations as well.

I completely agree that the rhythm and stress of lyrics would be valuable to
analyze. It's going to be one of my major takeaways from today's feedback -
I'll just have to figure out a nice clean way to include it!

~~~
tobr
Just showing a dot above every syllable, and highlighting stressed syllables
could be a great start, as you would be able to see patterns visually.

Another idea that came back to me now: rhyming words are good, but if you can
get _phrases_ as well it could be a great source of inspiration. See
Pentametron[1] for a good example of how evocative rhyming non sequiturs can
be.

1: [https://twitter.com/pentametron/](https://twitter.com/pentametron/)

------
RileyJames
I tried it, it’s exactly what I’m looking for. But I’m only on mobile (iPhone)
and while it works, based on the comments from others it seems a lot of
features are not in the mobile version.

Personally, I would only use a tool like this on my phone. And I’d want it to
be a native app, not a web app (I predominantly have terrible reception).

I like he note pad, but I’d also like the ability to stash lines, verses,
choruses, etc and then rearrange them very simply. This is effectively what I
do with the standard notes app for iPhone. When it’s reasonaly cemented I
write it up in a very similar notation you’re using and put it into google
drive, with offline enabled.

I use the motive app, and mic, to record a demo. And then start polishing it
via GarageBand.

All of which can and is done via mobile only.

I’ll follow where this development goes, it’s definitely a tool I’m looking
for.

~~~
gabergg
Thanks for checking it out! For the beta, I took mobile web to a pretty
minimal state. I know it will be a huge use case for a lot of people, so I
really want to have first-rate support on mobile. It helps a lot to hear the
types of features you need. Please do keep up with development - I'd love to
hear your thoughts as mobile support improves!

------
bazeblackwood
Great and really cool! A few tiny notes.

I had a moment where I deleted all the chords on one line (by hitting
backspace repeatedly). When I got to the end, I hit it again thinking it would
remove the line, and the whole page went blank.

I would also love a feature where I can share the song publicly at a URL. Is
everything just persisted in the browser right now? I noticed there's no auth.
At any rate, I wrote a song and annotated it in songcraft, but now I need to
share it with the band's singer! This feature would be great.

Thanks again!

------
mbrock
Looks really nice! A few years ago I started working on a vaguely similar tool
because I was playing in a band and we needed a better way to collaborate on
chord sheets.

I used CouchDB (and PouchDB) to get a nice real-time sync for editing the
documents, and together with a good service worker setup it made the whole app
work great offline, which was very useful in our rehearsing room's basement
(it was actually inside of a nuclear shelter within a Stockholm subway
station).

The other fun feature I made was a Web Audio synthesizer that would play the
chords for very quickly checking the harmony. You can see a demo in this short
video, unfortunately the app is not online anymore.

[https://www.instagram.com/p/8oGx7HKukq/](https://www.instagram.com/p/8oGx7HKukq/)

I also had a feature where you could upload an MP3 for a song and then put in
sync points with the chord sheet so you could hear the song while also seeing
exactly which chord it's currently on...

~~~
gabergg
The MP3 syncing is a super cool idea - did you analyze the MP3 at all to
smooth syncing between sync points? Also love the little video, thanks for
sharing! I think collaboration has huge value for any tool like this - it'll
be one of my earlier priorities for Songcraft.

~~~
mbrock
I was only doing linear interpolation between the manually set sync points. In
my tests I would usually need to put a sync point per verse, or so.

The karaoke ball you see in the video was fun to make although I never got it
quite perfect. The chord sheet is just a flexbox with wrapping and the ball is
a CSS animation; the JavaScript only moves it from div to div once per
measure.

------
tmh88j
Very cool. I've been working on a tab builder as a pet project. I've gotten
frustrated finding tabs that are 95% correct, copying and pasting and then
manually editing them. I know there are some tab builders out there, but
ultimate guitar annoys the hell out of me so I figured it would be a good
exercise to try out some new languages/frameworks that I haven't used. I
wanted to be able to import a text tab, convert it to some kind of data
structure that I could then manipulate easily.I might finish polishing it up
some day, but it works for me as a bedroom guitarist

Here's a short screen recording I made. As of now it's still riddled with
bugs, which I'm sure you'll spot a few in the video like the alignment bar
hanging around when it's not supposed to.

[https://uploadfiles.io/mk54d](https://uploadfiles.io/mk54d)

~~~
heuermh
> ultimate guitar annoys the hell out of me

I'd love to steal all the content back from them (I submitted tabs to
alt.guitar.tab and OLGA long long ago, and have backups of the archive) and
present it in a clean UI.

As you know, plain text files.

I'm curious though, is there a standard identifier authority for artists,
albums, and songs that one could use to normalize such content?

~~~
tmh88j
>I'm curious though, is there a standard identifier authority for artists,
albums, and songs that one could use to normalize such content?

Here's what UG has to say about it. [https://www.ultimate-
guitar.com/news/ug_news/are_ug_tabs_leg...](https://www.ultimate-
guitar.com/news/ug_news/are_ug_tabs_legal_and_does_ug_pay_money_to_artists_for_hosting_tabs_yes_and_yes.html)

Sounds like a load of crap to me. They probably have a small payment stream
just to play the "see, we're trying to comply!" card. Otherwise, I highly
doubt they fork over any money unless a lawsuit is thrown their way, even then
it seems like they just "block" the tabs as that page describes. There are so
many artists on there who probably don't even know people have created tabs
for their music. I made my tool for my own personal use and mainly because I
wanted to try out Django and Postgres on the backend, so that was never a real
consideration for me. I might throw the builder portion of it out there for
public use when I wrap it up, but there won't be any saving/sharing of tabs.
Just export the tab to a PDF or a raw JSON file which can then be re-imported
and edited, I suppose.

------
joshuamcginnis
I see a lot of folks mention guitar tab pro files with a few open source
editors[1], but little mention of where folks are getting free pro files. What
do you use and where do you get your tabs? I'm willing to pay if it's worth
it.

[1] [https://music.stackexchange.com/questions/1386/is-there-
any-...](https://music.stackexchange.com/questions/1386/is-there-any-free-tab-
viewer-for-guitarpro-files)

------
CuriouslyC
Looks interesting.

Personally, a killer feature for me would be to position lyrics up above a
staff and be able to show alignment between syllable length/emphasis and
harmonic rhythm/percussion. Having the ability to suggest synonyms for words
that don't rhyme or fit the rhythmic structure of the music would be pretty
awesome too.

~~~
gabergg
That's a really interesting idea, thanks for sharing. I've heard some similar
things from a person I was talking to who writes a lot of rap and poetry. I'm
excited to explore that space a bit!

------
bazeblackwood
Looks promising! I like that it's a little bit more geared towards lyrical
integration, as opposed to something like Hookpad, which focuses more on
melodic note entry:

[https://www.hooktheory.com/hookpad/app](https://www.hooktheory.com/hookpad/app)

~~~
gabergg
Yeah, I think Hookpad does some really cool things (and they have a neat
prediction API), but I couldn't find anything that really fits my songwriting
process as a whole. Thanks for checking it out :)

------
dgavey
This is really great! I used to work at another music startup where we did
something similar. I've been using OnSong (mobile app) to organize my songs
for live performances, but I love that this is focused on creation. Excited to
try it out.

~~~
gabergg
Thank you! OnSong looks cool - I hadn't heard of it. I'd love to make
Songcraft performance-ready as well, I think it would be a very natural
feature. Looking forward to your feedback!

------
beat
I signed up and will be looking at it tomorrow evening. I'm an active
songwriter and have a couple of fresh songs in process right now, so it'll be
interesting to see how well it works for me!

~~~
gabergg
Thanks so much for checking it out. Excited to hear your thoughts!

------
lightyrs
Tried to add my first chord Bmaj7(no3) and it doesn't seem like the app
recognizes it (can't play the chord or change the key of the song).

~~~
gabergg
Thanks for trying it! There's no support for Maj7(no3) chords at the moment.
It's a less common pattern, but would be easy to add support! At the moment,
I'm using tonal for chord recognition under the hood, so these are the chord
types that it can recognize:
[https://github.com/danigb/tonal/blob/master/packages/diction...](https://github.com/danigb/tonal/blob/master/packages/dictionary/data/chords.json)

~~~
lightyrs
Thanks for the quick reply and helpful explanation.

------
arxpoetica
This is totally awesome. I've been waiting for _serious_ musical tools to find
their way online, and this seems like a great start.

~~~
gabergg
Thank you so much! I was really surprised I couldn't find a thing like this
anywhere. I've got so many ideas - looking forward to turning it into an even
more serious tool :)

------
52-6F-62
This is very well done! I'll definitely be making use of this!

Once I get a chance to try it I'll happily provide what feedback I can.

~~~
gabergg
Thanks so much! I appreciate any and all feedback :)

------
gabergg
I should note that everything should work fine on updated Chrome and Firefox,
but no guarantees on other browsers!

------
meggar
How does the suggested chords feature work?

~~~
gabergg
At the moment, I suggest common chords in the same key as the rest of the
song. I'm working on a recommendation system that will take more into account
the music theory of progressions as well as common existing patterns found in
different styles of music. Super excited to have a decent system for that, as
it's one of the main things that I personally want to use in my songwriting.

~~~
meggar
Sounds cool, open source by any chance?

~~~
gabergg
Right now it's closed, but I plan to open source at least some of the cooler
pieces of it :) Likely some of the recommendation and audio stuff. Haven't had
much time to think about that yet though!

