藤本健のDigital Audio Laboratory

第613回:約4千円の手のひらコンピュータ「Raspberry Pi」でハイレゾ音楽再生に挑戦

第613回:約4千円の手のひらコンピュータ「Raspberry Pi」でハイレゾ音楽再生に挑戦

 4,000円程度で購入できるRaspberry Pi(ラズベリーパイ)というコンピュータをご存じだろうか? もともとイギリスで教育用のコンピュータとして生まれ、いまでは教育用・ホビー用として世界中で親しまれている小さなコンピュータだ。筆者も昨年の夏に入手したのだが、OSをインストールして起動したくらいで終わってしまい、そのまま放置状態だった。ふと「これでハイレゾの再生とかはできるのだろうか? 」と思って試してみたので、その内容について紹介してみたいと思う。

Raspberry Pi(SDカードは別売)

手のひらサイズの“普通のコンピュータ”

 Raspberry Piがどんなものなのかは、Webで検索すればいくらでも出てくるので詳細は割愛するが、これは小さな手のひらサイズのコンピュータだ。といったって電子工作を前提としたワンボードマイコンというわけではない。USB端子もHDMI端子、LAN端子も搭載されており、ディスプレイを接続し、マウス、キーボードをつなげれば、Webのブラウズもできるし、ワープロも使えれば、表計算だって使えてしまう普通のPCなのだ。

Raspberry Piの本体。まさに手のりコンピュータ
USBやEthernet、HDMIなどのインターフェイスが既に装備されている
Webブラウザ
ワープロソフトの画面

 筆者が昨年購入したときは、まだ最新の「Model B+」というものが出る前だったので、「Model B」をプラスティックのケースとともに入手。インプレスが発行する「Raspberry Piユーザーガイド」を見たり、Webを検索しながらSDカードにRaspbian(ラズビアン)なるOSをSDカードにインストールし、起動させるところまでは何とかたどり着いた。「これでDTMでもできたら面白そうだ! 」と気分は盛り上がったのもつかの間、何をどうやって使えばいいのかがよくわからなかったのと、DTMをするにはあまりにもマシンパワーが非力だったので、やめてしまったのだ。その後、Pythonというプログラム言語を用いて、Rasberry Piでソフトウェアシンセサイザを動かしている人の情報などは見つけたものの、ハードルがあまりにも高く、諦めて放置状態になっていた。

「Model B」のケース

 せっかく安くて高性能なコンピュータなのだから、本来ならもっと活用したいところ。誰かがすべてお膳立てしてくれて、あとは使うだけという状態にしてあれば、子供でもすぐに存分に活用できるコンピュータだと思うが、そのお膳立て自体が結構大変なのだ。Linux、UNIXといったものに慣れている人なら、当たり前のことばかりで、とても簡単なことなのだと思うが、WindowsやMacのGUIベースのシステムしか触っていない人にとっては、かなり難しく見えてしまうのだ。筆者の場合、その昔はMS-DOSでガリガリとプログラムを書いていたりもしたし、以前の記事でLinuxのディストリビューションの一つであるUbuntuを使ったDTMなどを紹介したこともあったが、どうもLinuxに苦手意識が強く、LinuxベースのRaspbianに拒否反応を起こしてしまったのだ。Raspberry Piについて検索して上位に出てくるものが、「初心者用」といってもLinuxの知識を前提としたものが多い点も戸惑ったところだった。

 とはいえ、せめて音を出すことくらいは試してみようと思い立ち、再度トライしてみたところ、なんとかハイレゾサウンドを再生させるところまでは実現することができた。まだ課題もあって、完璧というところまでには至っていないが、Linuxの知識抜きに、ここまでならできる、という観点でその手順を紹介してみたいと思う。

 Raspberry PiはHDDもなければ、SSDもなく、OSやアプリケーションを入れるドライブはSDカード。そこで、まずはSDカードを用意してOSをインストールする必要があるが、それ自体はWindowsやMacで行なうので簡単。Raspberry PiのダウンロードサイトからRASPBIAN(Debian Wheezy)をダウンロードし、WindowsならWin32 Disk Imagerを使ってSDカードに書き込むだけ。この際、用意するSDカードは8GBのものがオススメだ。

