Frescobaldi LilyPond Editor

Related tags

Audiofrescobaldi
Overview

README for Frescobaldi

Homepage: http://www.frescobaldi.org/
Main author: Wilbert Berendsen

Frescobaldi is a LilyPond sheet music text editor. It aims to be powerful, yet lightweight and easy to use. Frescobaldi is Free Software, freely available under the General Public License.

Features:

  • Powerful text editor with syntax highlighting and automatic completion
  • Music view with advanced two-way Point & Click
  • Midi player to proof-listen LilyPond-generated MIDI files
  • Midi capturing to enter music
  • Powerful Score Wizard to quickly setup a music score
  • Snippet Manager to store and apply text snippets, templates or scripts
  • Use multiple versions of LilyPond, automatically selects the correct version
  • Built-in LilyPond documentation browser and built-in help
  • Configurable document outline view to navigate large LilyPond scores easily
  • Smart layout-control functions like coloring specific objects in the PDF
  • Import ABC, Midi and MusicXML using the LilyPond-provided tools
  • Experimental export to MusicXML
  • Modern user interface with configurable colors, fonts and keyboard shortcuts
  • Translated into: Dutch, English, French, German, Italian, Swedish, Czech, Russian, Spanish, Galician, Turkish, Polish, Brazilian and Ukrainian.

Music functions:

  • Transpose music
  • Change music from relative to absolute and vice versa
  • Change the language used for note names
  • Change the rhythm (double, halve, add/remove dots, copy, paste) etc
  • Hyphenate lyrics using word-processor hyphenation dictionaries
  • Add spanners, dynamics, articulation easily using the Quick Insert panel
  • Update LilyPond syntax using convert-ly, with display of differences

Frescobaldi is designed to run on all major operating systems (Linux, Mac OS X and MS Windows). It is named after Girolamo Frescobaldi (1583-1643), an Italian composer of keyboard music in the late Renaissance and early Baroque period.

Here is an idea of the basic Frescobaldi workflow:

  • Start Frescobaldi
  • Open a .ly file or create one using File->New from template or Tools->Setup new Score... and fill in some music
  • Press Ctrl+M to run LilyPond
  • If the LilyPond output shows errors, press Ctrl+E to jump to the first error
  • If you see other mistakes in the music, click the notes to move the text cursor there
  • Fix the errors or mistakes in the text
  • Press Ctrl+M again to update the music view
  • When a piece is finished, press Ctrl+Shift+P once to run LilyPond with point and click turned off (this results in a much smaller PDF file).

Frescobaldi is written in Python and uses PyQt for its user interface.

Installation instructions for the program and MIDI support as well as other information can be found in the Wiki. Other requirements and installation instructions may also be found in the INSTALL file.

