はじめまして。音楽系大学に通いながらプログラムを書いているものです。
Qiita初心者ですので、お手柔らかにお願いします。
#FoxDotとは?
FoxDotとは音楽制作用のライブコーディング環境です。
よく似たものでTidalCyclesというものがあって僕はもともとそっちを使ってました。
TidalCyclesのほうはHaskellで実装されたものであるのに対しFoxDotはpythonで実装されており、個人的にはpythonのほうがなじみが深いので、今回見つけてしまったのを機に乗り換えようかなと思ってます。
ただ問題点として、まだまだ情報が少ないです。ほぼ公式だけといっても過言ではないです。。。
FoxDotに関しては日本語の記事や日本人で使われているという方を未だ見たことがないです。
(TidalにしろFoxDotにしろニッチなツールなのでしょうがないですが...)
今回はWindows向けのインストール作業となりますが、Macでもほぼ変わらないと思います。(まだ試してないです。)
では早速インストールを進めましょう。
#必要なもの
FoxDotを使うために必要なものは、大きく三つで
・Python(2でも3でも大丈夫みたいです。)
・SuperCollider
・Git
です。
まず前提としてFoxDotはサウンドエンジンとしてSuperColliderを使っています。
SuperColliderは音響プログラミング言語?的なやつですが、TidalCyclesでも同じものが使われています。
それに対してPythonを使って命令を出すというのがFoxDotです。
#SuperColliderのインストール
SuperColliderの公式サイトからOSにあったexeファイルとsc3-pluginsをダウンロードします。
http://supercollider.github.io/download
ダウンロード出来たらexeファイルを実行してください。(つまるところは特にはないはず)
インストール出来たらsc3-pluginを解凍した中にあるsc3-pluginフォルダを
C:\Users"ユーザー名"\AppData\Local\SuperCollider\Extensionsに入れてください。
#Pythonのインストール
pythonのインストール方法はいろいろありますが、今回は一番楽にいろいろ入ってるAnacondaを使います。
これも公式サイトからOSにあったものをインストールしてください。
https://www.anaconda.com/download/
これもexeファイルを実行して指示に従うだけです。
#Gitのインストール
これまた例によって公式サイトからダウンロード、インストールします。
https://git-scm.com/downloads
途中チェック項目がありますが、基本的にデフォルトのままで大丈夫かと思います。
#FoxDotのインストール
ではいよいよFoxDotのインストールです。
まずコマンドプロンプトかPowerShellを立ち上げて
pip install FoxDot
と打ち込みます。
Anacondaを管理者権限でインストールした場合は、コンソールも管理者権限のものを使う必要があります。
次にSuperColliderを立ち上げて、
Quarks.install("FoxDot")
と打ち込みます。
これでエラーが出た場合は
Quarks.install("https://github.com/Qirky/FoxDotQuark.git")
Quarks.install("https://github.com/supercollider-quarks/BatLib.git")
と打ち込み直接ダウンロードし、インストールします。
インストール出来たら、SuperColliderを再起動しておきましょう。
これで準備は完了です。
#テスト実行
まずSuperCollider側で
FoxDot.start
と打ち込みCTRLキーとEnterキーを同時に押します。
次にコンソールに移って
python -m FoxDot
と打ち込みます。
これでFoxDotの画面が立ち上がれば成功です。
ついでにFoxDotのメニューバーのcodeから"Use SC3 Plugins"をチェックしFoxDotを再起動しておきましょう。
FoxDotの画面に
p1 >> pluck()
と打ち込んで音が鳴ったらもう遊び放題です。
#まとめ
FoxDotは僕個人としてはあまりに便利なツールで、日本語記事が本当に少ないのでほぼただの和訳みたいなものですが投稿してみました。
公式のチュートリアルはとても分かりやすく、YouTubeには動画も上がっているのでぜひみてみてください。
個人的にはTidalよりもSuperColliderを使うことをより意識して作られているように感じています。
またpythonで実装されているためその他のpythonライブラリとの連携もとりやすく、かなり可能性を感じています。
今はTidal一強みたいな空気が漂ってますが(勝手にそう思ってるだけです)、今後FoxDotはもっともっと盛り上がるのではないかと思っています。(下手したらTidalを食うのではないかとさえ感じています。)
ぜひ遊んでみてください。