The vivid package

[Tags:gpl, library]

Music and sound synthesis with SuperCollider.

Example usage:

@ &#123;&#45;\# LANGUAGE DataKinds \#&#45;&#125; @ > import Vivid > > theSound = sd (0 ::I "note") $ do > wobble <- sinOsc (freq_ 5) ? KR ~* 10 ~+ 10 > s <- 0.1 ~* sinOsc (freq_ $ midiCPS (V::V "note") ~+ wobble) > out 0 [s,s] > > playSong = do > fork $ do > s0 <- synth theSound (36 ::I "note") > wait 1 > free s0 > s1 <- synth theSound (60 ::I "note") > forM_ [62,66,64] $ \note -> do > wait (1/4) > set s1 (note ::I "note") > wait (1/4) > free s1 > > main = do > putStrLn "Simplest:" > playSong > > putStrLn "With precise timing:" > doScheduledIn 0.1 playSong > wait 1 > > putStrLn "Written to a file, non-realtime synthesis:" > putStrLn "(Need to quit the running server for NRT)" > quitSCServer > writeNRT "/tmp/song.wav" playSong

Properties

Versions 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5
Dependencies base (>1 && <1), binary (>0.5.0.2 && <0.9), bytestring (>0.9.1.8 && <0.11), containers (>0.4.0.0 && <0.6), filepath (>=1.0 && <1.5), hashable (>=1.2.0.6 && <1.3), MonadRandom (>=0.1 && <0.5), mtl (>=2.0.0.0 && <2.3), network (>=2.3 && <2.7), process (>=1.0.1.4 && <1.5), random (>=1.0.0.3 && <=1.0.1.1 || ==1.1.*), random-shuffle (>=0.0.3 && <0.1), split (>=0.2.0.0 && <0.3), stm (>=2.2.0.1 && <2.5), time (>=1.2 && <1.7), transformers (>=0.2.0.0 && <0.6) [details]
License GPL
Author Tom Murphy
Maintainer Tom Murphy
Category Audio, Music, Sound
Uploaded Sat Mar 19 16:37:21 UTC 2016 by TomMurphy
Updated Fri Dec 30 09:15:48 UTC 2016 by HerbertValerioRiedel to revision 1
Distributions NixOS:0.2.0.5
Downloads 964 total (85 in the last 30 days)
Votes
1 []
Status Docs not available [build log]
All reported builds failed as of 2016-11-27 [all 3 reports]
Hackage Matrix CI

Modules

  • Vivid
    • Vivid.Actions
      • Vivid.Actions.Class
      • Vivid.Actions.IO
      • Vivid.Actions.NRT
      • Vivid.Actions.Scheduled
    • Vivid.ByteBeat
    • Vivid.Envelopes
    • Vivid.NoPlugins
    • Vivid.OSC
    • Vivid.Randomness
    • Vivid.SCServer
      • Vivid.SCServer.Connection
      • Vivid.SCServer.State
      • Vivid.SCServer.Types
    • Vivid.SynthDef
      • Vivid.SynthDef.FromUA
      • Vivid.SynthDef.Literally
      • Vivid.SynthDef.ToSig
      • Vivid.SynthDef.Types
      • Vivid.SynthDef.TypesafeArgs
    • Vivid.UGens
      • Vivid.UGens.Algebraic
      • Vivid.UGens.Analysis
      • Vivid.UGens.Args
      • Vivid.UGens.Buffer
      • Vivid.UGens.Conversion
      • Vivid.UGens.Convolution
      • Vivid.UGens.Delays
      • Vivid.UGens.Demand
      • Vivid.UGens.Dynamics
      • Vivid.UGens.Envelopes
      • Vivid.UGens.Examples
      • Vivid.UGens.FFT
      • Vivid.UGens.Filters
        • Vivid.UGens.Filters.BEQSuite
        • Vivid.UGens.Filters.Linear
        • Vivid.UGens.Filters.Nonlinear
        • Vivid.UGens.Filters.Pitch
      • Generators
        • Vivid.UGens.Generators.Chaotic
        • Vivid.UGens.Generators.Deterministic
        • Vivid.UGens.Generators.Granular
        • Vivid.UGens.Generators.SingleValue
        • Vivid.UGens.Generators.Stochastic
      • Vivid.UGens.InOut
      • Vivid.UGens.Info
      • Vivid.UGens.Maths
      • Vivid.UGens.Multichannel
      • Vivid.UGens.Random
      • Vivid.UGens.Reverbs
      • Vivid.UGens.SynthControl
      • Vivid.UGens.Triggers
      • Vivid.UGens.Undocumented
      • Vivid.UGens.UserInteraction

Downloads

Maintainer's Corner

For package maintainers and hackage trustees