Skip to content

Tidal is a domain specific language for live coding pattern. This package allows colour patterns to be rendered as PDF or SVG files.

License

Notifications You must be signed in to change notification settings

tidalcycles/tidal-vis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tidal-vis

Tidal is a domain specific language for live coding pattern. This package allows several things:

  1. OSC messages sent to SC to be dynamicly rendered in realtime with at separate window. Demo of realtime visualisation.
  2. Colour patterns to be rendered as PDF or SVG files. See Examples.hs module for more help.
  3. Colour patterns to be rendered to be rendered dynamicly in separate window. See CycleAnimation.hs for more. Demo.

(1) Realtime animation during livecoding

  1. Add following lines to BootTidal.hs

     -- OSCTarget for pattern visualizing.
     patternTarget = OSCTarget { oName = "Pattern handler", oAddress = "127.0.0.1", oPort = 5050, oPath = "/trigger/something", oShape = Nothing, oLatency = 0.02, oPreamble = [], oTimestamp = BundleStamp }
    
     -- OSCTarget for play music via SuperCollider.
     musicTarget = superdirtTarget { oLatency = 0.1, oAddress = "127.0.0.1", oPort = 57120 }
    
     config = defaultConfig {cFrameTimespan = 1/20}
    
     -- Send pattern as osc both to SC and to tidal-vis
     tidal <- startMulti [musicTarget, patternTarget] config
    
     -- Send pattern as osc to SC only
     -- tidal <- startTidal musicTarget config
    
  2. Comment tidal <- startTidal... and uncomment tidal <- startMulti...

  3. Build tidal-vis and run

     cd /tidal-vis
     stack build
     stack exec tidal-vis
    
  4. Eval your tidal code.

  5. Profit.

(2) Render SVG or PDF

For exanple, when pattern is

density 16 $ every 2 rev $ every 3 (superimpose (iter 4)) $ rev "[black blue darkblue, grey lightblue]"

Output image is

0

(3) Animate one pattern

To animate pattern (not good performance):

cd ./tidal-vis/
stack repl ./src/CycleAnimation.hs
:set -XOverloadedStrings
ah <- run
swapMVar ah $ degradeBy 0.3 $ every 3 (fast 3) $  Params.s "[red, white, [purple orange green]]"

Look at CycleAnimation.hs for more information. Look at looping function to change animation form.

Tutorial

tidal-vis installation tutorial by Kindohm

Hackage

https://hackage.haskell.org/package/tidal-vis

Misc

For more information: tidalcycles

About

Tidal is a domain specific language for live coding pattern. This package allows colour patterns to be rendered as PDF or SVG files.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published