OSやアプリケーションはSDカードにインストールする

 このOSを書き込んだSDカードをRaspberry Piのスロットに入れてUSB電源につなぐと起動する。その後初期設定を行なう必要があるが、これは富永道也さんという方が書かれた資料が非常にわかりやすく、まったく初めてという人でも、画面キャプチャと見比べていけば、間違いなくセッティングできると思う。手順どおりに操作してX-Windowを起動すると日本語メニューが表示される環境が構築されているはずだ。

セッティングの画面

 スタートメニューが左下にあるあたりは、Windowsのユーザーインターフェイスを踏襲しているからWindowsユーザーには違和感なく使うことができるだろう。ちなみに上記の資料ではセッティング終了後、「sudo startx」としてX-Window起動している。その後もRaspberry Piでは電源を入れた後、ID、パスワードでログインした後、同様にして起動することができるが、単に「startx」としてX-Windowを起動させると一般ユーザーとしてのログインという扱いになるとともに、デスクトップ上にはいろいろなアイコンが置かれる。

左下にスタートメニューがある
「startx」としてX-Windowを起動した時のデスクトップ画面

メディアプレーヤーを入れて音を出してみる

 さて、ここからが本題。Raspbian上でもさまざまなプレーヤーソフトが存在しているが、その中でも多機能で、非常に扱いやすいのがVLCメディアプレイヤーだ。これはWindowsやMac上でも動作するソフトだから、使っているという人も少なくないだろう。スタートメニューから「サウンドとビデオ」のところを見てほしい。ここに「VLCメディアプレイヤー」があるだろうか?

VLCメディアプレイヤー

 手順通りに環境設定、アップデートを行なうと自動的にインストールされるようなのだが、もし見つからないときは、おまじないだと思って、以下の手続きをしてほしい。まず、スタートメニューの「アクセサリ」にある「LXTerminal」を起動し、この中で「sudo apt-get install vlc」と入力する。画面にいっぱい文字が出てくるが、途中で一度本当にインストールを確認するメッセージが表示されるので「y」を入力すればOK。しばらくするとインストールが完了するので、このウィンドウを閉じてしまおう。これで「サウンドとビデオ」のメニューにVLCメディアプレイヤーが追加されているのが確認できるはずだ。このVLCを初めて起動すると、「プライバシーとネットワークポリシー」という表示が出てくるが、「保存して継続」をクリックしておこう。これで各種オーディオファイル、さらにはビデオファイルも再生可能になる。

LXTerminal」を起動し、「sudo apt-get install vlc」と入力
「サウンドとビデオ」のメニューにVLCメディアプレイヤーが追加
VLCを初めて起動すると、「プライバシーとネットワークポリシー」と表示されるので、「保存して継続」を選ぶ

 さっそく音を出してみたいところだが、考えてみればこの設定したばかりのRaspberry Piにはオーディオファイルなんて一つもない。ネットワーク機能を使ってNASにアクセスして……なんてこともできるのだが、いろいろ手続きも必要になるので、ここではUSBメモリーにMP3やWAV、FLAC、Apple LosslessなどのデータをPCからコピーして持ってくることにする。「SDカードのスロットがあるから、これを利用すればいいのでは? 」と思う人もいると思うが、前述のとおり、このSDカードはOSやアプリケーションを入れるためのもので、電源を入れている状態での抜き差しは厳禁。そこで、USBメモリーを使うのだ。

 ちなみにRaspberry PiのModel Bに用意されているUSB端子は2つ(Model B+には4つある)。マウスとキーボードで埋まってしまったという場合は、USBハブを使えばOK。こんなちっぽけな機材なクセに、本当によくできたマシンだな……とつくづく感心する次第だ。さて、実際にオーディオデータを入れたUSBメモリを接続してみると、自動認識されてファイルの中身が見えるようになる。「あれLinuxって、新たにドライブを追加する際はマウントする手続きが必要だったのでは? 」とも思ったが、その辺は簡単になっていたようである。

