Skip to content

auroracramer/fortissimo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FORTISSIMO A programming language for writing programmatic music simply.

Project Proposal

Design Document

Presentation Slides

Poster Slides(ppt format)

Poster Slides(odf format)

Demo Screencast

Bonus Song (Tetris)

Fortissimo Features

REPL-Only Commands:

  • record -- starts recording to ff-out.wav
  • stop recording -- stops recording
  • record -- starts recording a phrase
  • help -- print this help message
  • exit/quit -- quit the Fortissimo REPL

Language Usage

Phrase Definition:

#!

| <Phrase Name>
<Statements>
||

Statements:

  • Add a list of notes -- notes
  • Set the current scale -- key of
  • Set the current tempo -- tempo of
  • Set the current meter -- meter of /
  • Set the current instrument playing -- playing (with )
  • Play a phrase -- play
  • Play a phrase and set the phrases attributes -- play with
    • Parameters
      • key
      • meter
      • octave
      • instrument
      • tempo
  • Declare an instrument -- is

Note Types:

Scale Number Note

  •  Corresponds to number in scale
    
  •  Form of <Scale Number>(Optional Duration)
    
  •  e.g. 4q
    

Scientific Notation

  •  The absolute name of a note
    
  •  Form of <Letter><Octave>(Optional Duration)
    
  •  e.g. c4w
    

Chords

  •  Plays a group of notes concurrently
    
  •  Form of (<List of Notes>)
    
  •  e.g. (c4q e4q g4q)
    

Valid Durations:

  • w -- whole
    
  • h -- half
    
  • q -- quarter
    
  • e -- eighth
    
  • s -- sixteenth
    
  • t -- thirty-second
    

Available Instruments

  •  Piano
    
  •  Guitar
    
  •  SawWave
    
  •  Synth
    
  •  Overpad
    
  •  Bass
    
  •  Ping
    

Available Scales

  •  major
    
  •  minor
    
  •  melodicminor
    
  •  harmonicminor
    
  •  pentatonicmajor
    
  •  bluesmajor
    
  •  pentatonicminor
    
  •  bluesminor
    
  •  augmented
    
  •  diminished
    
  •  chromatic
    
  •  wholehalf
    
  •  halfwhole
    
  •  wholetone
    
  •  augmentedfifth
    
  •  japanese
    
  •  oriental
    
  •  ionian
    
  •  dorian
    
  •  phrygian
    
  •  lydian
    
  •  mixolydian
    
  •  aeolian
    
  •  locrian
    

About

Simplified programmatic music

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published