version: 0.0.1
description: OpenBook is an open source Jazz real book
website: https://veltzer.github.io/openbook
OpenBook is a standards book for Jazz players which containts hundreds of jazz standards
OpenBook is a Jazz real book constructed with free software. A real book simply means a big book with lots ofJazz tunes or standards as they are more widely known.
https://veltzer.github.io/openbook
Because of many reasons:
- I wanted to learn Jazz, and a good way to do that is to write down the tunes (amongst many other things).
- I wanted beautiful sheet music that I could fiddle with.
- I did not want to pay for the overly expensive real or fake books out there.
- I believe in free software and wanted free (in the sense of freedom) sheet music.
- Jazz is a prime example of a free type of art, so it's conjunction with free software seems a match made in heaven.
- Jazz musicians may need beautiful electronic Real books because electronic books are starting to be used by Jazz musicians both for practice and for performance.
- python3: for the python scripts
- virtualenv: for using virtualenv for python
- lilypond: this is the main tool we use
- qpdf: for qpdf(1) (used in pdf size reduction)
- ghostscript: for ps2pdf(1), pdf2ps(1), gv (used in pdf size reduction and cutting pdfs)
- timidity: play output midi and convert midi to wav
- lame: convert audio (encode ogg)
- tidy: for tidy(1) (used in checking HTML)
- okular: kde pdf reader
- python-mako-doc: documentation for the template preprocessor
- texi2html: needed to install lilypond from source
- guile-2.2-dev: needed to install lilypond from source
- lilypond-doc: documentation for lilypond
- lilypond-doc-html: documentation for lilypond
- lilypond-doc-pdf: documentation for lilypond
- npm: for htmlhint
- pytconf: Configuration, command line and injection framework for python
- python-dateutil: Extensions to the standard Python datetime module
- tqdm: Fast, Extensible Progress Meter
- PyMySQL: Pure Python MySQL Driver
- Mako: A super-fast templating language that borrows the best ideas from the existing templating languages.
- requests: Python HTTP for Humans.
- gitpython: GitPython is a Python library used to interact with Git repositories
Beautiful and lightweight postscript and PDF real books with Jazz tunes. The idea is that the end user can control the final output and decide if he/she wants lyrics, size of paper, transposition for a trumpet, selection of tunes and more. In addition, you can produce midi, mp3 and ogg outputs. Possibly other output formats will be supported in the future (epub?).
All the stuff in this project is GPL version 3. The tunes themselves have their own copyright holders.
Anyone.
A Linux system that you can install software on. Mac OSX is reported to work too if you know how to install the right stuff on it. Windows is not currently supported although well-formed patches will be accepted. (disclaimer: the author hates Windows with a vengence so patches have to be spotless to be accepted)
- Some rudimentary Linux system administration (in order to install the software needed for this project to build).
- Some basic git software content tracking (in order to fetch the project, modify and submit patches).
- The lilypond language (in order to edit or add tunes).
- Some music knowledge would also help...:)
Look at the CREDITS file
Your name could be here if you contribute...
Check out the PDFs and other outputs in https://veltzer.github.io/openbook.
I just started this project (4 years all in all -> that's not true: it's 12 years in the making). Feel free to add stuff and request a pull. Contributing may make you an admin...
Using lilypond. Check it out at http://www.lilypond.org/.
YES! Any bugs or feature suggestion are submitted to the lilypond community. Any requests for pieces from the mutopia community will be respected. Wikifonia uses musicXML for typesetting while I use an essentially lilypond format as input format - so there could not be much co-operation there.
No. Rock and Pop will be welcome and so would classical. If you are really into classical lilypond production, you may alternativly wish to contribute to the mutopia project at http://www.mutopiaproject.org/.
- you need tools installed. on Ubuntu
$ sudo apt install lilypond qpdf
- clone the repository
$ git clone git://github.com/veltzer/openbook.git
- cd into the newly created folder
$ cd openbook
- install python tools to create a python virtual envrionment. on Ubuntu
$ sudo apt install python3 virtualenv
- create a python virtual environment
$ virtualenv --python=/usr/bin/python3 .venv
- activate the virutal env
$ source .venv/bin/activate
- update pip
$ python -m pip install --upgrade pip
- install the python prerequisites
$ pip install -r requirements.txt
- run the build process
$ make
- the pdfs should now be built, and you will find them in the 'docs' folder.
- if you want to build all the tunes individually then run
$ make all_tunes
- Python3
- pip
- qpdf
- make (on Mac/OS X this is part of X-Code or command line tools)
- create an account on github.
- hack on the .ly.mako files (git add the files that you hack on).
- commit to your own hard drive repository (git commit).
- push to git hub (git push).
- send me a pull request (button in the github ui).
Yes. To add a tune named [tunename] just add single file named
src/openbook/[tunename].ly.mako
Yes, the extension should be .mako since I use "mako" for templating. In that file there are sections. Just copy them from some other tune. One section for chords, another for lyrics, another for the melody etc. After working on the tune build just a single tune by issueing:
make out/src/openbook/[tunename].pdf
or
make out/src/openbook/[tunename].midi
or
make out/src/openbook/[tunename].stamp
to get both pdf and midi.
To get the external pdfs build
make out/src/openbook/[tunename].?.pdf
Sure. Just use:
make out/src/openbook/[tunename].pdf
to build the pdf
make out/src/openbook/[tunename].midi
to build the midi
make out/src/openbook/[tunename].stamp
to get both pdf and midi.
Sorry, this project is lilypond based. Patches for MusicXML will be welcome, but I don't see how they will fit into this project.
Yes. Just send them as regular text via my email below.
Look in the doc
subfolder of the source code...
Just edit include/common.ly.mako
and change TONALITY="c" to "bes" or "ees" before compiling.
Just run:
make real_books_archive.gi
and look at the resulting real_books_archive.gi
folder that is created.
Mark Veltzer, Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024