1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ラズパイにTidalCyclesをインストールして実行する

Last updated at Posted at 2023-03-05

用いたラズパイ・機材

Raspberry Pi4 Model B Starterキット(8GB RAM)
Amazonで購入できます。試してないですが、RAM4GBでも動くと思います。

ラズパイの初期設定

こちらの記事の通りにやりました

SuperColliderのインストール

こちらの記事を参考に、少しだけ変更させていただきました

# 日本語入力ソフトを導入
sudo apt-get update
sudo apt-get install fcitx-mozc

#ビルドに必要なライブラリをインストール
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install libjack-jackd2-dev libsndfile1-dev libasound2-dev libavahi-client-dev libreadline-dev libfftw3-dev libxt-dev libudev-dev libncurses5-dev cmake git qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5svg5-dev qjackctl

#SuperColliderのダウンロードとビルド
cd ~
git clone --recurse-submodules https://github.com/supercollider/supercollider.git
cd supercollider
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DSUPERNOVA=OFF -DSC_ED=OFF -DSC_EL=OFF -DSC_VIM=ON -DNATIVE=ON -DSC_USE_QTWEBENGINE:BOOL=OFF ..
cmake --build . --config Release --target all -- -j3
sudo cmake --build . --config Release --target install
sudo ldconfig

使用するサウンドカードの指定

aplay -l

上記を実行すると、次のような出力がされると思います。

**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: M4 [M4], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

今回はオーディオインターフェースM4を使いたいので、以下のjackドライバー設定で-dhw:2とします(この記事にもある通り、ラズパイに付属のイヤホンジャックはとても音質が悪いです)

#jackドライバー(SuperColliderのブートで自動起動)の起動時設定
echo /usr/bin/jackd -P75 -p16 -dalsa -dhw:2 -r44100 -p1024 -n3 > ~/.jackdrc
# -dhw:0を指定すると元からついているサウンドカードで、別のUSBオーディオインターフェース使うときは-dhw:{card番号}

SuperDirtのインストール

ラズパイを再起動

sudo reboot

再起動後、スタートメニューの「Sound & Video」からSuperColliderを起動して以下のコマンドを実行

Quarks.checkForUpdates({Quarks.install("SuperDirt", "v1.7.3"); thisProcess.recompile()})

sc3-pluginsのインストール

公式のREADMEを参照

cd ~
git clone --recursive https://github.com/supercollider/sc3-plugins.git
cd sc3-plugins
mkdir build && cd build
# for both scsynth and supernova plugins; set -DSUPERNOVA=OFF to build only scsynth plugins
cmake -DSC_PATH=../../supercollider -DCMAKE_BUILD_TYPE=Release -DSUPERNOVA=ON ..
sudo cmake --build . --config Release --target install

TidalCyclesのインストール

sudo apt-get install haskell-platform
cabal update
cabal install tidal-1.7.10 --lib

vim-tidalのインストール

# vimとtmuxのインストール
sudo apt-get install tmux vim
# vim-plugのインストール
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

~/.vimrcに下記を記載

call plug#begin()
Plug 'tidalcycles/vim-tidal'
call plug#end()

再度vimを開いてvimコマンド:PlugInstallを実行

その後

# creates symlinks on /usr/local/bin for tidal and tidalvim scripts
cd ~/.vim/plugged/vim-tidal
sudo make install
cd

動作確認

vim example.tidal

としてvimで開き、適当にコードを書いて実行します

setcps (80/60/4)

d1 $ s "bd*2" # gain 0.9

vim-tidalにおいては、「Ctrl+E」で実行できます。vimのノーマルモードで:TidalHushすればhushになります。
その他のコマンドはREADMEをみてください。

音が鳴らない場合は、再度aplay -lを実行してみてオーディオインターフェースが接続されているか確認してみたり、SuperColliderのモニタ(Command+Mで立ち上がります)でそもそもServerが立ち上がっているのか確認してみたりしてください。

参考にさせていただいた記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?