The vivid package

[Tags:gpl, library]

Music and sound synthesis with SuperCollider.

Example usage:

{-# LANGUAGE DataKinds #-}
 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 (>3 && <5), 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
Stability experimental
Category Audio, Music, Sound
Home page http://vivid-synth.com
Uploaded Thu Apr 14 00:15:05 UTC 2016 by TomMurphy
Distributions NixOS:0.2.0.5
Downloads 810 total (21 in the last 30 days)
Votes
1 []
Status Docs available [build log]
Last success reported on 2016-04-14 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees