Coder Social home page Coder Social logo

looptailg / musescore-31edo-tuner Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 287 KB

31EDO Tuner plugin for Musescore

Home Page: https://musescore.org/en/project/31edo-tuner

License: GNU General Public License v3.0

QML 100.00%
musescore-plugin musescore musescore3 musescore4 plugin 31edo xenharmonic

musescore-31edo-tuner's Introduction

31EDO Tuner

A Musescore plugin for tuning scores to 31EDO.

Features

This plugin can be used to tune the whole score, or only a portion of it, to 31EDO.

Accidentals

This plugin is compatible with the following notation systems:

  • Circle of fifths notation, using double sharps and flats. In this system, a sharp or a flat indicates an alteration of 2 EDO steps, and a double sharp or a double flat an alteration of 4 EDO steps. For example, a chromatic scale between C and D would be written as:

image

  • Neutral circle of fifths notation, using half and sesqui sharps and flats. In this system, a half sharp or a half flat indicates an alteration of 1 EDO step, and a sesqui sharp or a sesqui flat an alteration of 3 EDO steps. For example, a chromatic scale between C and D would be written as:

image

  • Sagittal notation, using quarter tone and half tone arrows. In this system, a quarter tone arrow indicates an alteration of 1 EDO step, and a half tone arrow indicates an alteration of 2 EDO steps. For example, a chromatic scale between C and D would be written as:

image

These notation systems are not mutually exclusive, the plugin can correctly tune a score which uses a mixture of them.

See here for a list of every supported accidental.

This plugin remembers which accidental is applied to any given note, and will automatically apply the correct tuning offset to the following notes within the same measure. This is also true for microtonal accidentals, for which this is usually not automatically done in Musescore. A limitation of this is that the plugin only checks for accidentals for each voice individually, so if there are multiple voices with microtonal accidentals, it might be necessary to add an extra accidental for the first modified note in each voice. This extra accidental can be safely made invisible, as that won't affect the plugin, as in the following example:

image

Key Signatures

This plugin supports custom key signatures. If the custom key signatures only contain standard accidentals, no extra action is required other than inserting the custom key signaturs into the score.

If the key signature contains microtonal accidentals, then it is necessary to also add a text (System Text for a regular key signature, or Staff Text for a local key signature) to inform the plugin about the accidentals present in the key signature. This text has to be formatted as X.X.X.X.X.X.X, where X are the accidental applied to each note, arranged according to the circle of fifths: F.C.G.D.A.E.B. These accidentals are written using ASCII characters only in the following way:

Accidental Text
doubleFlat bb
sesquiFlat db
flat b
halfFlat d
halfSharp t
sharp #
sesquiSharp t#
doubleSharp x

If a note does not have an accidental in the custom key signature, you can leave the text for that note empty.

The text describing the custom key signature can be safely made invisible, as that won't affect the plugin, as in the following example:

image

Usage

  • If the score contains transposing instruments, ensure that the score is being displayed at concert pitch. If it's not, the notes of transposing instruments will not be tuned correctly.
  • If you want to tune only a portion of the score, select it before running the plugin. If nothing is selected, the entire score will be tuned.
  • Launch the plugin:
    • Musescore3: PluginsTuner31EDO
    • Musescore4: PluginsPlayback31EDO Tuner

If the score contains transposing instruments, you can safely turn off concert pitch after running the plugin, as the tuning of the notes will not be affected.

See here for a known issue regarding transposing instruments.

Installing

Musescore3

  • Download the file 31edo_tuner_x.y.z.zip, where x.y.z is the version of the plugin. You can find the latest version here.
  • Extract the file 31EdoTuner.qml, and move it to Musescore's plugin folder.
  • Follow the steps listed here to enable the plugin.

Musescore4

  • Download the file 31edo_tuner_x.y.z.zip, where x.y.z is the version of the plugin. You can find the latest version here.
  • Extract the folder 31edo_tuner and move it to Musescore's plugin folder.
  • Follow the steps listed here to enable the plugin.

musescore-31edo-tuner's People

Contributors

looptailg avatar

Stargazers

 avatar

Watchers

 avatar

musescore-31edo-tuner's Issues

Remove positiveModulo()

That function is used only in one place, and instead you can simply use more than one case for a code block to achieve the same result.

Improve TPC handling

Improve the handling of the TPC property, it probably can be handled in a dynamic way by checking its modulo / remainder, instead of using a series of hardcoded cases.

Update README

Update the README file, to reflect the new functionality of tuning only the notes within the selection.

Use getAccidental()

Use the function getAccidental() wherever the number of edo step displacement is calculated. Rename it to have a more descriptive name.

Incorrect readme images

The example image for custom key signatures is wrong, the text has the wrong number of dots.

The example image for sagittal notation should have a natural sign on the last note.

Remove TPC property

Remove the TPC property from supportedAccidentals, as every accidental that has a false value for it also has the property DEFAULT_OFFSET. Rework the logic to check this value instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.