This is an introduction to my songbook project. Feel free to use my songbook to play music or take a look at my transcriptions. You can access the songbook by clicking the button below.
What is Songbook? Why Should I Make My Own?
Songbook is a collection of sheet music from songs. It can be digital or physical printed from digital files. Songbook is very useful for musicians to quickly access the music sheets when they want to play or sing a song.
Some might say that there are already many sheet music and compiled songbooks available online or in music stores, why bother to make my own songbook? I think it is very important to have my own songbook for lots of reasons.
First, the online resources are often incomplete or inaccurate. Many songs have different versions, arrangements, or interpretations, and the available sheet music may not match my preferences or needs. If we search online every time we want to play a song, it can be time-consuming and frustrating to find the right version, and we are also likely to practice different versions that may confuse us. To own my own sheet music really matters when we want to continually practice a song.
Second, for musicians who perform regularly, having a personal songbook allows us to build a repertoire of songs that we are familiar with and can perform confidently. It also helps us to organize our music collection and keep track of the songs we have learned or want to learn. I often heard professional music educators say that having a personal songbook is a good habit.
Lead Sheets and ABCjs
Sheet music comes in various forms, such as full scores, chord sheets, and lead sheets. In my songbook, I use lead sheets.
A lead sheet is a simplified form of sheet music that typically includes the melody, lyrics, and chord symbols of a song. It provides the essential elements needed for a musician to perform a piece of music without the need for a full arrangement, allowing us to play it in a flexible way.
To create and render the lead sheets in my songbook, I use ABCjs. ABCjs is a javascript framework to render music sheets written in ABC notation. ABC notation is known as the Markdown language for music sheet, so it can be easily incorporated in Markdown-based blogging system theoretically. For Quarto blogs, it can be rendered from raw javascripts from ABCjs. One thing to note is that they even provide audio features: player, MIDI, timbres, which makes a scorewriter software like Musescore come true in a browser. Itโs a portable and lightweight system right in my blog, so that I donโt have to rely on any other softwares. Resources:
- ABC notation documentation for how to encode music sheets: https://abcnotation.com/wiki/abc:standard:v2.2
- ABC MIDI documentation for audio settings like timbres, volumes when the sheets are turned into audio: https://abcmidi.sourceforge.io
- ABCjs documentation for how to add the elements made from ABC notation in web pages: https://paulrosen.github.io/abcjs/
How to Compile the Songbook
Now in my music library, I have a collection of lead sheets transcribed by me using ABCjs, which live in each music post page. The list of lead sheets can be found here.
To compile the songbook into a printable format, I created a special Quarto page that gathers all the lead sheets in my music library and formats them for printing. This page can be accessed here.
When I open this page, it automatically prompts me to save the content as a PDF file. The PDF file contains all the lead sheets in my collection, formatted for printing and better readability for live performance.