IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

tidalをreplから使う

1: SuperColliderを起動する。

2: SuperDirtを起動する。

SuperDirt.start;

3: ghciを起動、ライブラリの取り込み

$ cabal repl
GHCi, version 8.0.1: http://www.haskell.org/ghc/  :? for help
Prelude> import Sound.Tidal.Context  -- インポート

4: repl上でコーディングする

Prelude Sound.Tidal.Context> :t bpsUtils  -- 時間を取得する
bpsUtils :: IO (Double -> IO (), IO Rational)
Prelude Sound.Tidal.Context> let s = bpsUtils


Prelude Sound.Tidal.Context> :t superDirtSetters  -- パターン関数を取得する
superDirtSetters
  :: IO Time
     -> IO
          (ParamPattern -> IO (),
           (Time -> [ParamPattern] -> ParamPattern) -> ParamPattern -> IO ())
Prelude Sound.Tidal.Context> let dd = s >>= \x -> superDirtSetters (snd x)

Prelude Sound.Tidal.Context> :t sound
sound :: Pattern String -> ParamPattern
Prelude Sound.Tidal.Context> :t atom
atom :: a -> Pattern a
Prelude Sound.Tidal.Context> :t sound . atom -- 文字列からパターンを作成する
sound . atom :: String -> ParamPattern

Prelude Sound.Tidal.Context> dd >>= \x -> fst x (sound (atom "bd")) -- バスドラが鳴る