楽曲を入れたUSBメモリを接続すると、自動認識されてファイルの中身が見えた

 あとは、各ファイルをダブルクリックすればVLCメディアプレイヤーが起動して演奏される。うまく起動しない場合は、右クリックしてVLCメディアプレーヤーを割り当てればOKだ。これでうまく音が鳴るはずだが、どうだろうか? 筆者の場合、スピーカー付のディスプレイにHDMIで接続していたため、ディスプレイのスピーカーから音が鳴った。でも、Raspberry Piにはヘッドフォン端子が付いているので、ここにヘッドフォンを接続してみたのだが、こちらからは音が出ていない。どうすればいいの? と思って調べてみると、Raspberry Piの初期設定を行なった画面に切り替えスイッチがあるようなのだ。この初期設定画面は、先ほどVLCをインストールした時と同様にLXTerminalから行なえる。またおまじないのコマンドとして「sudo raspi-config」と入力してみよう。すると、この小さい画面の中に先ほどの初期設定画面が登場してくる。ここでは9番の「Advanced Options」を選ぶと、その中に「A8 Audio」というのでこれを選ぶ。標準では「Auto」が選ばれていると思うが、ここで「Force 3.5mm('headphone') jack」を選択してみよう。VLCでの演奏中であっても、ここで切り替えることで、出力先をHDMIからヘッドフォン端子へ、またその逆へと切り替えることができる。ただし、音を聴いてみると、さすがにRaspberry Pi内蔵のヘッドフォン端子の音は劣悪。HDMI出力でディスプレイから聴いた音のほうが断然いい感じだった。

VLCメディアプレイヤー
自動で起動しない場合は、右クリックしてVLCメディアプレーヤーを割り当てる
「sudo raspi-config」と入力すると、初期設定画面が表示
「A8 Audio」を選ぶ
「Force 3.5mm('headphone') jack」を選択すると、出力をヘッドフォン端子へ変更できる

 このようにしてMP3でもWAVでもFLACでもApple Losslessでも聴くことができてしまった。iTunesやWindows Media Player、foober2000やAudirvanaなどと比較して使い勝手がいいのかというと……、今一つではあるけれど、これだけのファイル形式に対応していて、すぐに再生できるという点では非常に魅力的なプレーヤーソフトだと思う。

USB DAC接続でハイレゾ再生にも挑戦

 でもせっかく聴くなら、もうちょっといい音で……と欲が出てくる。マウスやキーボード、そしてUSBハブにUSBメモリとと一通りのUSBデバイスが接続できているので、USB DACだって使えるのではないか? ネットで検索してみると、どうも使えそうなことがいろいろ書かれている。ただ、結構難しそうな設定をする必要があるようで、一筋縄ではいかないようだ。とはいえ、ものは試しということで以前購入したオーディオテクニカの「AT-HA40USB」というRaspberry Piにもピッタリという大きさのUSB DACを接続してみた。この状態でVLCメディアプレーヤーで鳴らしてみたところ、そのままではHDMIからの出力で変化はない。しかしVLCプレーヤーの「オーディオ」メニューには「オーディオデバイス」というのがあるので、これを選択してみた。すると、数多くのデバイスが表示されている。

