Skip to main content

Analyze the harmonies in music according to a theory of harmonic perception by Franz Sauter, described in his book 'Tonal music: Anatomy of the Musical Aesthetics'

Project description

This library implements some functions for analyzing the harmonic happenings in music. The algorithms are based on a relatively unknown theory of harmony in music by Franz Sauter, specified for implementation by Louis Krüger. This Theory is described in the book of Franz Sauter 'Tonal music: Anatomy of the Musical Aesthetics' (German: 'Die tonale Musik: Anatomie der musikalischen Ästhetik'). One interesting aspect of the theory is that modulations are defined in a way that it can be implemented in a computer program: A modulation occurs if we hear a tone which is not part of the key in which we were before. Instead, we are modulating to the key which

  1. has all the tones of the new harmony we are hearing and
  2. has the most tones in common with the old key we were in.

This library offers the following functions:

  • calc_harmonies: This calculates the resulting harmonies of different simultaneous voices (for example different instruments playing together) in music. The result can be used for:
  • analyze_harmonic_states: From the harmonies that a listener hears the 'harmonic state' in which the listener is is calculated. This term belongs to the theory and describes the key that a listener would assume as the current key in which the music is. A harmonic state can consist of multiple keys simultaneously.
  • analyze_sauterian_formula: Gives back the sauterian formula for each harmony, where the harmonic state has exactly one key. This roughly corresponds to whether the scale degrees for the individual notes of the tonic, dominant and subdominant chords of a key are used in the sounding harmony.
  • analyze_degree_of_dissonance: Based of the sauterian formula of a harmony this gives the degree of dissonance for this harmony: It can be consonant, 'false consonant', can ba a low, medium or high level of dissonanca or it can be an atonal harmony of one of 5 degrees, if the tones of the harmony do not occur in any key.

This library is used in a tool for automatic music harmony analysis that can be found on the website www.notenentwickler.com Also some additional explanation of the theory can be found there. The other modules abcjs_interface, preprocess and to_abc_strings in this package are developed for this project and are not specifically intended for general use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

music-harmony-analysis-1.0.1.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

music_harmony_analysis-1.0.1-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file music-harmony-analysis-1.0.1.tar.gz.

File metadata

File hashes

Hashes for music-harmony-analysis-1.0.1.tar.gz
Algorithm Hash digest
SHA256 08750de644b44c8c2a942d5a428cbeaaac2940a1583e0c1b3732dcefc1770b7c
MD5 dd09383bd8e25d9c7d799a3ed659ac2d
BLAKE2b-256 edfe0dbcf9b4dabee89175170499e43bb107016d2ba8ce77e0968ad0a775ec84

See more details on using hashes here.

File details

Details for the file music_harmony_analysis-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for music_harmony_analysis-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 54226275104ef78435bf86137c68010e3cc6dacff00ca8f27e5a2fb206caa396
MD5 4ee13f23258f7a44dd3dd82f00ba8fe2
BLAKE2b-256 08f20d44b1f7b4a321b6f8bbbc3ba072623f30ca2f41b95f9bad7b64161b5931

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page