Fomus:
Filter:
Fomus/Classes (extension) | MusicNotation

Fomus
ExtensionExtension

SuperCollider bindings to Fomus Music Notation

Description

Introduction

SuperFomus tries to integrate the SuperCollider language and the automatic music notation system FOMUS (FOrmat MUSic).

Website

https://github.com/smoge/superfomus

Dependencies

You will need FOMUS and LilyPond:

Class Methods

.new

Create a new instance with or without content. noteList can be a Event, an Array of Events or a Stream.

Arguments:

noteList

an Event, an Array of Events or a Stream.

n

Just needed for Streams. In case you are including a Stream, you will need to indicate how many Event will be imported.

Instance Methods

.eventList

List of all Events.

.fileName

Base filename, suffix will be added. Default is "~/Desktop/SuperFomus"

.lilyPath

Path to LilyPond binary. Default "/usr/bin/lilypond"

.lilyViewPath

Path to PDF viewer. Default "/usr/bin/xpdf"

.qt

Boolean to indicate whether or not you want to use quarter-tone.

.add

Can be an Event, an Array of Events or a Stream.

Arguments:

stuffIn

an Event, an Array of Events or a Stream.

n

Just needed for Streams. In case you are including a Stream, you will need to indicate how many Events will be imported.

.asString

All Events in FOMUS representation.

Returns:

String

.header

FOMUS header

Returns:

String

.write

Write the FOMUS text file.

.ly

Generate a LilyPond file and show the resulting PDF

.midi

Generate a MIDI file.

.xml

Generate a MusicXML file.

.show

Show the PDF with PDF viewer.

Examples

You can include Events, Array of Events and Streams. This means that you can generate your data as Events:

Or you can create a Pattern, turn it into a Stream, and specify how many events should be created by this Stream:

First of all, create your Fomus object, with or without initial content:

These are the default options. Change if needed. Working path and filename (optional):

Where is LilyPond binary:

Application to show the pdf file:

Do we want to round to quatertone of halftones as Boolean

Let's create a Pattern:

Add the next 40 Events in our Fomus object:

Make and show a Lilypond Score

If you want to round to halftones

Make a MIDI file

Make a MusicXML file

Microtonal Chords

Another example