4 releases
0.1.3 | May 11, 2025 |
---|---|
0.1.2 | May 11, 2025 |
0.1.1 | May 11, 2025 |
0.1.0 | May 10, 2025 |
#628 in Audio
557 downloads per month
Used in cantara
90KB
1.5K
SLoC
This library contains functions to import, parse and export song files of different formats. It is used in the Cantara project for song import and generation of song slides and music sheets.
Overview
Churches and other groups who want to sing together as a group often need to export songs to different formats. While the musicians need the songs in a music-sheet like format, the audience most often is interested in the lyrics only. The Cantara project tries to unify these requirements by providing a simple text format for songs which can be used to generate different output formats. The song format is a simple and easy to read text format which can be used to write songs in plain text files. The crate handles the import of these song files and provides a Song struct which can be used to generate different output formats. Due to legacy reasons, the crate also supports the import of songs from other formats. At the moment, the following import formats are supported:
- The Cantara classic song format (lyrics only), see
crate::importer::classic-song
module. - The cssf song format (lyrics and scores), see cssf_song module. (under construction)
- the CCLI song format (lyrics only), see ccli_song module. (under construction)
Cantara-Songlib
A reimplementation of the Cantara Backend in Rust.
This crate provides functionality for parsing songs in different formats (lyrics, scores and different languages) and export them as a song presentation or music sheet. It is part of the effort to rewrite Cantara in Rust.
[!NOTE] While this crate is already usable, some functions are yet to be implemented. Please expect breaking changes.
Dependencies
~7–10MB
~181K SLoC