@APP_ID@ CC0-1.0 GPL-3.0-or-later Chronograph Sync lyrics of your loved songs

Chronograph is an open-source application designed for accurately syncing lyrics with audio timestamps.

You may notice that many of music players support synced lyrics which are highlighted line-by-line or word-by-word while playing? This app was designed to give the community an ability to be the ones who make these lyrics.

Chronograph directly supports publishing to LRCLib. As many FOSS music players use LRCLib to fetch synchronized lyrics, this integration allows users to easily contribute their work back to the open-source community.

If you have a large base of music and just want to download lyrics for all of it, Chronograph also supports mass lyrics downloading. It will try to find lyrics for each of your track on LRClib and save it depending on your settings.

Syncing Modes

Supported Formats

Dzheremi https://github.com/Dzheremi2/Chronograph/ https://github.com/Dzheremi2/Chronograph/ https://github.com/Dzheremi2/Chronograph/issues https://hosted.weblate.org/projects/chronograph/chronograph/ https://github.com/Dzheremi2/Chronograph/discussions https://github.com/Dzheremi2/Chronograph/discussions https://github.com/Dzheremi2/Chronograph/blob/devel/CONTRIBUTING.md Chronograph @APP_ID@.desktop #74c69d #1b4332 keyboard touch pointing 362 https://raw.githubusercontent.com/Dzheremi2/Chronograph/refs/heads/main/docs/screenshots/libW.png Library https://raw.githubusercontent.com/Dzheremi2/Chronograph/refs/heads/main/docs/screenshots/syncW.png Lyrics syncing page https://raw.githubusercontent.com/Dzheremi2/Chronograph/refs/heads/main/docs/screenshots/wbwsyncW.png Word-by-Word syncing workflow https://raw.githubusercontent.com/Dzheremi2/Chronograph/refs/heads/main/docs/screenshots/wbweditW.png Word-by-Word lyrics editor https://raw.githubusercontent.com/Dzheremi2/Chronograph/refs/heads/main/docs/screenshots/lrclibW.png LRClib import dialog https://raw.githubusercontent.com/Dzheremi2/Chronograph/refs/heads/main/docs/screenshots/mdwlW.png Mass lyrics downloading dialog

New Library approach: Previously, Chronograph has manipulated different directories user stores files in. Now we move from this approach to new Library. You select a folder in which you want to create a new library, then import files in it, and Chronograph then uses this Library and its files.

New Chronograph's own lyric format Chronie. Its main goal to be compatible with every other format Chronograph supports. Since barely all formats use Line-by-line or Word-by-word syncing and either only start or both start and end timestamps, Chronie combines all these approaches and store ALL of them simultaniously. Chronie can be converted to any lyric format and then exported, at the same time, it is exportable itself.

Since most of the users, I guess would only use one library, it has tags you can assign to a track in a Library. Sidebar, which previously stored saved locations (directories) now stores tags and allow fast filtering among them.

These are removed: List View mode, all files related settings.

Don't forget to check Preferences after the update, since many changes were made to the app schema

New features

  • Ability to sort by Title, Artist and Album both A-Z and Z-A
  • Sorting based on file import time

Bug fixes

  • File's default filename now built as {artist} - {title}.lrc
  • Exporting to file now always uses .lrc suffix

New features

  • Sidebar state now saved on app close

Bug fixes

  • "Re-sync all" action no more stopping at lines without a space after the timestamp
  • App now ignores blank lines during lyric highlighting

Bug fixes

  • Changing View Mode with no library opened no more causing a blank screen
  • Sync lines list box no more remain invisible after importing lyrics

New features

  • Ability to mass download lyrics for opened library

Bug fixes

  • Correctly handle sidebar Pin rows autoselection on any library operation

Miscellaneous

  • Prepare for GNOME Circle participating. This release remarks by Ignacy Kuchciński, Martin Abente Lahaye