Comments
  • Store and retrieve state(s) from viewers in preferences

    Store and retrieve state(s) from viewers in preferences

    This came up in #732. It's not clear yet whether we need a "Viewers" Preferences page, but in any case I think some stuff should be saved/restored using the QSettings interface. Among them should be the visibility of a viewer's toolbar and the "synchronize with cursor" option. As the latter is already saved we should look into that for a start.

    opened by uliska 90
  • [manuscript dev] multiple instances of viewers.ViewdocChooser

    [manuscript dev] multiple instances of viewers.ViewdocChooser

    When debugging something else I found out that multiple instances of viewers.ViewdocChooser (the QComboBox for the manuscript files) were created.

    The instances are created when calling createWidget in ViewdocChooserAction. createWidget is called when the action is added to a widget. And that is done by the toolbar which it should but also by QMenu objects which I believe is a problem. I think this must be happening in the context menu, but couldn't find where directly.

    opened by PeterBjuhr 84
  • Improve

    Improve "Show available fonts" dialog

    Closes #420 Closes #1077

    This PR is not ready to be merged but I would like to get some feedback. I want more functionality, but actually the code would be a significant improvement already now.

    [EDIT:] I've removed the "WIP" from the title and consider the PR ready by now.

    The output of the LilyPond=>Show Available Fonts... command is practically unusable when more than a few fonts are available on a system. It is totally overwhelming, and the structure is hard to understand. Therefore I wanted to have an improved presentation of the data.

    In its initial state the PR doesn't simply print out the LilyPond output but parses it to a number of dictionaries. The most important one is the families dictionary with entries for each font family. For now an ordered and structured list is printed to the same log window as was previously in that dialog. The "filter" line edit is still non-functional.

    image

    To be done:

    • Replace the log widget with a custom widget. What I think would be appropriate is a list-style widget where initially only the font families are listed. Only upon "opening" an entry will additional information be loaded and displayed (and these can then be pretty detailed).
    • Implement the filter edit. When some text is typed into that line edit all fonts not matching the pattern should be suppressed by making their parent widget invisible.
    • Add an export/print/save function

    The code could be merged without these additional features, after removing the non-functional filter edit.

    opened by uliska 74
  • Wish: session-specific LilyPond include paths list

    Wish: session-specific LilyPond include paths list

    Different projects often need different LilyPond include paths. To avoid manually changing the include paths list every time I switch project, I'd like to have session-specific include paths lists (in the session management window).

    There should also be a toggle in the session management window to control whether the general include paths list should be used for the session. It should be enabled by default for new sessions. (Of course when in "No Session" the behaviour could not be configurable, so the general list would always be enabled.)

    If the general list is enabled for a session, the paths in it should be appended after the session-specific list.

    wish 
    opened by dliessi 45
  • Suggestion: Add option to convert to relative mode after MusicXML import

    Suggestion: Add option to convert to relative mode after MusicXML import

    We have this new dialog to wrap MusicXML.

    It leaves out some of the less important command line options, which is a good idea.

    But I think it would be a good idea to also offer options that aren't part of musicxml2ly itself, e.g. converting notes to \relative mode. And, thinking of it: offering the option of target language (checkbox plus combobox) would be nice too. If there are tasks that a given user might apply to each imported score it would be nice to have them as automatical options too.

    I don't think adding more sophisticated options to that import dialog is a problem .

    PS: Do you already call 'format' on successful import?

    opened by uliska 45
  • proposed project restructuring

    proposed project restructuring

    I am very happy that now multiple codevelopers help bringing Frescobaldi forward. Also it is desired that python-ly becomes visible and is further developed on its own. To reflect this, and to make some development paths easier, I propopse some changes to how Frescobaldi is structured:

    • make python-ly a separate package and have Frescobaldi depend on it (can be done as of 2.18)
    • (later) make qpopplerview a separate package and have Frescobaldi depend on it
    • (much later, e.g. next year, or when Frescobaldi supports Qt5 and reaches version 3.0) make a GitHub organisation (named "frescobaldi") and add python-ly and frescobaldi to that organisation.

    What do co-developers think?

    opened by wbsoft 37
  • Frescobaldi 3.13 crashes with python 3.10

    Frescobaldi 3.13 crashes with python 3.10

    Slackware-current (linux) upgraded to python 3.10. I recompiled python-poppler-qt5, and python-ly without incident. When I try to launch frescobaldi I get:

    Traceback (most recent call last): File "/usr/lib64/python3.10/site-packages/frescobaldi_app/qpageview/highlight.py", line 209, in paintEvent super().paintEvent(ev) # first paint the contents File "/usr/lib64/python3.10/site-packages/frescobaldi_app/qpageview/shadow.py", line 43, in paintEvent rect = ev.rect().adjusted(-width, -width, width / 2, width / 2) TypeError: adjusted(self, int, int, int, int): argument 1 has unexpected type 'float' zsh: IOT instruction frescobaldi

    Is this a bug with the application, or one of the dependencies not building properly?

    in python3, "import popplerqt5" doesn't throw an error.

    opened by garpu 36
  • Problems with sip 4.14.3 and PyQt 4.9.6 (was: Slow parsing in editor window)

    Problems with sip 4.14.3 and PyQt 4.9.6 (was: Slow parsing in editor window)

    Frescobaldi used to work fast! However since some time the parsing in the editor window seems to be so slowwww that it renders Frescobaldi nearly useless...

    This is what happens:

    • open a .ly file: seems to be as fast as it used to be but then the GUI "stalls" for some seconds until the actual .ly file is shown in the editor window
    • scrolling through the .ly file is pretty fast but every change, say something like commenting out a line takes a few seconds before it appears. Undoing such a change is fast again, but scrolling down some lines introduces the wait time again. For this reason I thought it may have something to do with parsing.
    • when compiling the .ly file no progress or output is shown before the compilation has finished (this used to be different )

    This happens for both the 2.0.8 release as the current git version and with the following versions of the used libraries: Python: 2.7.3 Qt: 4.8.4 PyQt4: 4.9.6 sip: 4.14.3

    Are these library versions not supported or am I overseeing some other things?

    opened by sverd 36
  • Porting to Qt5

    Porting to Qt5

    I'm working with a computer where for some reason Frescobaldi breaks by using Qt5 instead of Qt4. And I have not yet managed to change Qt version. While I'm finding a solution to the problem (I'm of course thankful for any advice!) I'm planning on taking the opportunity to learn more about the differences between Qt4 and Qt5. What I've read so far is that the porting should be fairly smooth. I've created a branch for changes in the code to adapt to Qt5: https://github.com/PeterBjuhr/frescobaldi/tree/Qt5.

    opened by PeterBjuhr 35
  • musicxml export issue

    musicxml export issue

    Here is what I get when trying the musicxml export feature. I first get the file saving dialog. After choosing a filename, I validate then get this message:

    %%% Traceback (most recent call last): File "/Applications/frescobaldi_philmassart/frescobaldi_app/file_export/init.py", line 57, in exportMusicXML writer.parse_tokens(tokeniter.all_tokens(doc)) File "/Applications/frescobaldi_philmassart/frescobaldi_app/ly/musicxml/source2musxml.py", line 56, in parse_tokens func_call(t) File "/Applications/frescobaldi_philmassart/frescobaldi_app/ly/musicxml/source2musxml.py", line 133, in Note self.mediator.new_note(token, self.pitch_mode) File "/Applications/frescobaldi_philmassart/frescobaldi_app/ly/musicxml/ly2xml_mediator.py", line 111, in new_note self.current_note = bar_note(note_name, self.duration) File "/Applications/frescobaldi_philmassart/frescobaldi_app/ly/musicxml/ly2xml_mediator.py", line 213, in init plist = notename2step(note_name) File "/Applications/frescobaldi_philmassart/frescobaldi_app/ly/musicxml/ly2xml_mediator.py", line 345, in notename2step note_num = base_list.index(note_name) ValueError: u'q' is not in list %%%

    opened by philmassart 33
  • Frescobaldi causes Kubuntu to freeze

    Frescobaldi causes Kubuntu to freeze

    Frescobaldi causes the KDE desktop of the current Kubuntu (14.04) to freeze. You can work with Frescobaldi, then try to restart the system or hit the Application Launcher, and the Desktop freezes. Reset is necessary. The bug is 100% reproducible.

    opened by jb60 31
  • "Force use of the tools’ #! lines" needs to be on in order to let Frescobaldi recognize convert-ly in LilyPond 2.24

    "Force use of the tools’ #! lines" in the "Tool Commands" tab in the Edit dialog for the "LilyPond version to use" in the "LilyPond Preferences" needs to be checked on in order to get LilyPond 2.24 appeared in the pull down menu in the Convert-ly dialog. I'm not sure whether this is expected behavior or not. I found this on macOS Monterey 12.6.2 with Frescobaldi 3.2 installed with MacPorts and "official" lilypond-2.24.0-darwin-x86_64.tar.gz binaries.

    macosx documentation 
    opened by JunTamura1959 1
  • Default font ugly on Fedora

    Default font ugly on Fedora

    For investigating some issues, I just nuked all Frescobaldi-related configuration files in ~/.local, ~/.share, etc. to get a pristine state as if I were a new user. The default font looks quite ugly when bold characters are printed.

    image

    image

    Not sure if this is very visible on the screenshots, but the text is excessively heavy and somehow gives the impression that the font hinting is bad (irregular glyph contours).

    After changing the font from "Noto Sans Mono" to "DejaVu Sans Mono" in the Preferences, it looks better:

    image

    Although I am not sure that the font in the log was actually updated:

    image

    I remember also encountering this when switching to Fedora 37. It seems that the default fonts in Fedora were changed to the Noto family; see https://fedoraproject.org/wiki/Changes/DefaultToNotoFonts

    I am opening an issue here because there seems to be a rendering glitch, as the Noto Sans Mono font shouldn't look that bad in bold. Here is how it renders in LibreOffice:

    image

    opened by Jean-Abou-Samra 1
  • Add autocompletion for string tunings

    Add autocompletion for string tunings

    Fixes #1298

    This depends on python-ly 149 PR.

    NOTE: In its current state it doesn't work. I don't understand how tokens work in analyzer.py, but I guess it could be quite easy to fix for you guys :-) Feel free to add commits on top of this PR.

    Thanks!

    opened by fedelibre 21
  • Vertically compressed rendering in Music View on 4K monitor

    Vertically compressed rendering in Music View on 4K monitor

    This is tolerable, but a bit annoying that the Music View pane on my computer shrinks the pages by about 24% vertically compared to the same PDF opened in a typical PDF viewer. Everything else about the app seems to be working as expected.

    frescobaldi-squished-music-view

    I'm using a 4K monitor and no change in resolution or scaling changes the results. And older version of Frescobaldi works just fine (v.2.18). I installed v3.2 using the official Windows installer on Oct. 22, 2022 without any further tweaking to the installed libraries.

    Here are the versions of everything as provided by Frescobaldi:

    Frescobaldi: 3.2 Extension API: 0.9.0 Python: 3.6.8 python-ly: 0.9.5 Qt: 5.13.2 PyQt: 5.13.2 sip: 5.0.0 qpageview: 0.6.2 poppler: 0.83.0 python-poppler-qt: 0.75.0 OS: Windows-10-10.0.19041

    Not sure if there are others out there experiencing this, but I can't seem to find any other related issue. Apologies if I just missed it.

    windows 
    opened by tisimst 3
