Safe Haskell | None |
---|---|
Language | Haskell2010 |
Oscillators with hard and soft sync
Synopsis
- data SyncSmooth
- sawSync :: Sig -> Sig -> Sig
- isawSync :: Sig -> Sig -> Sig
- pulseSync :: Sig -> Sig -> Sig
- sqrSync :: Sig -> Sig -> Sig
- triSync :: Sig -> Sig -> Sig
- bloscSync :: Tab -> Sig -> Sig -> Sig
- sawSync' :: D -> Sig -> Sig -> Sig
- isawSync' :: D -> Sig -> Sig -> Sig
- pulseSync' :: D -> Sig -> Sig -> Sig
- sqrSync' :: D -> Sig -> Sig -> Sig
- triSync' :: D -> Sig -> Sig -> Sig
- bloscSync' :: Tab -> D -> Sig -> Sig -> Sig
- rndSawSync :: Sig -> Sig -> SE Sig
- rndIsawSync :: Sig -> Sig -> SE Sig
- rndPulseSync :: Sig -> Sig -> SE Sig
- rndSqrSync :: Sig -> Sig -> SE Sig
- rndTriSync :: Sig -> Sig -> SE Sig
- rndBloscSync :: Tab -> Sig -> Sig -> SE Sig
- sawSyncAbs :: Sig -> Sig -> Sig
- isawSyncAbs :: Sig -> Sig -> Sig
- pulseSyncAbs :: Sig -> Sig -> Sig
- sqrSyncAbs :: Sig -> Sig -> Sig
- triSyncAbs :: Sig -> Sig -> Sig
- bloscSyncAbs :: Tab -> Sig -> Sig -> Sig
- sawSyncAbs' :: D -> Sig -> Sig -> Sig
- isawSyncAbs' :: D -> Sig -> Sig -> Sig
- pulseSyncAbs' :: D -> Sig -> Sig -> Sig
- sqrSyncAbs' :: D -> Sig -> Sig -> Sig
- triSyncAbs' :: D -> Sig -> Sig -> Sig
- bloscSyncAbs' :: Tab -> D -> Sig -> Sig -> Sig
- sawSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- isawSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- pulseSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- sqrSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- triSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- bloscSyncBy :: SyncSmooth -> Tab -> Sig -> Sig -> Sig
- sawSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- isawSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- pulseSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- sqrSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- triSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- bloscSyncBy' :: SyncSmooth -> Tab -> D -> Sig -> Sig -> Sig
- sawSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- isawSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- pulseSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- sqrSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- triSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- bloscSyncAbsBy :: SyncSmooth -> Tab -> Sig -> Sig -> Sig
- sawSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- isawSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- pulseSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- sqrSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- triSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig
- bloscSyncAbsBy' :: SyncSmooth -> Tab -> D -> Sig -> Sig -> Sig
- rawTriSync :: Sig -> Sig -> Sig
- rawSqrSync :: Sig -> Sig -> Sig
- rawSawSync :: Sig -> Sig -> Sig
- rawPwSync :: Double -> Sig -> Sig -> Sig
- rawTriSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- rawSqrSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- rawSawSyncBy :: SyncSmooth -> Sig -> Sig -> Sig
- rawPwSyncBy :: Double -> SyncSmooth -> Sig -> Sig -> Sig
- rawTriSyncAbs :: Sig -> Sig -> Sig
- rawSqrSyncAbs :: Sig -> Sig -> Sig
- rawSawSyncAbs :: Sig -> Sig -> Sig
- rawPwSyncAbs :: Double -> Sig -> Sig -> Sig
- rawTriSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- rawSqrSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- rawSawSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig
- rawPwSyncAbsBy :: Double -> SyncSmooth -> Sig -> Sig -> Sig
- softSync :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a
- rawSoftSync :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a
- softSyncBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a
- rawSoftSyncBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a
- softSyncAbs :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a
- rawSoftSyncAbs :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a
- softSyncAbsBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a
- rawSoftSyncAbsBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a
Hard sync
data SyncSmooth #
Type of smooth shape to make smooth transitions on retrigger. Available types are:
- No smooth:
RawSync
- Ramp smooth:
SawSync
- Triangular smooth:
TriSync
- User defined shape:
UserSync
Instances
Default SyncSmooth | |
Defined in Csound.Typed.Control.Vco def :: SyncSmooth # |
sawSync :: Sig -> Sig -> Sig #
Sawtooth oscillator with hard-sync. The first argument is a ration between slave and master oscillators.
sawSync ratio cps
isawSync :: Sig -> Sig -> Sig #
Integrated sawtooth oscillator with hard-sync. The first argument is a ration between slave and master oscillators.
isawSync ratio cps
pulseSync :: Sig -> Sig -> Sig #
Pulse oscillator with hard-sync. The first argument is a ration between slave and master oscillators.
pulseSync ratio cps
sqrSync :: Sig -> Sig -> Sig #
Square oscillator with hard-sync. The first argument is a ration between slave and master oscillators.
sqrSync ratio cps
triSync :: Sig -> Sig -> Sig #
Triangle oscillator with hard-sync. The first argument is a ration between slave and master oscillators.
triSync ratio cps
bloscSync :: Tab -> Sig -> Sig -> Sig #
Band-limited oscillator with hard-sync. The first argument is a ration between slave and master oscillators.
bloscSync tab ratio cps
sawSync' :: D -> Sig -> Sig -> Sig #
Sawtooth oscillator with hard-sync with phase. The second argument is a ration between slave and master oscillators.
sawSync' phase ratio cps
isawSync' :: D -> Sig -> Sig -> Sig #
Integrated sawtooth oscillator with hard-sync with phase. The second argument is a ration between slave and master oscillators.
isawSync' phase ratio cps
pulseSync' :: D -> Sig -> Sig -> Sig #
Pulse oscillator with hard-sync with phase. The second argument is a ration between slave and master oscillators.
pulseSync' phase ratio cps
sqrSync' :: D -> Sig -> Sig -> Sig #
Square oscillator with hard-sync with phase. The second argument is a ration between slave and master oscillators.
sqrSync' phase ratio cps
triSync' :: D -> Sig -> Sig -> Sig #
Triangle oscillator with hard-sync with phase. The second argument is a ration between slave and master oscillators.
triSync' phase ratio cps
bloscSync' :: Tab -> D -> Sig -> Sig -> Sig #
Band-limited oscillator with hard-sync with phase. The second argument is a ration between slave and master oscillators.
bloscSync' phase tab ratio cps
With random phase
rndIsawSync :: Sig -> Sig -> SE Sig Source #
Hard sync with integral saw waveform and randomized phase.
rndBloscSync :: Tab -> Sig -> Sig -> SE Sig Source #
Hard sync with band-limited table waveform waveform and randomized phase.
With absolute slave frequencies
sawSyncAbs :: Sig -> Sig -> Sig #
Sawtooth oscillator with hard-sync.
The freq
argument is an absolute frequency of a slave oscillator.
sawSyncAbs freq slaveCps masterCps
isawSyncAbs :: Sig -> Sig -> Sig #
Integrated sawtooth oscillator with hard-sync.
The freq
argument is an absolute frequency of a slave oscillator.
isawSyncAbs freq slaveCps masterCps
pulseSyncAbs :: Sig -> Sig -> Sig #
Pulse oscillator with hard-sync.
The freq
argument is an absolute frequency of a slave oscillator.
pulseSyncAbs freq slaveCps masterCps
sqrSyncAbs :: Sig -> Sig -> Sig #
Square oscillator with hard-sync.
The freq
argument is an absolute frequency of a slave oscillator.
sqrSyncAbs freq slaveCps masterCps
triSyncAbs :: Sig -> Sig -> Sig #
Triangle oscillator with hard-sync.
The freq
argument is an absolute frequency of a slave oscillator.
triSyncAbs freq slaveCps masterCps
bloscSyncAbs :: Tab -> Sig -> Sig -> Sig #
Bandlimited table oscillator with hard-sync.
The freq
argument is an absolute frequency of a slave oscillator.
bloscSyncAbs tab freq slaveCps masterCps
sawSyncAbs' :: D -> Sig -> Sig -> Sig #
Sawtooth oscillator with hard-sync with phase.
The freq
argument is an absolute frequency of a slave oscillator.
sawSyncAbs' phase freq slaveCps masterCps
isawSyncAbs' :: D -> Sig -> Sig -> Sig #
Integrated sawtooth oscillator with hard-sync with phase.
The freq
argument is an absolute frequency of a slave oscillator.
isawSyncAbs' phase freq slaveCps masterCps
pulseSyncAbs' :: D -> Sig -> Sig -> Sig #
Pulse oscillator with hard-sync with phase.
The freq
argument is an absolute frequency of a slave oscillator.
pulseSyncAbs' phase freq slaveCps masterCps
sqrSyncAbs' :: D -> Sig -> Sig -> Sig #
Square oscillator with hard-sync with phase.
The freq
argument is an absolute frequency of a slave oscillator.
sqrSyncAbs' phase freq slaveCps masterCps
triSyncAbs' :: D -> Sig -> Sig -> Sig #
Triangle oscillator with hard-sync with phase.
The freq
argument is an absolute frequency of a slave oscillator.
triSyncAbs' phase freq slaveCps masterCps
bloscSyncAbs' :: Tab -> D -> Sig -> Sig -> Sig #
Bandlimited table oscillator with hard-sync with phase.
The freq
argument is an absolute frequency of a slave oscillator.
bloscSyncAbs' phase tab freq slaveCps masterCps
With absolute custom smooth mode
sawSyncBy :: SyncSmooth -> Sig -> Sig -> Sig #
Sawtooth oscillator with hard-sync. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
sawSyncBy spec ratio cps
isawSyncBy :: SyncSmooth -> Sig -> Sig -> Sig #
Integrated sawtooth oscillator with hard-sync. We can specify the smoothness type. The first argument is a ration between slave and master oscillators.
isawSyncB specy ratio cps
pulseSyncBy :: SyncSmooth -> Sig -> Sig -> Sig #
Pulse oscillator with hard-sync. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
pulseSyncBy spec ratio cps
sqrSyncBy :: SyncSmooth -> Sig -> Sig -> Sig #
Square oscillator with hard-sync. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
sawSyncBy spec ratio cps
triSyncBy :: SyncSmooth -> Sig -> Sig -> Sig #
Triangle oscillator with hard-sync. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
triSyncBy spec ratio cps
bloscSyncBy :: SyncSmooth -> Tab -> Sig -> Sig -> Sig #
Bandlimited table oscillator with hard-sync. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
bloscSyncBy spec tab ratio cps
sawSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Sawtooth oscillator with hard-sync with phase. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
sawSyncBy' spec phase ratio cps
isawSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Integrated sawtooth oscillator with hard-sync with phase. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
isawSyncBy' spec phase ratio cps
pulseSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Pulse oscillator with hard-sync with phase. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
pulseSyncBy' spec phase ratio cps
sqrSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Square oscillator with hard-sync with phase. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
sawSyncBy' spec phase ratio cps
triSyncBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Triangle oscillator with hard-sync with phase. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
triSyncBy' spec phase ratio cps
bloscSyncBy' :: SyncSmooth -> Tab -> D -> Sig -> Sig -> Sig #
Bandlimited table oscillator with hard-sync with phase. We can specify the smoothness type.
The ratio
argument is a ration between slave and master oscillators.
bloscSyncBy' spec phase tab ratio cps
sawSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig #
A hard sync for sawtooth with absolute slave frequency.
sawSyncAbs syncType salveCps masterCps
isawSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig #
A hard sync for integrated sawtooth: 4 * x * (1 - x) with absolute slave frequency.
isawSyncAbs syncType salveCps masterCps
pulseSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig #
A hard sync for pulse wave with absolute slave frequency.
pulseSyncAbs syncType salveCps masterCps
sqrSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig #
A hard sync for square wave with absolute slave frequency.
sqrSyncAbs syncType salveCps masterCps
triSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig #
A hard sync for triangle wave with absolute slave frequency.
triSyncAbs syncType salveCps masterCps
bloscSyncAbsBy :: SyncSmooth -> Tab -> Sig -> Sig -> Sig #
A hard sync for band-limited oscillator with user defined waveform (it's stored in the table) woth absolute frequency.
bloscSyncAbs syncType ftable salveCps masterCps
sawSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
A sawtooth.
isawSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Integrated sawtooth: 4 * x * (1 - x).
pulseSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
Pulse (not normalized).
sqrSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
A square wave.
triSyncAbsBy' :: SyncSmooth -> D -> Sig -> Sig -> Sig #
A triangle wave.
bloscSyncAbsBy' :: SyncSmooth -> Tab -> D -> Sig -> Sig -> Sig #
A band-limited oscillator with user defined waveform (it's stored in the table).
Raw (non-bandlimited) shapes
With relative slave frequency
rawTriSyncBy :: SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited triangle wave.
rawSqrSyncBy :: SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited square wave.
rawSawSyncBy :: SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited sawtooth wave.
rawPwSyncBy :: Double -> SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited pulse-width wave.
With absolute slave frequency
rawPwSyncAbs :: Double -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited pulse-width wave.
rawTriSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited triangle wave.
rawSqrSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited square wave.
rawSawSyncAbsBy :: SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited sawtooth wave.
rawPwSyncAbsBy :: Double -> SyncSmooth -> Sig -> Sig -> Sig Source #
Hard-sync with non-bandlimited pulse-width wave.
Soft sync
With relative slave frequency
softSync :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with ratio between master and slave frequencies.
softSync slaveWave ratio masterWave
rawSoftSync :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with raw square wave for switch). It's faster than softSync
The soft sync amount is controlled with ratio between master and slave frequencies.
rawSoftSync slaveWave ratio masterWave
softSyncBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with ratio between master and slave frequencies. With first argument we can specify the smoothness algorithm.
softSyncBy spec slaveWave ratio masterWave
rawSoftSyncBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with raw square wave for switch). It's faster than softSyncBy
The soft sync amount is controlled with ratio between master and slave frequencies.
With first argument we can specify the smoothness algorithm.
rawSoftSyncBy spec slaveWave ratio masterWave
With absolute slave frequency
softSyncAbs :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with absolute frequency of the slave oscillator.
softSyncAbs slaveWave ratio masterWave
rawSoftSyncAbs :: SigSpace a => (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with raw square wave for switch). It's faster than softSyncAbs
The soft sync amount is controlled with absolute frequency of the slave oscillator.
rawSoftSyncAbs slaveWave ratio masterWave
softSyncAbsBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with absolute frequency of the slave oscillator. With first argument we can specify the smoothness algorithm.
softSyncAbsBy spec slaveWave ratio masterWave
rawSoftSyncAbsBy :: SigSpace a => SyncSmooth -> (Sig -> a) -> Sig -> Sig -> a Source #
Soft sync with given waveform (with raw square wave for switch). It's faster than softSyncAbsBy
The soft sync amount is controlled with absolute frequency of the slave oscillator.
With first argument we can specify the smoothness algorithm.
rawSoftSyncBy spec slaveWave ratio masterWave