hsc3-auditor-0.15: Haskell SuperCollider Auditor

Safe HaskellNone
LanguageHaskell98

Sound.SC3.Auditor.FCD

Contents

Description

Farfisa (electronics)

Recordings of FARFISA COMPACT DUO from B3 to D#6.

Registrations flute8, oboe8, trumpet8, strings8.

With and without vibrato.

Files are each recorded in one pass, metronome m=54, measure=6/4.

flute8, oboe8, trumpet8 were recorded together and balance is natural.

strings8 was recorded later, balance is below.

strings8 ought to balance with trumpet8.

Synopsis

Documentation

fcd_registrations_plain :: [String] Source

There are four separate registrations (three used in aad).

fcd_registrations_vib :: [String] Source

Each has a vibrato variant.

fcd_registrations :: [String] Source

Making eight registrations in total.

fcd_registrations_ix :: [Int] Source

Having indices 0 through 7.

fcd_format :: String Source

Stored as flac.

fcd_fnames :: [FilePath] Source

The files of the recordings of the eight registrations.

fcd_hdr :: IO [Header] Source

header of 'fcd_fnames.

h <- fcd_hdr
length h == 8
map frameCount h

fcd_sample_dur :: Fractional n => n Source

The recorded duration for each tone (in seconds), ie. ts=6/4 at q=54.

fcd_sample_dur == 6 + 2/3

fcd_range :: (OctPC, OctPC) Source

Range (inclusive) of recorded tones.

bimap1 :: (t -> u) -> (t, t) -> (u, u) Source

fcd_range_midi :: Num n => (n, n) Source

As midi note numbers.

fcd_gamut_midi :: (Enum n, Num n) => [n] Source

All of the recorded midi note numbers.

length fcd_gamut_midi == 29

type SF_LD = (Int -> Bool, Header, FilePath) Source

(note-predicate,sf-header,sf-name)

sf_load_msg :: SF_LD -> Double -> Double -> Int -> Int -> Maybe Message Source

The odd form allows selective loading based on m, where the buffer numbers are as if all were loaded.

st = start time (sec.), du = duration (sec.), b = buffer-id, m = midi-note number

fcd_load_sel :: (Int -> Bool) -> Int -> IO () Source

fcd_load_all_msg :: Int -> [Int] -> IO [Message] Source

Here k is the set of registrations to load.

fcd_load_all :: Int -> [Int] -> IO () Source

Smplr

range_degree :: Num a => (a, a) -> a Source