New features

  • Library now live updates for opened directory files changes, so re-parse button was removed
  • This live update for all types of event: Adding a new file or directory to a directory, Removing file or directory from a directory
  • It also works with symlinks if corresponding preference is enabled
  • Show banner with suggestion to re-parse directory if any parsing related setting changed

Bug fixes

  • Lyrics format chip is now not focusable

New features

  • Album searching field for LRClib import dialog
  • LRClib import dialog search fields autofill
  • Ability to shift all sync points at once by a given amount of milliseconds
  • New second type of re-sync operation. Now, if Ctrl held, the re-sync operation uses "large" milliseconds amount. Default and Large ms amount could be set via preferences
  • Album name is now shown on results in LRClib import dialog

Bug fixes

  • Fixed importing lyrics from file
  • Fixed Word-by-Word re-syncing

Miscellaneous

  • Users are now prohibited to search LRClib with "title" field empty in LRClib import dialog. "title" is a mandatory parameter according to LRClib documentation

5.0 Hotfix #2

  • Search button is now visible again
  • Remain track length is now shown even if track is not played yet

5.0 Hotfix

  • Correctly change loaded lyrics on external file change if that file has LRC metatags
  • Correctly handle lyric file update on "Replace" operations (Replace file dialog in File managers)

New features

  • New GStreamer based player
  • Advanced volume control with state saving
  • Playback rate control. Useful for syncing quickly sung songs
  • Now all items in library have chips at the bottom showing the highest available lyrics format for this media resource
  • Filtering library by lyrics format

Bug fixes

  • Fixed symlinks respective media files parsing
  • Drag'n'Drop now will reject files if there's no any supported formats in drop attempt

Hotfix

  • Previously, LRClib publisher always ends with an error cause of programmatical error
  • FLAC files without album cover now correctly display cover placeholder

New features

  • "Delete Lyrics" button added to Metadata Editor dialog

Bug fixes

  • "Embed lyrics default format" toggle labels not ellipsizing anymore
  • Empty lyric files are now removing automatically

New features

  • Migrate to GNOME Platform 49
  • New shortcuts dialog from LibAdwaita 1.8

Bug fixes

  • If you have files opened independently (not a directory) and Open/Drag-n-Drop new ones, the previous won't be removed
  • "Add to Saves" button now won't be visible if app startup with saved session
  • Saved Location now properly selecting on app startup with saved session

New features

  • Added ability to embed lyrics to the audio file. It works automatically and manually (from the Sync Page)
  • Added "Show" button to the "Path" row in About File dialog
  • Preferences are now have searching ability

Bug fixes

  • eLRC prefixed files now won't create if "Save LRC along eLRC" preference is disabled. Instead, eLRC lyrics will be written to just .lrc file

Miscellaneous

  • Line in lyrics editor on Word-by-Word sync page are now not wrapping for better distinguish of line borders
  • The app preferences storing method changed... again. So your preferences will reset after the update. Please, consider to reconfigure the app preferences after the update. Sorry for that. Hope preferences schema won't change ever again :(

Translation

  • Translations update

A new eLRC format support!

Added support for advanced syncing Word-by-Word (WBW).

WBW syncing has 2 steps: Edit the lyrics you gonna sync and... sync them. Editing lyrics while syncing is not possible in WBW mode.

Unfortunately, LRClib does not have support for eLRC lyrics, so WBW lyrics aren't possible to upload to LRClib :(

Navigation in WBW syncing mode happens by using Alt+{arrow_keys}, so using WBW on mobile will be too overwhelming, so it's not recommended.

If the lyrics you've provided are partially synced then the app will start the synchronization from the first unsynced word.

Now there will be two types of files: eLRCs with eLRC prefix set up and plain .lrc

Don't forget to check Preferences after the update :)

Apologies for all Ukrainian app users. Previously, Ukrainian language was not available cause of misspelled langcode (UA instead of UK)

Translations

  • Fixed Ukrainian translation
  • Translations update

The App was rewritten for better performance and easier features implementation

New features

  • Added logging and debugging imformation to the About dialog

Bug fixes

  • Precise milliseconds are now disabled by default

