この記事は経過報告です。 問題はまだ解決していません。

環境

  • OS: Raspbian
  • uname -a: Linux raspberrypi 3.18.12-v7+ #782 SMP PREEMPT Tue Apr 28 19:54:13 BST 2015 armv7l GNU/Linux

amixerで音量を下げれば下げるほど、 ヘッドホン出力の音が歪むという現象に遭遇した。 この問題は厄介で、 amixer set PCM 100%と設定すると歪まない。 そして、歪みというのはブツブツという クリップしたノイズではないのが更に厄介。

ヘッドホン出力の音を録音したので、 それを聴いて頂くのが手っ取り早いと思う。 (使用したサンプルは、freesound.org からダウンロードできる。

  • PCM_100.mp3amixer set PCM 100%; aplay sample.wav
  • PCM_80.mp3amixer set PCM 80%; aplay sample.wav
  • PCM_70.mp3amixer set PCM 70%; aplay sample.wav
  • PCM_60.mp3amixer set PCM 60%; aplay sample.wav

音量60%ではアコースティックギターの音が、 エレキギターのような音になってしまった。 元々Raspberry Piのオーディオは貧弱で、 この歪みは仕様の範囲なのかもしれない。 しかし、音量100%は歪みのない音が録音できるので、 やっぱりおかしい気がする。

ファームウェアの問題でデコードに不備がある、 Raspberry Pi • View topic - Crackly audio through 3.5mm jack というフォーラムの書き込みを見つけたものの、 3年前の記事だったのでRaspberry Pi 2は関係なかった。

困った。

Update 2015-05-14

Raspberry PiではBCM2835/2836というSoCが搭載されていましたが、 Raspberry Pi 2 Model BはBCM2709というSoCへ変更されました。

pi@raspberrypi ~ $ cat /proc/cpuinfo | grep Hardware
Hardware	: BCM2709

そして最初から読み込まれているモジュールの名前はbcm2835。

pi@raspberrypi ~ $ lsmod
Module                  Size  Used by
snd_bcm2835            18365  0
snd_pcm                73475  1 snd_bcm2835
snd_seq                53078  0
snd_seq_device          5628  1 snd_seq
snd_timer              17784  2 snd_pcm,snd_seq
snd                    51038  5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
mt7650u_sta           907394  1
uio_pdrv_genirq         2958  0
uio                     8119  1 uio_pdrv_genirq
pi@raspberrypi ~ $

多分、これが原因なんだろうと思いつつ解決できていない。

Update 2015-05-17

NOOBS 1.4.1でも音がひずむのでハードウェアの故障かもしれない。 ところでBCM2709の資料が見当たらないのは何故だろう。 BCM2835の資料はあふれているのに。


参考

  1. python - PyAudio working, but spits out error messages each time - Stack Overflow
  2. python - Pyaudio - Recording sound on Pi - getting errors - Raspberry Pi Stack Exchange