Founder: Stanley Sakai
Graphics:
| """ | |
| Train a neural network to implement the discrete Fourier transform | |
| """ | |
| import matplotlib.pyplot as plt | |
| import numpy as np | |
| from tensorflow.keras.layers import Dense | |
| from tensorflow.keras.models import Sequential | |
| N = 32 | |
| batch = 10000 |
| module TidalProc where | |
| import Sound.Tidal.Stream | |
| import Sound.Tidal.Pattern | |
| import Sound.Tidal.Parse | |
| import Sound.Tidal.OscStream | |
| port = 5000 | |
| procShape = Shape { |
| import oscP5.*; | |
| import netP5.*; | |
| OscP5 oscP5; | |
| NetAddress myRemoteLocation; | |
| float x; | |
| float y; | |
| float z; | |
| float opacity; |
| -- Shirt (#softfab) | |
| Claim (you) has state "waist" with initial value (30). | |
| Claim (you) has state "arm" with initial value (5). | |
| Claim (you) has state "armaround" with initial value (10). | |
| Claim (you) has state "side" with initial value (20). | |
| Claim (you) has state "neck" with initial value (15). | |
| When (you) contains dots /dots/, | |
| (you) has width /width/: |
| /*{ "osc": 4000 }*/ | |
| precision mediump float; | |
| uniform float time; | |
| uniform vec2 resolution; | |
| uniform sampler2D backbuffer; | |
| uniform sampler2D osc_tidal; | |
| vec2 rotate(in vec2 p, in float t) { | |
| return mat2(cos(t), -sin(t), sin(t), cos(t)) * p; | |
| } | |
| float random(in vec2 st) { |
| #!/usr/bin/perl -w | |
| # -------------------------------------------- | |
| # install-tidal.pl | |
| # created by Ben Gold at 09:35 Sat Oct 28 2017 | |
| # -------------------------------------------- | |
| use strict; | |
| my($url,$exists); | |
| my(%pageURL) = ( |
Founder: Stanley Sakai
Graphics:
This is a proposed API for using the Tidal pattern language (https://tidalcycles.org/patterns.html) in Gibber.
The basic idea is extend Gibber to support calls to .tidal() in addition to its current .seq() method. This
would enable any audiovisual property or method to be controlled using Tidal patterns.
// create a synth and sequence it
// using indices into a global scale
a = Synth()| module Main where | |
| import Control.Monad.Eff (Eff) | |
| import Data.Maybe (fromJust) | |
| import Data.Tuple (Tuple(..)) | |
| import Graphics.Canvas (CANVAS, Context2D, closePath, getCanvasElementById, | |
| getContext2D, lineTo, moveTo, setLineWidth, strokePath) | |
| import Math (cos, pi, sin) | |
| import Partial.Unsafe (unsafePartial) | |
| import Prelude (Unit, bind, discard, negate, void, ($), (*), (+), (-), (/), (<=)) |
| // XMP parsing requires: | |
| // Quarks.install("XML"); [in supercollider] | |
| // brew install exiftool [in terminal] | |
| +SoundFile { | |
| exiftoolPath { | |
| ^"/usr/local/bin/exiftool" | |
| } | |
| extractMarkers { |