オーディオテクニカのUSB DAC「AT-HA40USB」を接続
「オーディオデバイス」には数多くのデバイスが表示

 よく見ると、「bcm2835 ALSA」というのと「USB Headphone Amp」の実質2種類であり、接続したUSB DACのものと思われるものが9つも並んでいる。そもそもアナログのステレオ出力+S/PDIF出力という構成なのに、4.0chとか5.1ch、7.1chなどがあるのだろうか? と疑問に感じたが、とりあえず「USB Audio Default Audio Device」というのを選択してみたところ、あっさりUSB DACから音が出た。当然のことながらPCのディスプレイのスピーカーから出る音とはまったく違う、断然いい音。これなら十分音楽鑑賞ができるサウンドだ。44.1kHz/16bitのサウンドはもちろん、48kHz/24bitのFLACも、96kHz/24bitのWAVやApple Losslessのハイレゾサウンドもバッチリ再生できる。

48kHz/24bitのFLAC再生画面
96kHz/24bitのファイルも再生できた

 ここで試しに「USB Audio IEC958(S/PDIF)Digital Audio Out」を選んでみたところ、MP3や44.1kHzのWAVの場合問題なくヘッドフォンから音が出ることが確認できたが、48kHzや96kHzのオーディオを再生すると動作が不安定になってしまう。そこで、S/PDIFの光デジタル出力を手持ちのオーディオインターフェイス兼デジタルミキサーであるRolandのM-16DXに突っ込んでみたところ、44.1kHzのときはしっかりロックしているが、それ以外のサンプリングレートのデータを再生するとエラーを起こしているようなのだ。このオーディオテクニカのAT-HA40USB自体はUSB Audio Class 1.0対応のデバイスではあるがスペック上は44.1kHzだけでなく48kHz、96kHzにも対応しているデバイスだから、アプリケーション側でリサンプリングされずに96kHzサウンドがしっかり出ているのか確認をしたかったのだ。ただ、この結果からは、リサンプリングはされてなさそうだが、果たしてしっかり出ているのかはわからなかった。

光デジタル出力をローランドのM-16DXに入力すると、44.1kHz以外のサンプリングレートではエラーになった

 続いて試してみたのは、RATOCのRAL-DSDHA1。これはUSB Audio Class 2.0対応のデバイスであり、Mac OS XやiOSデバイスであればドライバ不要で認識できるが、Windowsはドライバが必須というタイプのもの。これを接続してみたところ、先ほどのVLCメディアプレイヤーのオーディオデバイスとしてしっかりと認識されている。こんなに簡単にいってしまうとは……と思ったが、どれを選んでも、RAL-DSDHA1から音が出てこないし、この状態で再生をするとVLCメディアプレーヤーというかRaspbian自体の動作が不安定になってしまうトラブルも発生。ただし、48kHzのファイルを再生すると、RAL-DSDHA1のインジケータも48kHzが光るなど、正しく動いているように思えるのだが……。同じUSB Audio Class 2.0対応のデバイスであるPreSonusのAudioBox 44VSL、SteinbergのUR44なども接続してみたが、結果はRAL-DSDHA1と同じ。メニュー上にはデバイス名が表示されるのだが、これを選択して再生することができないのだ。

VLCメディアプレイヤーのオーディオデバイスとして認識されている
48kHzのファイルを再生すると、RAL-DSDHA1(写真下)のインジケータも48kHzが光った

 ネットで調べてみても、この辺の情報があまりなく、どうすればいいのかははっきりわからなかった。Pulseaudioをインストールするとうまくいくかも……という情報があったので、これをインストールするとともに、オーディオ設定をPulseaudioに切り替えてみたが、こちらもうまくいかない。それどころか、設定を元のALSAに戻しても音がでなくなってしまい、Pulseaudioをアンインストールしても、動作が妙になるなど、トラブルだらけで、今回はあきらめた次第だ。

 というわけで、この小さなコンピュータ、Raspberry Piで、あまり難しいことをしなくても、USB DACでハイレゾのオーディオ再生ができるところまでは分かった。が、まだ完璧というところには程遠い状況。また時間を見つけてチャレンジしてみようと思っている。

Amazonで購入
Raspberry Pi Model B+
Raspberry Piユーザーガイド
第2版

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。EPUBマガジン「MAGon」で、「藤本健のDigital Audio Laboratory's Journal」を配信中。Twitterは@kenfujimoto