Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 10 2015 13:20

    tokiwoousaka on master

    remove simple test codes (compare)

  • Mar 10 2015 09:36

    tokiwoousaka on master

    fix Sequensable (compare)

  • Mar 10 2015 03:14

    tokiwoousaka on master

    refactor : Sequensable type cla… (compare)

  • Mar 09 2015 13:10

    tokiwoousaka on master

    Added Gitter badge Merge pull request #1 from gitt… (compare)

  • Mar 09 2015 13:10
    tokiwoousaka closed #1
  • Mar 09 2015 10:37

    tokiwoousaka on master

    add ScoreMonad (compare)

  • Mar 09 2015 05:00
    tokiwoousaka commented #3
  • Mar 08 2015 06:59
    tokiwoousaka opened #3
  • Mar 08 2015 06:56
    tokiwoousaka closed #2
  • Mar 07 2015 08:36

    tokiwoousaka on incomplete

    Making note controller (compare)

  • Mar 07 2015 08:35

    tokiwoousaka on incomplete

    (compare)

  • Mar 02 2015 11:36

    tokiwoousaka on master

    add .gitignore (compare)

  • Mar 02 2015 11:34

    tokiwoousaka on master

    add .gitignore (compare)

  • Mar 02 2015 05:28
    tokiwoousaka opened #2
  • Mar 02 2015 05:27

    tokiwoousaka on master

    start develop (compare)

Tokiwo Ousaka
@tokiwoousaka
右側のログで一回失敗したのバレバレである。
Tokiwo Ousaka
@tokiwoousaka
こんな感じにすれば違う数の引数を指定した関数を一つの演算子で合成できる https://gist.github.com/tokiwoousaka/13ace08ad2313b0ea6b5
この仕組みをベースに、ノートを合成してって旋律を記述できるととても良い。
Tokiwo Ousaka
@tokiwoousaka
コンパイルエラーメモ:
/home/tune/Documents/Programs/Haskell/ArareDSL/src/Sound/Arare/ArareDSL.hs:98:8:
    No instance for (NoteController n0) arising from a use of `c'
    The type variable `n0' is ambiguous
    Possible fix: add a type signature that fixes these type variable(s)
    Note: there is a potential instance available:
      instance NoteController SinOscillator
        -- Defined at /home/tune/Documents/Programs/Haskell/ArareDSL/src/Sound/Arare/ArareDSL.hs:94:10
    In the first argument of `(<>)', namely `c'
    In the expression: c <> d
    In an equation for `test': test = c <> d

/home/tune/Documents/Programs/Haskell/ArareDSL/src/Sound/Arare/ArareDSL.hs:98:10:
    No instance for (Sequensable
                       SinOscillator (Int -> Float -> ArareSequencer n1 ()))
      arising from a use of `<>'
    The type variable `n1' is ambiguous
    Possible fix: add a type signature that fixes these type variable(s)
    Note: there is a potential instance available:
      instance NoteController n =>
               Sequensable n (Int -> Float -> ArareSequencer n ())
        -- Defined at /home/tune/Documents/Programs/Haskell/ArareDSL/src/Sound/Arare/ArareDSL.hs:83:10
    Possible fix:
      add an instance declaration for
      (Sequensable SinOscillator (Int -> Float -> ArareSequencer n1 ()))
    In the expression: c <> d
    In an equation for `test': test = c <> d

/home/tune/Documents/Programs/Haskell/ArareDSL/src/Sound/Arare/ArareDSL.hs:98:13:
    No instance for (NoteController n1) arising from a use of `d'
    The type variable `n1' is ambiguous
    Possible fix: add a type signature that fixes these type variable(s)
    Note: there is a potential instance available:
      instance NoteController SinOscillator
        -- Defined at /home/tune/Documents/Programs/Haskell/ArareDSL/src/Sound/Arare/ArareDSL.hs:94:10
    In the second argument of `(<>)', namely `d'
    In the expression: c <> d
    In an equation for `test': test = c <> d
Tokiwo Ousaka
@tokiwoousaka
とりあえず上の問題をissueに上げといた
これだとエフェクターと連動させられない問題が残るんだよなぁ
Tokiwo Ousaka
@tokiwoousaka
尚、これだと一つのフレーズを複数のシンセで使いまわすのは難しいもよう・・・
例えば、ArareSyntheで作ったメロディをそのままVSTで使う、みたいな事が単純に出来ないので、ちょっと工夫が必要っぽい
Tokiwo Ousaka
@tokiwoousaka
いろいろやってみたけどダメぽ
Tokiwo Ousaka
@tokiwoousaka
あー、この最終形態に問題発生
Tokiwo Ousaka
@tokiwoousaka
結局独自の演算子は必要になるらしい、せっかくだから書きやすいのがいいなぁ・・・
ようは、(>>)演算子でモナドを合成する際にに Monad m => m a の a を () に固定する必要があったんだが、
この () が推論できなかったので、
infixl 9 .>
(.>) :: Monad m => m () -> m () -> m ()
(.>) = (>>)
こんなんを作って、(>>)演算子の代わりに使えば、型があうようになる。
みたいな感じ。
Tokiwo Ousaka
@tokiwoousaka
今Pushした変更でDSLの構文の基本的な部分は一端おkって感じかなぁ
RankNTypesいらない(´・ω・`)
Tokiwo Ousaka
@tokiwoousaka
色々整えて一緒に書いてたサンプルを削除
Tokiwo Ousaka
@tokiwoousaka
こんな感じで各シンセを実装していく https://gist.github.com/tokiwoousaka/9d196f154b5cd689f4b7
Tokiwo Ousaka
@tokiwoousaka
あー、とりあえずこうすればパラメーターの省略は実現できるんだけど、多相性の問題は演算子で出来るようにすれば簡単に解決するんだよね。結局どっちのほうが良いんだろう。