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

PIC24FJ64GB002でADKを試す(その2)

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

記事を読む

soundIR 送信機

赤外線リモコン送信機(イヤホンジャック接続)の回路

前回は受信機で、今回は送信機を作ってみました。 受信機と違って、送信機の作成は少し面倒です。

記事を読む

no image

Android + Bluetoothドングル + PIC24F

@hrdakinori さんと言う方が、PIC24FとBluetoothドングルを使って、Andro

記事を読む

no image

気になる物

HT-03Aで使えるのかどうかは知らないけど、Bluetooth-シリアルモジュール(BT-MOD1

記事を読む

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

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

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを買ったので、ちょっと試してみま

記事を読む

no image

米粒AVRでシリアル通信(ただし送信だけ)

米粒AVR(ATtiny10)にUART機能は搭載されていないので、シリアル通信を行う為には自前

記事を読む

no image

Android + Arduino でリモコン

今こんなのを作ってますと言う動画です。   DoCoMoのFOMA携帯

記事を読む

no image

Android+Arduinoでリモコン3 その2(AndroidAccessory接続)

何度か、Android+リモコンのネタを書いたことがあるのですが、今回はAndroid Access

記事を読む

no image

Android + Arduino でリモコン2 (softmodem接続)

以前、LAN接続のリモコン Android + Arduino でリモコン と言うものを作ったのです

記事を読む

no image

PIC24FJ64GB002でADKを試す(その1)

先日、MicrochipからPIC向けのAndroid Open Accessoryのライブラリが公

記事を読む

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

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

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

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

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

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

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

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

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

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

PAGE TOP ↑