All Projects → veltzer → Openbook

veltzer / Openbook

Licence: gpl-3.0
Open source lilypond real book for Jazz musicians

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Openbook

Youtube Music Desktop
A desktop client for YouTube Music with MusixMatch lyrics.
Stars: ✭ 92 (-42.14%)
Mutual labels:  music, lyrics
Webmidikit
Simplest MIDI Swift library
Stars: ✭ 100 (-37.11%)
Mutual labels:  music, midi
Vidify
Play music videos automatically for the songs playing on any device
Stars: ✭ 95 (-40.25%)
Mutual labels:  music, lyrics
Minibae
The platform-neutral Beatnik Audio Engine, Mini Edition (miniBAE) is an exceptionally mature, well-rounded, and reliable computer music and sound system specially customized for small-footprint and embedded applications.
Stars: ✭ 82 (-48.43%)
Mutual labels:  music, midi
Radiance
Radiance is video art software for VJs. It supports beat detection, animated GIFs, YouTube video, OpenGL shader effects. It is designed for live performance and runs on Linux and MacOS.
Stars: ✭ 109 (-31.45%)
Mutual labels:  music, midi
Audiokitsynthone
AudioKit Synth One: Open-Source iOS Synthesizer App
Stars: ✭ 1,258 (+691.19%)
Mutual labels:  music, midi
Carol Xamarin
A minimal and beautiful lyrics app for macOS built with Xamarin and C#
Stars: ✭ 97 (-38.99%)
Mutual labels:  music, lyrics
Midichlorian
A Visual Studio extension that allows you to write code and automate the IDE using MIDI musical instruments.
Stars: ✭ 65 (-59.12%)
Mutual labels:  music, midi
Rabbit Lyrics
JavaScript audio and timed lyrics synchronizer.
Stars: ✭ 107 (-32.7%)
Mutual labels:  music, lyrics
Lyrics
📄 Open Lyrics Database
Stars: ✭ 106 (-33.33%)
Mutual labels:  music, lyrics
Atm Cli
Command line tool for generating and working with MIDI files.
Stars: ✭ 1,235 (+676.73%)
Mutual labels:  music, midi
Midi
Library for reading and writing of MIDI messages and MIDI files (SMF) with Go
Stars: ✭ 130 (-18.24%)
Mutual labels:  music, midi
Audiokit
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS
Stars: ✭ 8,827 (+5451.57%)
Mutual labels:  music, midi
Ble Midi For Android
MIDI over Bluetooth LE driver for Android 4.3 or later
Stars: ✭ 90 (-43.4%)
Mutual labels:  music, midi
Abcjs
javascript for rendering abc music notation
Stars: ✭ 1,141 (+617.61%)
Mutual labels:  music, midi
Winyl
Winyl's main repository.
Stars: ✭ 97 (-38.99%)
Mutual labels:  music, lyrics
Sfz2bitwig
Convert .SFZ files into Bitwig Studio multisample instruments.
Stars: ✭ 37 (-76.73%)
Mutual labels:  music, midi
Musictheory
🎵 Music theory concepts in Go.
Stars: ✭ 53 (-66.67%)
Mutual labels:  music, midi
Miti
miti is a musical instrument textual interface. Basically, its MIDI, but with human-readable text. 🎵
Stars: ✭ 103 (-35.22%)
Mutual labels:  music, midi
Lyrics.ovh
Source of lyrics.ovh and API to search for lyrics of a song
Stars: ✭ 112 (-29.56%)
Mutual labels:  music, lyrics

OpenBook

build

build

  • test_os: [ubuntu-16.04, ubuntu-18.04, ubuntu-20.04]
  • test_python: [3.6, 3.7, 3.8]

build_cont

build

  • test_container: [ 'ubuntu:18.04', 'ubuntu:20.04' ]

version: 172

What is OpenBook?

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.

Where is the project's website?

https://veltzer.github.io/openbook

Why did you start this?

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.

What tools are used?

  • python3: for the python scripts
  • virutalenv: 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.0-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

What python modules are used?

  • pydmt: python dependency management tool
  • pytconf: pytconf handles configuration, config files and command line parsing
  • 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.
  • pymakehelper: pymakehelper eases writing recipes when using the make system
  • requests: Python HTTP for Humans.
  • gitpython: could not import [gitpython]

What is produced?

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

What is the copyright?

All the stuff in this project is GPL version 3. The tunes themselves have their own copyright holders.

Who can contribute?

Anyone.

What system do I need to participate?

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)

What do I need to know to participate?

  • 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...:)

Who currently contributes?

Look at the CREDITS file

Your name could be here if you contribute...

Where can I see some results?

Check out the PDFs and other outputs in https://veltzer.github.io/openbook.

Why is there so little documentation?

I just started this project (4 years all in all). Feel free to add stuff and request a pull. Contributing may make you an admin...

How do you write the standards?

Using lilypond. Check it out at http://www.lilypond.org/.

Will you co-operate with the lilypond, mutopia and wikifonia communities?

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.

Do you only allow Jazz tunes?

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

How do I build the pdfs?

  • 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

MacOS user notes:

How do I contribute?

  • create an account on git hub.
  • 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).

Can I just add a single tune?

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.

Can I just build a single tune?

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.

What about MusicXML?

Sorry, this project is lilypond based. Patches for MusicXML will be welcome, but I don't see how they will fit into this project.

Can I send corrections to the tunes without learning lilypond and all the rest of the stuff?

Yes. Just send them as regular text via my email below.

Where can I get more documentation about this project?

Look in the "doc" subfolder of the source code...

How can I get a version of this book in a key other than C?

Just edit include/common.ly.mako and change TONALITY='c' to "bes" or "ees" before compiling.

Mark Veltzer <[email protected]>, 2009-2021
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].