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

AndroidでSoftModemを試してみた

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

記事を読む

Arduinoで温湿度データロガー

Arduinoで温湿度計 #2

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

記事を読む

no image

AVRISPmk2

米粒AVR(ATtiny10)のプログラム書き込み用にAVRISPmk2を購入しました。 先人

記事を読む

no image

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

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

記事を読む

no image

Bimeji Client for Arduino

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

記事を読む

Arduinoで温湿度計

Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前「パソコンで温度計」と言うもの

記事を読む

sdcards

Raspberry Pi SDカードのクラスと起動速度

SDカードにOSをインストールするので、起動にはそれなりに時間がかかります。 では、どれくらい

記事を読む

no image

PIC24FJ64GB002でADKを試す(その1)

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

記事を読む

Raspberry Pi - Ethernet

Raspberry Pi インターネット接続

Raspberry Piをインターネットに接続してみた。 有線で接続(Ethern

記事を読む

米粒AVRでI2C通信

米粒AVRでI2C通信(マスター)

米粒AVRことATtiny10は3つまたは4つのI/Oピンしか使えないのですが、I2Cなら2つの

記事を読む

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

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

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

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

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

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

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

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

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

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

PAGE TOP ↑