Bang-0.1.0.6: A Drum Machine DSL for Haskell

Copyright(c) Benjamin Kovach, 2014
LicenseMIT
Maintainerbkovach13@gmail.com
Stabilityexperimental
PortabilityMac OSX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bang.Interface.Base

Description

This module exports a number of utilities for constructing primitive notes, rests, and tempo.

Synopsis

Documentation

rest :: Dur -> Music Dur a Source

Rest for a given duration.

note :: Dur -> a -> Music Dur a Source

Convenience constructor for single Notes

bpm :: Integer -> Music a b -> Music a b Source

Set the bpm of a composition

tempo :: Rational -> Music a b -> Music a b Source

Set the tempo of a composition

m4 :: Monoid a => a -> a -> a -> a -> a Source

Convenience function for concatenating four compositions together sequentially. Most general type signature 'cause why not?

quad :: Music a b -> Music a b Source

Quadruple the tempo of a composition.

double :: Music a b -> Music a b Source

Double the tempo of a composition.

normal :: Music a b -> Music a b Source

Set the tempo of a composition to 1 (default, typically idempotent).

half :: Music a b -> Music a b Source

Half the tempo of a composition.

quarter :: Music a b -> Music a b Source

Quarter the tempo of a composition.

tuplets :: Rational -> Music a b -> Music a b Source

Convenience constructor for smashing n values into a single 1-duration measure.

triplets :: Music a b -> Music a b Source

Play 3 notes per measure.

quintuplets :: Music a b -> Music a b Source

Play 5 notes per measure.

sr :: Music Dur a Source

Sixteenth rest

er :: Music Dur a Source

Eighth rest

qr :: Music Dur a Source

Quarter rest

hr :: Music Dur a Source

Half rest

wr :: Music Dur a Source

Whole rest