4チャンネル光学式ピックアップでウクレレの弦の音を拾いゲインを変更するだけのテストになります。
ハードウェア仕様
STEP.1OSのインストール
Lubuntuからmicro SDカードにRaspberryPi Zero用のRaspbian OSを書き込みました。
下のリンクの①の手順で行いました。
②と③へは、ADS1115のセットアップを終えた後にするので、今は忘れておきます。
STEP.2ADS1115ライブラリの導入
マニュアル通りにやったので、不備があるかもしれません。
/boot/config.txtにads1115のdtparam
書き込みが、まだです。追記、予定、
STEP.3WM8960ドライバのインストール
リンクの②と③の手順の通りに、行いました。
そのままでは認識がうまくいかなくて、起動時に[Failed]wm8960 soundcard serviceな状況でした。
I2C関係の問題だとは思うのですが。
対策は、オンボードのオーディオの優先順位を下げてやることで、解決したつもりでいます。
$ sudo mousepad /etc/modprobe.d/alsa-base.conf
問題はオンボードの「vc4-hdmi」が優先されて、しまうことです。alsa-base.confはディレクトリ内に見つけることが出来ませんでした。代わりにDKMSのファイルがあるのですが、中身は空でした。おそらく、ここにwm8960-soundcardの設定を加えるのだと思うのですが、書式もわかりません。
ラズパイは、ハードウェアが一式、決め打ちなので、設定する必要がないという意味で、alsa-base.confは、削除されていた(見当たらない)だけ、という、勝手な解釈で、新しく作成してしまいました。再起動すると、起動画面のエラーは無くなりました。
とりあえずの対処に、なります。
カーネルの理解が出来ていないことの、ツケでしょうか、リブートで、有効にならず、シャットダウンからの起動で、なんとかエラー消えたのです、理由は不明ですが。
追記(注意)##################
/boot/config.txtの中の52~53行目
#Enable audio (loads snd_bcm2835)
dtparam=audio=off
出力が、WM8960と被るせいか?
オンボードHDMI-audioは、「オフ」へ、
43行目、
dtparam=i2c=on
/etc/modprobe.d/alsa-base.conf
options vc4-hdmi index = -2
options wm8960-soundcard index = 1
##########################
マイクをPulseAudio接続。
お粗末ですが、起動時のスクリプト、になります。
STEP.4ALSAでゲイン調整
2023/08/25現在の、最終コードになります。ゲインコントロールのときに必要なゼロV、近辺の値を丸めてゼロにしているので、チャンネルの選択に失敗することが、ほぼ、なくなりました。
.profileの末尾に追加しておきます。
悲壮感、漂う、動画になりますが。
Pythonコードを更新しました。
https://ameblo.jp/math-physics/entry-12818095500.html
初歩的なことなのですが、USBのバスとポートについて、接続の順番に関わることを調べて、追記します。今回、使用したUSBハブは、ポートに書いてある印字の順番では、接続されませんでした。規則的に、同じパターンで、接続されるので、安心はしましたが。
追記20231226
ギター用のピックアップを試作してみました。
https://ameblo.jp/math-physics/entry-12834070365.html
本日も、Picsartに、お願い、