Translations

  • Added Hungarian translation
  • Translations update

Bug fixes

  • Now if .lrc file has metatags inside of it, they wouldn't be parsed and used in the viewer, but will still present in the file and wouldn't be erased on lyrics change
  • Scroll position of the lyrics editor now not resetting when using Enter-press line appending
  • Fixed bug when Chronograph failed to open if saved session directory does not exist anymore

New features

  • Added preference for enabling cover images compression. Using scale from 1 to 95 where lower value means lower cover quality. May also slightly reduce memory consumption

Bug fixes

  • Highly reduced the memory consumption by decreasing the size of the tracks covers
  • Fixed publishing plain lyrics to LRClib

New features

  • Added .opus file format support
  • Added support for subdirectories

Renaming the Saved Location now performs using dialogs instead of popovers

Actions with saved locations now performing using RMB click or long press

Bug fixes

  • Window control buttons on syncing page now depends on system settings
  • LRClib Publish result toasts now shows correctly
  • Primary app menu now opens on F10 press

Bug fixes & Common text editor like behavior

  • Now sync lines have behavior like common text editor. When pressing Backspace on an empty line, it deletes. When pressing Enter while in line, the new line added below and focused

Bug fixes

  • Metadata editor buttons now doesn't show if user syncing an untaggable file

GNOME Platform 48 & New features

  • Now you can add separate file to the library by opening them or by Drag-N-Dropping them into the window
  • App now using GNOME Platform 48 meaning now it's using Adwaita 1.7
  • New beautiful Adwaita 1.7 switcher in LRClib import dialog
  • Added Dutch translation
  • Added Estonian translation

New features

  • New file formats: m4a and aac (reduced functionality)
  • Manual LRClib publishing dialog for tracks in untaggable formats (like aac)
  • Added Chinese (Simplified Han script) translation

New features and bug fixes

  • Now, if empty directory was parsed, the specific status page will inform user about that
  • Fixes for precise milliseconds from previous release
  • Pin button now wouldn't appear if opened directory is already in saves
  • Translators for your language are now mentioned in the "About App"

New features and bug fixes

  • Added setting for precise milliseconds (3-digit), enabled by default
  • Added reparse button for reparsing current directory
  • Sorting moved to the main app menu
  • Fixed incorrect LRClib import dialog collapsed navigation page behavior
  • Fixed inconsistent behavior of the label of the quick edit dialog
  • Added Portuguese (Brazil) translation
  • Added Finnish translation

Full app rewrite for better performance and flexibility

  • App has been renamed to Chronograph
  • New icon
  • App is now adaptive for different display sizes
  • Added session saving
  • Added ability to pin current directory

Important hotfix of publishing functionality

LRClib import now available

  • Added LRClib to import from menu
  • Search synced/plain lyrics by title and artist and import it to editor for resyncing/syncing respectively

Important bug fixes

  • fix: fixed various bugs caused by absence of needed flatpak sanbox permissions
  • fix: blocked ability to publish lyrics if any field is "Unknown"
  • fix: fixed note icon on song cards if there is no cover in metainfo of file

Features and bug fixes

  • Added ability to replay selected line
  • Added line actions button to avoid using only hotkeys
  • Added ability to select file format for auto manipulation
  • fix: Added tooltips for all buttons
  • fix: App is now not freezing while parsing large directories

Features and updated icon

  • Added search in title and artist fields of songs
  • Updated app icon and brand colors

First full release

  • Added sorting by title from "A-Z" or from "Z-A"
  • Added abylity for exporting lyrics to .lrc file
  • Added preferenced dialog
  • Added "Automatic File Manipulation" preference
  • Files with the same names as songs and with .lrc extension now can be loaded and saved automatically on lines content change
  • fix: library now scrolling vertically

Bug fixes, new features

  • Added ability for one-shot syncing file

Bug fixes

  • Read commit #4c95c8f for more information.

Introduce i18n

  • Added internationalization. Contributors can use Hosted Weblate how transtating to their language.

Initial release

  • Initial release.