Dualraum / Chorsatz

Web application to create SATB-sheets / four-part vocal progressions from a series of chords.

Home Page:https://dualraum.github.io/Chorsatz/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🎼 Chorsatz

license actions actions commits tech1 tech2

Chorsatz is a web application to automatically create SATB-sheets from a series of chords.

Contents

Goals

In classical music, SATB-sheets are used to accompany the main singing voice of a musical piece by a choir or similar arrangement. These sheets usually only depend on the chord progression of the piece and follow a rigid set of rules and preferences.

Chorsatz aims to speed up this traditional manual process by algorithmically modelling a set of exclusion and scoring criteria that is used to automatically create, score and rank a list of four-part vocal progressions. In order to retain a human element and allow for some musical elements that cannot be mathematically described, the user is then shown multiple of these results and can select, listen to or download them.

Features

  • Allow the creation of a classical four-part vocal setting from a series of chords.
  • Include support for wide variety of different chords, as well as fixed initial tone.
  • Filter these alternatives based on a series of no-go criteria to exclude settings.
  • Rank the remaining alternatives based on an algorithmic score system, looking to optimize certain properties.
  • Allow customization of both the exclusion criteria and the relative weights of the ranking.
  • Output these results as both as sheet music and a list of notes and provide online playback.
  • Provide as downloads both an .svg of the sheet music and a .wav of the playback.
  • Facilitate all of the above via a universally accessable web application.

For a more in-depth user guide, see this document (only available in German) or the wiki (in English). You will find, among other things an explanation of the exclusion and scoring criteria and a list of possible input chords.

Bugs & Issues

While Chorsatz' underlying algorithm is theoretically sound, you may find results or rankings disagreeing with your intuition. Do not hesitate to open an issue if this appears frequently or in isolatable cases - we are always happy to improve our algorithm.

Of course, also submit an issue if you encounter any bugs, glitches or missing features as well as if you have any questions. Remember that Chorsatz is a hobby project, but we are always happy to assist.

Contributors

  • Concept & musical direction: Minona Schäfer
  • Programming & design: Linus Mußmächer
  • Musical advice: Biljana Wittstock

Resources & Technology

Icons are taken from The Noun Project. The background image was provided by Minona Schäfer.

Chorsatz is a program in Rust and WebAssembly using the Leptos framework. Chorsatz is released under the CC-BY-NC-SA 4.0 non-commercial share-alike open-source license.

About

Web application to create SATB-sheets / four-part vocal progressions from a series of chords.

https://dualraum.github.io/Chorsatz/

License:Other


Languages

Language:Rust 90.2%Language:TeX 5.6%Language:CSS 3.7%Language:Python 0.3%Language:HTML 0.2%