Raspberry Piのサウンドを試したら音が出なかった話

公開日: 電子工作 |

vlc_media_player
(これはX-WindowのVLCメディアプレイヤーのスクショ)

Raspberry Piでは、以下のコマンドでサウンドファイルの再生が行えると聞いて、早速試してみた。

$ aplay /usr/share/sounds/alsa/Front_Center.wav

この時、HDMIケーブルを使ってRaspberry Piをテレビに繋いでいたので、このコマンドを実行すると、テレビのスピーカーから女性の声で「フロント、センター」と聞こえるはず。

・・・が、コマンドを実行して待てど暮らせど一向に再生される気配が無い!!!

なんで鳴らないの!?

 

サウンドの鳴らない原因

原因は簡単で、

「HDMI出力がDVIモードになっていた」

と言うこと。

DVIモードになっていると、サウンドの再生は行われないようです。
そして、サウンドの出力先は、デフォルトでは自動で判別されるはず(期待としてはDVIモードであれば本体のライン出力から出力されるべき?)なのですが、DVIモードになっている時でもHDMIの方へ出力しようとして、結果サウンドが再生されないと言う状態だと思う・・・(推測)。

この状態でも、強制的に本体のライン出力の方へ、出力先を変更してあげれば、そちらから再生することは可能でした。

 

HDMI出力モードを変更する

Raspberry PiのHDMI出力は、PCモニター等へ出力するDVIモードと、テレビモニターへ出力するHDMIモードの2種類から選択できる。
DVIモードではHDMIへのサウンドの出力は無く、HDMIモードではHDMIへサウンドの出力が行われます。

で、この設定は、デフォルトでDVIモードとなっているようで、HDMI出力モードへ変更してやる必要があります。

HDMI出力モードは、起動SDカードのbootパーティションにある、config.txtファイルを編集することで変更することができる。

bootパーティションは、Windows7でも読み書き可能なので、Windows7のパソコンにSDカードを挿して編集する。

raspberry pi config.txt
Windows7で、RaspberryPiの起動SDカードを開いて、config.txtを編集する。

raspberry pi config.txt hdmi_driver

# hdmi_driver=2
の、頭の#を外して、保存する。

これで次からHDMIモードで起動されるようになる。

ちなみに、

hdmi_driver=1 で、DVIモード(デフォルト)
hdmi_driver=2 で、HDMIモード

 

サウンドの出力先を変更する

Raspberry Piの音声出力は、HDMIケーブルからの出力と、本体の音声ラインからの出力(ステレオ・ミニ・ジャック)の2系統ある。
デフォルトでは、どちらか自動で判別されて再生されるようになっているのを、強制的に変更することも可能。

サウンドの出力先変更は、以下のコマンドで行います。

自動判別

$ sudo amixer cset numid=3 0

本体のラインへ出力

$ sudo amixer cset numid=3 1

HDMI端子へ出力

$ sudo amixer cset numid=3 2

※一度実行すれば、再起動後もその設定が有効となる。

 

 

サウンドの再生確認

コマンドで

$ aplay /usr/share/sounds/alsa/Front_Center.wav

を実行すると、ファイルが再生される。
女性の声で「フロント、センター」と聞こえるはず。

 

関連記事

Arduinoで温湿度データロガー

Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを取り付けて温湿度データロガーを

記事を読む

thermometer overlay

パソコンで温度計 #4

前回までに作ったPC温度計のログデータを、計測と同時に撮影した映像にオーバーレイ表示(スーパーイ

記事を読む

no image

AndroidとArduinoの接続で使えそうなBluetoothモジュール

1ヶ月ほど前に書いた、Android + Bluetooth + Arduino が割と人気があるよ

記事を読む

raspi-pin-header

そうだ、Raspberry Pi用にピンヘッダーのオス・メス変換アダプタを作ろう

  Raspberry PiのI/O端子は、ピンヘッダーとなっていて、電極が出っ張ってる

記事を読む

no image

Android+Arduinoでリモコン3のおまけ

Androidとは関係ないのですが、前回の記事  Android+Arduinoでリモコ

記事を読む

no image

PIC24FJ64GB002でADKを試す(その2)

 前回「PIC24FJ64GB002でADKを試す(その1)」では回路の説明までしたので、

記事を読む

no image

USBホストケーブルとUSBケーブルの違い

USBホストケーブル(OTGケーブル)と普通のUSBケーブルの違いは、USBホストケーブルとして振る

記事を読む

Raspberry Pi

Raspberry Piを買った

先日、Raspberry Pi(ラズベリーパイ)を買いました。 Raspberry Piは噂で

記事を読む

no image

Bimeji Client for Arduino

前回紹介したWimeji Client for Arduinoの最後で予告していた、Wimeji c

記事を読む

Androidから米粒AVRへデータを送る

米粒AVRでSoftModem的なこと その2

前回は「米粒AVRからAndroidへデータを送る」ことを試しました。 今回はその逆の「And

記事を読む

Arduinoで温湿度データロガー
Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを

Arduinoで温湿度計
Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前

SDカード・マイクロSDカード
ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduin

秋月電子 リアルタイムクロック(RTC)モジュール
秋月のリアルタイムクロック(RTC)モジュール

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを

秋月電子 キャラクタLCD
秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、

PAGE TOP ↑