csound-expression-4.1.0: library to make electronic music

Safe HaskellNone

Csound.Control.Midi

Contents

Description

Midi.

Synopsis

Documentation

data Msg

Instances

MidiInstr (Msg -> (Sig, Sig)) 
MidiInstr (Msg -> (Sig, Sig, Sig)) 
MidiInstr (Msg -> (Sig, Sig, Sig, Sig)) 
MidiInstr (Msg -> Sig) 
MidiInstr (Msg -> SE (Sig, Sig)) 
MidiInstr (Msg -> SE (Sig, Sig, Sig)) 
MidiInstr (Msg -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (Msg -> SE Sig) 

type Channel = Int

midi :: Sigs a => (Msg -> SE a) -> a

midin :: Sigs a => Channel -> (Msg -> SE a) -> a

pgmidi :: Sigs a => Maybe Int -> Channel -> (Msg -> SE a) -> a

ampCps :: Msg -> (D, D)Source

midi_ :: (Msg -> SE ()) -> SE ()

midin_ :: Channel -> (Msg -> SE ()) -> SE ()

pgmidi_ :: Maybe Int -> Channel -> (Msg -> SE ()) -> SE ()

Mono-midi synth

monoMsg :: D -> D -> SE (Sig, Sig)Source

Produces midi amplitude and frequency as a signal. The signal fades out when nothing is pressed. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another.

 monoMsg portamentoTime releaseTime

holdMsg :: D -> SE (Sig, Sig)Source

Produces midi amplitude and frequency as a signal and holds the last value till the next one is present. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another.

 holdMsg portamentoTime

monoMsgn :: Channel -> D -> D -> SE (Sig, Sig)Source

Produces midi amplitude and frequency as a signal. The signal fades out when nothing is pressed. We can specify a channel. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another.

 monoMsgn chnNumber portamentoTime releaseTime

holdMsgn :: Channel -> D -> SE (Sig, Sig)Source

Produces midi amplitude and frequency as a signal and holds the last value till the next one is present. We can specify a channel. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another.

 holdMsgn chnNumber portamentoTime

pgmonoMsg :: Maybe Int -> Channel -> D -> D -> SE (Sig, Sig)Source

Produces midi amplitude and frequency as a signal. The signal fades out when nothing is pressed. We can specify a programm number and channel. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another.

 pgmonoMsg chnNumber portamentoTime releaseTime

pgholdMsg :: Maybe Int -> Channel -> D -> SE (Sig, Sig)Source

Produces midi amplitude and frequency as a signal and holds the last value till the next one is present. We can specify a programm number and channel. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another.

 pgholdMsg portamentoTime

Reading midi note parameters

cpsmidi :: Msg -> D

ampmidi :: Msg -> D -> D

initc7 :: D -> D -> D -> SE ()Source

Initialization of the midi control-messages.

ctrl7 :: D -> D -> D -> D -> Sig

midiCtrl7 :: D -> D -> D -> D -> D -> SE SigSource

Initializes midi control and get the value in the specified range.

midiCtrl :: D -> D -> D -> SE SigSource

Initializes midi control and get the value in the range (-1) to 1.

umidiCtrl :: D -> D -> D -> SE SigSource

Unipolar midiCtrl. Initializes midi control and get the value in the range 0 to 1.

Overload

class MidiInstr a whereSource

Converts a value to the midi-instrument. It's used with the functions midi, midin.

Associated Types

type MidiInstrOut a :: *Source

Methods

onMsg :: a -> Msg -> SE (MidiInstrOut a)Source

Instances

MidiInstr ((Sig, Sig) -> (Sig, Sig)) 
MidiInstr ((Sig, Sig) -> (Sig, Sig, Sig)) 
MidiInstr ((Sig, Sig) -> (Sig, Sig, Sig, Sig)) 
MidiInstr ((Sig, Sig) -> Sig) 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig)) 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig, Sig)) 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((Sig, Sig) -> SE Sig) 
MidiInstr ((Sig, D) -> (Sig, Sig)) 
MidiInstr ((Sig, D) -> (Sig, Sig, Sig)) 
MidiInstr ((Sig, D) -> (Sig, Sig, Sig, Sig)) 
MidiInstr ((Sig, D) -> Sig) 
MidiInstr ((Sig, D) -> SE (Sig, Sig)) 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig)) 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((Sig, D) -> SE Sig) 
MidiInstr ((D, Sig) -> (Sig, Sig)) 
MidiInstr ((D, Sig) -> (Sig, Sig, Sig)) 
MidiInstr ((D, Sig) -> (Sig, Sig, Sig, Sig)) 
MidiInstr ((D, Sig) -> Sig) 
MidiInstr ((D, Sig) -> SE (Sig, Sig)) 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig)) 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((D, Sig) -> SE Sig) 
MidiInstr ((D, D) -> (Sig, Sig)) 
MidiInstr ((D, D) -> (Sig, Sig, Sig)) 
MidiInstr ((D, D) -> (Sig, Sig, Sig, Sig)) 
MidiInstr ((D, D) -> Sig) 
MidiInstr ((D, D) -> SE (Sig, Sig)) 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig)) 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((D, D) -> SE Sig) 
MidiInstr (Sig -> (Sig, Sig)) 
MidiInstr (Sig -> (Sig, Sig, Sig)) 
MidiInstr (Sig -> (Sig, Sig, Sig, Sig)) 
MidiInstr (Sig -> Sig) 
MidiInstr (Sig -> SE (Sig, Sig)) 
MidiInstr (Sig -> SE (Sig, Sig, Sig)) 
MidiInstr (Sig -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (Sig -> SE Sig) 
MidiInstr (D -> (Sig, Sig)) 
MidiInstr (D -> (Sig, Sig, Sig)) 
MidiInstr (D -> (Sig, Sig, Sig, Sig)) 
MidiInstr (D -> Sig) 
MidiInstr (D -> SE (Sig, Sig)) 
MidiInstr (D -> SE (Sig, Sig, Sig)) 
MidiInstr (D -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (D -> SE Sig) 
MidiInstr (Msg -> (Sig, Sig)) 
MidiInstr (Msg -> (Sig, Sig, Sig)) 
MidiInstr (Msg -> (Sig, Sig, Sig, Sig)) 
MidiInstr (Msg -> Sig) 
MidiInstr (Msg -> SE (Sig, Sig)) 
MidiInstr (Msg -> SE (Sig, Sig, Sig)) 
MidiInstr (Msg -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (Msg -> SE Sig)