Raspberry Pi のサウンド機能を利用しよう
Raspberry Piには2種類のサウンド出力が用意されています。1つはHDMI端子、もう1つは 3.5mmのオーディオ出力端子です。HDMIは1本のケーブルで映像と音声の両方のデータが扱え るので、HDMIに対応したスピーカー内蔵ディスプレイに接続すると、配線がすっきりしておす すめです。3.5mmのオーディオ出力端子を使用する場合は、アンプを内蔵したスピーカーと接続 するか、RCAプラグに変換してテレビに接続します。
スピーカー内蔵の ディスプレイに接続
スピーカーに接続
RCAプラグに 変換して テレビに接続
サウンド出力先の設定方法
ケーブルを接続してサウンドを再生してもうまく鳴らない場合は、コマンドラインでサウンド 出力先の設定を行ってください。サウンドの出力にHDMI端子を利用するか、オーディオ出力端 子を利用するかは、次のコマンドから指定します。
87 4-1 サウンドを再生しよう
Raspberry Pi
で 遊ぼ う
Raspberry Pi
を 導入 しよ う
Raspbian
を使 って みよ う
周辺 機器 を活 用し よう
電子 工作 を楽 しも う
スマ ート フォ ンか ら
GPIO
を制 御し よう 付録
マル チメ ディ アを 楽し もう
オーディオ出力端子に出力する場合 Q]YhUbScUd^e]YT-#!
HDMI
端子に出力する場合 Q]YhUbScUd^e]YT-#"音量の設定方法
Q\cQ]YhUb
コマンドを実行すると、シェル上にボリュームのバーが表示され、グラフィカルな画面を利用して音量の設定が行えます。
alsamixer
の実行方法 Q\cQ]YhUbalsamixerは日本語での表示に対応していますが、そのままコンソールで実行した場合は日
本語部分が文字化けしてしまいます。コンソールで日本語を表示させるために、3-4で説明した
jfbterm上で実行する必要があります。
音量はカーソルキーの&'で変更することができますが、数字のキーボードを利用して変更す ることもできます。たとえばと入力すれば、8割の音量に一発で設定できます。Raspberry Pi に接続しているサウンドデバイス(サウンドを出力する機器)が複数ある場合や、マイク内蔵の USBカメラを接続した場合は、'で設定するデバイスを切り替えることができます。alsamixer を終了するには&4$を押します。なお、普段の音量の調節にはテレビやスピーカー側のボリュー ムを使用します。ここでの設定は基本音量(マスターボリューム)となります。
マル チメ ディ アを 楽し もう Chapter
4
コマンドラインで WAV / MP3 ファイルを再生しよう
コマンドラインでサウンドを再生できれば、スクリプトを書いてサウンドを鳴らすシステムを 作ったり、ボタンを押すとサウンドが鳴るようにして電子工作に応用することができます。本書 ではChapter 6で電子工作への応用方法を解説していますが、ここではその基礎として、WAV 形式やMP3形式のサウンドファイルを再生する方法を紹介します。
例としてシステムにあらかじめインストールされている、サンプルファイルを再生します。
任意のWAVファイルやMP3ファイルを再生したい場合は、SFTPクライアントを利用して Raspberry Piに転送してください(3-6 参照)。
WAVファイルは
Q`\Qi
コマンドで再生できます。a
は画面には何も出力(表示)しないとい うオプションです。a
なしで実行するとファイルの情報が表示されます。WAV
ファイルを再生する例Q`\QiaecbcXQbU`icXQbUT`iWQ]UUhQ]`\UcTQdQX_ecUO\_gQf
いっぽう、MP3ファイルを再生するソフトには様々なものがありますが、今回はmpg321を 使用した方法を紹介します。はじめにmpg321をインストールします。
ceT_Q`dWUdY^cdQ\\]`W#"!
]`W#"!
コマンドのあとに再生したいMP3ファイルを指定します。a
は画面にファイルの 情報を出力(表示)しないというオプションです。a
なしで実行するとファイルの情報が表示 されます。再生開始位置や再生する長さは[
、^
オプションで指定できます。詳しくは]Q^
]`W#"!
で表示されるマニュアルや、]`W#"!X
で表示されるヘルプを参考にしてみてください。MP3
ファイルを再生する例]`W#"!aecbcXQbU`icXQbUT`iWQ]UUhQ]`\UcTQdQX_ecUO\_]`#
サンプルのサウンドファイルは他にも以下のフォルダに多数収録されていますので、lsコマン ドでファイルの一覧を確認して、再生してみるとよいでしょう。
/usr/share/scratch/Media/Sounds/
/usr/share/sounds/alsa/
/usr/share/pyshared/pygame/examples/data/
291 数字〜C行
1-wire 188
AC アダプタ 20
AES 114
AirPlay 103 Ajax 235, 240, 260
alias 290
alsamixer 91, 135
amixer 91
AOSS 112
Apache 235, 252
aplay 88
Apple TV 103
APT 57
apt-get autoremove 59 apt-get cache 60 apt-get install 58 apt-get update / upgrade 57 AquesTalk Pi 92 ARM プロセッサ 12 avconv 150
CCMP 114
Class(SD メモリカード) 26, 84 CPU の温度を確認 289 CSI コネクタ 15, 138 Cyberduck 82
D〜G行
date コマンド 206 DDforWindows 275 dd コマンド 285
Debian 16
DHCP 22, 53 DLNA 98, 228 DS18B20 188 DSI コネクタ 15 DVI 18, 280 EDID 情報 281
exit 43
Expand Filesystem 34 FAT16/FAT32 120
fbi 142
ffmpeg 133
gpio export/unexport 163, 164 gpio load 197
gpio mode 165 gpio pwm 176 gpio read 171 gpio write 165 gpio グループ 163 GPIO ポート 152, 234 GPIO ポートの宣言 163 G PIO ポートをスマートフォンで制
御 234
GPU 12, 89, 288 guvcview 125
H〜L行
H.264 89, 138, 146
halt 43
HDMI 15, 18, 86, 280 hwclock 207 I/O ポートエキスパンダ 215 I2C 192, 198, 204, 256 i2c-tools 193 I2C address 194 I2C 対応デバイス 192 I2C デバイスの接続 193 i2cdetect 194 i2cget/i2cset 195 ifconfig 56 ifup / ifdown 114 in モード(GPIO) 169 IP アドレス 54, 78 IP アドレスの固定 55, 263 irexec 224 irrecord 219 irsend 223 iwconfig 111 iwlist 117 JavaScript 235, 242, 253 jfbterm 63 LAN ケーブル 20 LAN ポート 15 LCD モジュール 198, 258, 259 LeafPad 73
LED 156
LED の極性 157 LED の接続 161
LIRC 218
Locale 38, 61
LXDE 65
LXDE の終了 77 LXTerminal 75
M〜O行
Mac から NAS にアクセス 123 Mac から VNC でアクセス 283 Mac でファイル転送 82 Media Connect(iPhone) 100 Memory Split 40, 288 micro USB 15, 20
Midori 67
MiniDLNA 98 MJPG-streamer 127 MMDAgent 95 mode2 コマンド 219 Model A / B 13, 52 MP3 ファイルを再生 88
mpg321 88
mplayer 90
nano 50
NAS の構築 121 NetSurf 67 NOOBS 26, 272 NTP 203, 204 omxplayer 89, 147 Open JTalk 92
OS 16
out モード(GPIO) 163, 169 Overclock 40, 44 Overscan 34
P〜R 行
PHP 235, 252
ping 56
PuTTYjp 79 PWM 174, 181, 215, 248
Python 11
Raspberry Pi 10 Raspbian 16, 27, 48, 272 Raspbian のダウンロード 27, 272 RaspBMC 103 Raspi-config 33, 61, 139 raspistill 140
Index
raspivid 146 RC サーボ 181, 215, 250 REST API 235, 240 Revision 153
root 49
RPi-sd card builder 276, 279
RTC 203
RTC モジュール 204 RTMP URL 132, 137
S〜U行
samba 121
SCA 192
Scratch 11 SD メモリカード 13, 21, 84, 285 SD メモリカードスロット 16 SD メモリカードの初期化 286 SD メモリカードのバックアップ
283
SD メモリカードの領域拡張 34 SDFormatter 286
SDA 192
ServoBlaster 182 SFTP 81, 82 SHOUTcast Radio 90 shutdown 43 smbpasswd 122
SoC 13
SoftPWM 178 SSH 40, 78 ssh サーバー 40
startx 65
sudo 50
Tera Term 79 tightvncserver 282 Time Zone 39 ttytter 209 tvservice 280 twidge 209 Twitter 209 uim-anthy 63, 69 update-rc.d 101 USB ポート 15 usbmount 119 Ustream で映像配信 131 UVC(USB Video Class) 124 uvcdynctl 133 uvcvideo 125
V〜X行
vfat 120
VNC 281
WAV ファイルの再生 88 Web カメラ 124 Web ブラウザ 67 WebIOPi 235 Wi-Fi 110, 263 Win32 Disk Imager
273, 275, 284 WindowsからNASにアクセス 123 WindowsからVNCでアクセス 282 Windows でファイル転送 81
WinSCP 81
WiringPi 158
wlan0 111
wpa̲passphrase 117
WPS 112
XMBC 103
X Window System 65
あ行
アップデート 57
アノード 157
イーサネットポート 15
一般ユーザー 49
イメージファイル 27, 273 インターネット 21 インターネットラジオ 90 インターバル撮影 149 インターフェース 14 エフェクト機能 143 オーディオ出力端子 15, 86 オーバークロック 40, 44
音響モデル 95
音声合成 92
温度センサー 188, 194
音量 87
か行
解像度 (HDMI) 280 学習リモコン 216
カソード 157
カメラ 124, 138 カメラモジュール 138, 225, 288
環境変数 64
キーボード 29, 33, 34 起動ディスク 26, 272
起動ディスクの作成(Raspbian)
26, 31, 273 起動ディスクの作成(RaspBMC)
104
キャラクタ LCD モジュール 198, 258, 259 クロスドメイン 253 クロック周波数を確認 289
形態素解析 92
言語の設定 38, 61 固定 IP アドレス 55, 263 コマンドライン 75 コンソールで日本語を表示 63 コンポジット端子 18
さ行
サーボモーター 181, 215, 250 サウンドカード 135 サウンド出力先の変更 86 シェルスクリプト 129 時刻の設定 203, 204 実行中のプロセスの確認 289 ジャンパーワイヤー 156
順方向電圧 161
シリアルバス 192 スーパーユーザー 49, 71 スピーカー 21, 86 制御回路の製作(ラジコンカー)
266
赤外線 LED 216 赤外線リモコン受光モジュール
216
セルフパワー 20
た行
ターミナル 75
ターミナル(Mac) 80
タイムゾーン 39
タイムラプス 149
ツイート 208
ディスクイメージ 27, 273 ディスクの使用状況を確認 289 ディストリビューション 16
ディスプレイ 18
ディスプレイ解像度 280 低レベル周辺機器 15 テキストエディタ 50, 73
デジカメ 225
293 デスクトップ環境 65
テレビからDLNAサーバーにアクセス
101
電源 30, 263
電源アダプタ 20
動画再生支援機能 89
動画に変換 150
動画の再生 89
トランジスタ 217, 261
な〜は行
ニコ生で映像配信 137
日本語化 61
日本語の入力方法 69 入力メソッド 63, 69
ネットワーク 53
ハードディスクの接続 119 発光ダイオード 156
バスパワー 20
パスワード 37, 42 バックアップ 283
パッケージ 57
パッケージのインストール 58 パッケージの検索 60
汎用入出力 152
微速度撮影 149
ビデオ出力端子 15 ファイルの転送 81, 82 ファイルマネージャ 70 フォーマット 286
フォント 63
プルダウン/プルアップ 169 フレームレート 135 ブレッドボード 154 ホームディレクトリ 49
ま〜わ行
マウス 19
無線 LAN 110, 263 メモリの使用状況を確認 289 モータードライバ IC 261 モバイルバッテリー 263
ユーザー 49
ユニバーサル基板 154 ライブ映像の配信 127, 131, 137 ラジコンカー 260 ラズベリーパイ財団 10 リモートアクセス 281 リモートログイン 78 ログイン/ログアウト 42 ログファイル 110
ロボコン 270
ワイヤレス 263, 229
あとがき
ここまでに解説したように、Raspberry Piはキーボードとマウスで普通のLinuxパソコンと同じよ うに操作でき、ディスプレイにも接続でき、デスクトップ環境も使用でき、サウンドや動画も再生でき、
インターネットラジオも再生でき、DLNAサーバーやファイルサーバーにもなり、AirPlayでiPhone やiPadの画面も出力でき、USBのWebカメラから動画の配信もでき、たくさんのGPIOポートが制 御でき、LEDを光らせたり、ボタンの入力でアプリケーションを実行したり、サーボモーターを制御 したり、I2Cデバイスと通信したり、スマートフォンをリモコンにしてラジコンカーを動かすことま でできました。本書で解説したことはほんの一例にすぎません。読者の皆様は、きっとこんなことが したい、こんなこともできるんじゃないか?と期待が膨らんでいるのではないでしょうか。
ここまで読み進めてきた方はもう忘れてしまっているかもしれません。もう一度言います。
Raspberry Piの値段は35ドルです。たった3500円程度のコンピューターで、ここまでのことがで きるというは本当に驚きではありませんか?
今のパソコンは複雑になりすぎて、中身がどうなっているか興味を持つ人は少ないと思います。パ ソコンやOSの仕組みも考えず、与えられたソフトをただ使うだけです。しかしこれではなかなかエ ンジニアは育ちません。その点Raspberry Piは、まず先に興味を惹きつけられます。自分が操作し たとおりにLEDが光ったり、モーターが動いたりするのは、普通のパソコンでは味わえない感動です。
こうしてRaspberry Piをいじっているうちに、コンピューターの仕組みへの理解も深まります。
これこそが、ラズベリーパイ財団の目的としていることです。子供や学生は遊び感覚でコンピューター 技術を学び、コンピューター技術に興味を持ちます。そしてRaspberry Piに触れた子供たちは将来、
コンピューター技術をより高度なものに発展させていくことでしょう。本書はどちらかというと子供 や学生よりも上の世代向けですが、もしかしたらRaspberry Piを触った子供たちが10年後、20年 後に日本を引っ張るエンジニアになっているかもしれません。
Raspberry Piは大人にも子供にも、エキサイティングかつエデュケーショナルな おもちゃ なの です。
最後になりましたが、Raspberry Pi本を発行する機会を与えていただき、お付き合いくださった(株)
ラトルズの皆様、(株)リブロワークスの皆様、そしてRaspberry Piという素晴らしいコンピューター を世に送り出してくれたエベン・アプトン氏、ラズベリーパイ財団に、この場を借りて心から感謝を いたします。
林 和孝