{"id":20917004,"url":"https://github.com/tidalcycles/tidal-vis","last_synced_at":"2025-05-13T11:30:45.919Z","repository":{"id":103799259,"uuid":"104603337","full_name":"tidalcycles/tidal-vis","owner":"tidalcycles","description":"Tidal is a domain specific language for live coding pattern. This package allows colour patterns to be rendered as PDF or SVG files.","archived":false,"fork":false,"pushed_at":"2023-05-11T11:59:05.000Z","size":113,"stargazers_count":67,"open_issues_count":2,"forks_count":9,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-08T08:26:27.636Z","etag":null,"topics":["live-coding","music","tidalcycles","visualisation"],"latest_commit_sha":null,"homepage":"http://tidalcycles.org","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tidalcycles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-09-23T22:35:23.000Z","updated_at":"2025-04-28T07:34:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f5da46d-7d51-4df3-80e3-e23d3f4ddfa8","html_url":"https://github.com/tidalcycles/tidal-vis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidalcycles%2Ftidal-vis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidalcycles%2Ftidal-vis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidalcycles%2Ftidal-vis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidalcycles%2Ftidal-vis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tidalcycles","download_url":"https://codeload.github.com/tidalcycles/tidal-vis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253795262,"owners_count":21965509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["live-coding","music","tidalcycles","visualisation"],"created_at":"2024-11-18T16:29:25.044Z","updated_at":"2025-05-13T11:30:45.870Z","avatar_url":"https://github.com/tidalcycles.png","language":"Haskell","readme":"# tidal-vis\n\nTidal is a domain specific language for live coding pattern. This package allows several things:\n\n1. OSC messages sent to SC to be dynamicly rendered in realtime with at separate window.\n[Demo of realtime visualisation.](https://youtu.be/bZS6WufE8FY)\n2. Colour patterns to be rendered as PDF or SVG files. See _Examples.hs_ module for more help.\n3. Colour patterns to be rendered to be rendered dynamicly in separate window. See _CycleAnimation.hs_ for more. [Demo.](https://youtu.be/cCmCSSb4vHs)\n\n## (1) Realtime animation during livecoding\n\n1. Add following lines to _BootTidal.hs_\n\n        -- OSCTarget for pattern visualizing.\n        patternTarget = OSCTarget { oName = \"Pattern handler\", oAddress = \"127.0.0.1\", oPort = 5050, oPath = \"/trigger/something\", oShape = Nothing, oLatency = 0.02, oPreamble = [], oTimestamp = BundleStamp }\n\n        -- OSCTarget for play music via SuperCollider.\n        musicTarget = superdirtTarget { oLatency = 0.1, oAddress = \"127.0.0.1\", oPort = 57120 }\n\n        config = defaultConfig {cFrameTimespan = 1/20}\n\n        -- Send pattern as osc both to SC and to tidal-vis\n        tidal \u003c- startMulti [musicTarget, patternTarget] config\n\n        -- Send pattern as osc to SC only\n        -- tidal \u003c- startTidal musicTarget config\n\n2. Comment `tidal \u003c- startTidal...` and uncomment `tidal \u003c- startMulti...`\n\n3. Build _tidal-vis_ and run\n\n        cd /tidal-vis\n        stack build\n        stack exec tidal-vis\n\n4. Eval your tidal code.\n5. Profit.\n\n## (2) Render SVG or PDF\n\nFor exanple, when pattern is\n\n    density 16 $ every 2 rev $ every 3 (superimpose (iter 4)) $ rev \"[black blue darkblue, grey lightblue]\"\n\nOutput image is\n\n![0](https://i.imgur.com/MPbpH0n.jpg)\n\n## (3) Animate one pattern\n\nTo animate pattern (not good performance):\n\n    cd ./tidal-vis/\n    stack repl ./src/CycleAnimation.hs\n    :set -XOverloadedStrings\n    ah \u003c- run\n    swapMVar ah $ degradeBy 0.3 $ every 3 (fast 3) $  Params.s \"[red, white, [purple orange green]]\"\n\nLook at _CycleAnimation.hs_ for more information. Look at `looping` function to change animation form.\n\n## Tutorial\n\n[`tidal-vis` installation tutorial](https://www.kindohm.com/posts/2016/2016-09-02-tidal-vis/) by [Kindohm](http://github.com/kindohm)\n\n## Hackage\n\nhttps://hackage.haskell.org/package/tidal-vis\n\n## Misc\n\nFor more information: [tidalcycles](http://tidalcycles.org)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftidalcycles%2Ftidal-vis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftidalcycles%2Ftidal-vis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftidalcycles%2Ftidal-vis/lists"}