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

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

 

関連記事

no image

米粒AVR(ATtiny10)

通称「米粒AVR」で知られるTiny10を使ってみたくて、秋月の通販で買ってみました。 超小型

記事を読む

no image

Androidで一眼レフカメラのシャッターを制御する

またSoftModemネタです。 調子に乗って arms22さんの記事 iPhoneで一眼レフカメ

記事を読む

raspi-config

Raspbianの最初の設定

  Raspbianのインストール後にraspi-configを使って行う最初の設定

記事を読む

no image

Android Open Accessory開発時のWiFiデバッグ

Android Open Accessory開発時のデバッグは、ADBをWiFiで接続しろと、USB

記事を読む

Androidで温度計

Androidで温度計(STTS751使用)

  Androidに温度センサー(STTS751)を繋いで温度表示してみました。 温度

記事を読む

no image

米粒AVRのEAGLEライブラリ

EAGLEを使って米粒AVR(ATtiny10)の回路図を書こうと思ったら何か様子がおかしい。

記事を読む

Hello Tiny10

米粒AVRでI2C通信を使ってLCD表示

前の記事で紹介したI2Cライブラリを使った、LCDの表示のライブラリ的なもの  

記事を読む

no image

米粒AVRで小型8連ナイトライダーを作ってみた

米粒AVR(ATtiny10)を2つ使って、8つのLEDを順番に点灯しています。 &nbs

記事を読む

no image

AndroidでSoftModemを試してみた

今回、ここで言うSoftModemとは、携帯電話のオーディオ端子(イヤホン・マイク端子)を利用し

記事を読む

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

ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduinoでも比較的簡単にSDカードを

記事を読む

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

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

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

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

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

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

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

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

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

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

PAGE TOP ↑