Go to file
loooph 487b421eb2 fix dependencies 2023-02-28 19:05:08 +01:00
app Add realtime animation 2019-05-10 00:15:26 +05:00
examples Add realtime animation 2019-05-10 00:15:26 +05:00
src compat with latest tidal 2020-01-31 11:20:10 +00:00
.gitignore Initial commit 2017-09-23 23:35:24 +01:00
LICENSE moved from tidal repo 2017-09-23 23:38:59 +01:00
README.md update readme link 2021-07-05 08:50:43 -05:00
futura.ttf Upgrade to tidal-1.0.7 version. 2019-02-26 18:59:25 +05:00
stack.yaml fix dependencies 2023-02-28 19:05:08 +01:00
tidal-vis.cabal fix dependencies 2023-02-28 19:05:08 +01:00

README.md

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