RasPd1 ソフトウェア編その1
2017年04月26日 カテゴリー:Raspberry Pi
Pure DataやUSBオーディオを優先的に動かすため、下準備をしていきます(太字表記はコマンド)。
Raspberry Pi 3の基本設定はこちら
参考サイト(英語)→Raspberry Pi and realtime, low-latency audio
<CPU周波数スケーリング>
CPUのクロック周波数は基本600MHz動作の設定となっていますが、常に1200MHzで動作するよう設定変更します。
$ sudo apt-get install cpufrequtils(cpufrequtilsインストール)
$ sudo nano /etc/init.d/cpufrequtils
43行目あたり GOVERNOR="performance"
※オーバークロックは試していません。
<不要なプログラムを停止>
自動起動するサービスプログラムのうち、不要なものを停止します。
$ sudo apt-get install chkconfig(chkconfigインストール)
とりあえず以下を停止しましたが、現状不具合はありません。
$ sudo chkconfig motd off (ログイン時メッセージ)
$ sudo chkconfig ntp off (時刻合わせ)
$ sudo chkconfig plymouth off (起動画面)
$ sudo chkconfig dphys-swapfile off (swap)
$ sudo chkconfig triggerhappy off (キーボードショートカット)
$ sudo chkconfig avahi-daemon off (ローカルネットワーク関係?)
$ sudo chkconfig dbus off (プロセス間通信)
$ sudo chkconfig bluetooth off (Bluetooth)
再起動後、停止しているか確認します。
$ chkconfig -l
上記だけではBluetoothが停止しないらしく、削除してしまいます。
$ sudo apt-get purge pi-bluetooth
$ sudo apt-get autoremove
さらに念のため追加で停止設定をしておきます。
$ sudo nano /boot/config.txt
最後に追加 dtoverlay=pi3-disable-bt-overlay
<USBオーディオ設定>
USBオーディオをデフォルトのサウンドデバイスとするように設定します。
$ sudo nano /etc/modprobe.d/alsa-base.conf (新しく作成、以下を記載)
options snd slots=snd_usb_audio,snd_bcm2835
options snd_usb_audio index=0
options snd_bcm2835 index=1
USB2.0では問題が起こる場合があるらしいので、USB1.1に変更します。また、イーサネットコントローラーのターボモードを停止することにより、USBが効率的に通信できるそうです。
$ sudo nano /boot/cmdline.txt
改行せずに追加 dwc_otg.speed=1 smsc95xx.turbo_mode=N
※参考サイトには載っていますが、イーサネットコントローラーを停止させる下記コマンドは失敗するようです。
$ echo -n “1-1.1:1.0” | sudo tee /sys/bus/usb/drivers/smsc95xx/unbind
再起動し、オーディオ認識を確認します。
$ aplay -l
<音量設定>
$ alsamixer (音量設定プログラムを起動)
F5で全表示、スペースキーかmキーで機能オン(OO)・オフ(MM)です。以下のコマンドで設定保存できます。
$ sudo alsactl store
Plugable USBオーディオ変換アダプタの場合は以下の設定で入出力がほぼ同じ音量となります。
[Speaker オン 100] [Mic オフ 0] [Mic CAPTURE 35] [Auto Gain Control オフ]
コマンドで上記と同じ設定にする場合は以下のようになります。
$ amixer controls (設定ID番号確認)
$ amixer cset numid=3 off ; amixer cset numid=4 0 ; amixer cset numid=7 on ; amixer cset numid=8 18 ; amixer cset numid=9 off ; amixer cset numid=5 on ; amixer cset numid=6 37
ハードウェア編へ ソフトウェア編その2へ プログラミング編へ