Releases(v3.2)
Owner
Frescobaldi
The Frescobaldi sheet music text editor
Frescobaldi
Python audio and music signal processing library

madmom Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks. The library is i

Institute of Computational Perception 1k Dec 26, 2022
The venturimeter works on the principle of Bernoulli's equation, i.e., the pressure decreases as the velocity increases.

The venturimeter works on the principle of Bernoulli's equation, i.e., the pressure decreases as the velocity increases. The cross-section of the throat is less than the cross-section of the inlet pi

Shankar Mahadevan L 1 Dec 03, 2021
Klangbecken: The RaBe Endless Music Player

Klangbecken Klangbecken is the minimalistic endless music player for Radio Bern RaBe based on liquidsoap. It supports configurable and editable playli

Radio Bern RaBe 8 Oct 09, 2021
The official repository for Audio ALBERT

AALBERT Here is also the official repository of AALBERT, which is Pytorch lightning reimplementation of the paper, Audio ALBERT: A Lite Bert for Self-

pohan 55 Dec 11, 2022
SolidMusic rewrite version, need help

Telegram Streamer Bot This is rewrite version of solidmusic, but it can't be deployed now, help me to make this bot running fast and good. If anyone w

Shohih Abdul 63 Jan 06, 2022
Audio book player for senior visually impaired.

