Code Monkey home page Code Monkey logo

micromidi's Introduction

Micromidi

Micromidi is a VST that enables you to experiment with, compose and preform microtonal (or even "macrotonal") music with nearly any hardware or software synth.

Features

  • Divide an octave as many or as few times as you want
  • Assign pitch bend values to any notes in the octave
  • Remap midi input

Requirements

This plugin is built with Cabbage and all Cabbage VSTs require a cSound installation. This is a free, open source library available for all major platforms. Please make sure you have this installed before continuing.

Installation

Grab the latest release from the releases section:

Releases

What is "microtonal" music?

Modern western music divides an octave into 12 equally spaced tones. This tuning is known as 12tet or 12 tone equal temperament. In this system each tone in the octave can be considered to be separated by intervals called a semitone.

The idea behind microtonal music is to explore the tones that we can get by using smaller intervals that a semitone. So for instance a popular microtuning is 24tet which involves splitting the octave into 24 equal tones instead of 12.

You can also use Micromidi divide an octave by unequally. For example, you could use something like just intonation which attempts to to assign all notes to frequencies that can be represented as whole number ratios.

What is a VST?

A VST (Virtual Studio Technology) is a plugin for DAWs (Digital Audio Workstations). Examples of popular DAWs that this should work with are Reaper(tested) and Ableton Live. However this should work with just about any popular DAW.

Create a tuning file

Tuning files are roughly based on the Scala spec but this is not a complete implementation of that spec. A tuning file consists of 2 header lines. The first line is a description of the tuning. The second line is the amount of octave divisions we want. Lines after that each represent the pitch offset from the root for each interval in the octave (in cents). Unlike Scala, these tuning files do NOT imply that the first interval (root) is zero so this must be explicitly defined.

Below is an example of 24tet tuning which is included in this repo:

A basic 24tet example tuning
24
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
750
800
850
900
950
1000
1050
1100
1150

At this time you can only have one tuning file. It must be called tunefile and it must be in the same directory as this VST.

Tip: there are 100 cents in a standard semitone!

Tip: You can keep multiple tuning files in the VST directory at once, but only one can have the name tunefile

Setting up pitch bend on your synth

In order for this to work as expected you need to make sure that the pitch bend setting on your synth is set to 1 semitone (the default is usually 2).

In the future, there should be a workaround for synths where changing the pitch bend range is not possible.

micromidi's People

Contributors

matdombrock avatar

Watchers

 avatar

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.