PI Zero W Audio Book Motivation and requirements My dad is practically blind and at 80 years has trouble hearing and operating tiny or more complicate

Andrej Hosna 29 Dec 25, 2022
Python library for handling audio datasets.

AUDIOMATE Audiomate is a library for easy access to audio datasets. It provides the datastructures for accessing/loading different datasets in a gener

Matthias 121 Nov 27, 2022
A tool for retrieving audio in the past

Rewinder A tool for retrieving audio in the past. Ever felt like, I need to remember that discussion which happened 10 min back. Now you can! Rewind a

Bharat 1 Jan 24, 2022
Bot Music Pintar. Created by Rio

🎶 Rio Music 🎶 Kalo Fork Star Ya Bang Hehehe Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.8+ or 3.7 PyTgCalls Generate String Using Replit ⤵

RioProjectX 7 Jun 15, 2022
A voice based calculator by using termux api in Android

termux_voice_calculator This is. A voice based calculator by using termux api in Android Instagram account 👉 👈 Requirements and installation Downloa

ʕ´•ᴥ•`ʔ╠ŞĦỮβĦa̷m̷╣ʕ´•ᴥ•`ʔ 2 Apr 29, 2022
extract unpack asset file (form unreal engine 4 pak) with extenstion *.uexp which contain awb/acb (cri/cpk like) sound or music resource

Uexp2Awb extract unpack asset file (form unreal engine 4 pak) with extenstion .uexp which contain awb/acb (cri/cpk like) sound or music resource. i ju

max 6 Jun 22, 2022
Xbot-Music - Bot Play Music and Video in Voice Chat Group Telegram

XBOT-MUSIC A Telegram Music+video Bot written in Python using Pyrogram and Py-Tg

Fariz 2 Jan 20, 2022
Multi-Track Music Generation with the Transfomer and the Johann Sebastian Bach Chorales dataset

MMM: Exploring Conditional Multi-Track Music Generation with the Transformer and the Johann Sebastian Bach Chorales Dataset. Implementation of the pap

102 Dec 08, 2022
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 419 Dec 26, 2022
Manipulate audio with a simple and easy high level interface

Pydub Pydub lets you do stuff to audio in a way that isn't stupid. Stuff you might be looking for: Installing Pydub API Documentation Dependencies Pla

James Robert 6.6k Jan 01, 2023
Conferencing Speech Challenge

ConferencingSpeech 2021 challenge This repository contains the datasets list and scripts required for the ConferencingSpeech challenge. For more detai

73 Nov 29, 2022
A voice assistant which can be used to interact with your computer and controls your pc operations

Introduction 👨‍💻 It is a voice assistant which can be used to interact with your computer and also you have been seeing it in Iron man movies, but t

Sujith 84 Dec 22, 2022
A voice control utility for Spotify

Spotify Voice Control A voice control utility for Spotify · Report Bug · Request

Shoubhit Dash 27 Jan 01, 2023
Library for Python 3 to communicate with the Google Chromecast.

pychromecast Library for Python 3.6+ to communicate with the Google Chromecast. It currently supports: Auto discovering connected Chromecasts on the n

Home Assistant Libraries 2.4k Jan 02, 2023
kapre: Keras Audio Preprocessors

Kapre Keras Audio Preprocessors - compute STFT, ISTFT, Melspectrogram, and others on GPU real-time. Tested on Python 3.6 and 3.7 Why Kapre? vs. Pre-co

Keunwoo Choi 867 Dec 29, 2022