演奏者の視点に立った音響機器開発、オーディオ信号処理とPCIe伝送にi.MX 6アプリケーション・プロセッサを活用

音響機器メーカーのZOOMは、オーディオ信号のA/D、D/A変換や音響効果をもたらすオーディオ・インタフェース機器にフリースケール・セミコンダクタ(現: NXP)の「i.MX 6Solo」を搭載した。高度なオーディオ信号処理の実装にはDSPやFPGAを使うことが多いが、同社は汎用のARM® Cortex®-A9プロセッサを採用した。i.MX 6SoloはPCI Express回路を備えており、今回の機器はこれを使ってThunderboltとUSB 3の高速伝送を実現している。本プロセッサがPCI Expressのルート・コンプレックスとしても、エンドポイントとしても動作することが採用の決め手となった。

メインイメージ
集合写真(左より)
株式会社ズーム 取締役 ヴァイスプレジデント プロダクトデベロップメント 河野 達哉 氏 ※インタビューのみ参加
株式会社ズーム エンジニアリング ディヴィジョン TACユニット ファームウェア チーム チームリーダー 末次 豊 氏
株式会社ズーム エンジニアリング ディヴィジョン TACユニット ハードウェア チーム チームリーダー 福島 学氏
フリースケール・セミコンダクタ・ジャパン株式会社(現: NXP) マイクロコントローラ・グループ ビジネス・デベロップメント MPU 大林 久高 氏
アヴネット株式会社 東京本社 半導体事業統括本部 第4プロダクトマーケティング本部 第3プロダクトマーケティング部 1課 主任 榎本 浩尚 氏
アヴネット株式会社 東京本社 半導体事業統括本部 第4プロダクトマーケティング本部 第3プロダクトマーケティング部 1課 主任 宮本 正亨 氏

音楽制作の現場で利用するインタフェース機器を開発

ー ZOOMは、どのような企業ですか?

河野(ZOOM):1983年創業の音響機器メーカーです。1989年にギター・ストラップに装着できる手のひらサイズのエレキギター用エフェクタ「9002」を製品化して、大きな成功を収めました。2000年には、SmartMedia(メモリ・カード)を利用した録音機器を発売して話題を呼びました。これは、単に音楽を記録するだけではなく、楽器演奏者が過去に録音したものを聞きながら、新しい楽器の音を重ねることができる「マルチトラック・レコーダ」と呼ばれる製品です。これをきっかけに、ズームは電子楽器だけでなく、音楽制作の分野の製品展開も始めました。

ー どのような製品にARMプロセッサを搭載したのでしょう?

河野:「オーディオ・インタフェース」と呼ばれる機器です。これは、パソコンと電子楽器、マイク、アンプ、ミキサ、スピーカ、ヘッドホンなどを接続するための中継装置で、2014年春から出荷を開始しました。

ー オーディオ・インタフェースの開発に取り組むのは今回が初めてですか?

河野:これまでも製品への付加機能として開発・実装してきていましたが、専用製品としては初めてです。現在の音楽制作は、パソコン上で音楽を作るDTM(Desktop Music)/ DAW(Digital Audio Workstation)が主流です。ズームもつねづね、音楽制作ソフトウェアが動作するパソコンに直結する製品を開発してみたいと考えていました。チャンスをうかがっていたところ、ThunderboltとUSB 3という二つの高速インタフェース規格の登場を機に、開発に着手しました。

ー 複数の機種にARMプロセッサを搭載したのでしょうか?

河野:Thunderboltインタフェースを備える「TAC-2」を皮切りに、5機種に搭載しました。これはコンシューマ向けのオーディオ機器を意識したスタイリッシュな外観になっています。また音楽制作にたずさわる方には、ラックに収納しやすい四角い筐体のほうがよいだろうということで、外観を変え、さらにシンセサイザなどを接続するMIDIインタフェースを追加した「TAC-2R」、チャネル数を2から8に増やした「TAC-8」も開発しました。Thunderboltは技術的なインパクトは大きいのですが、Mac以外のコンピュータではほとんど採用されておらず、USB 3のほうが本命と考えました。そこでオーディオ性能は同じで、インタフェースをUSB 3に置き換えた「UAC-2/UAC-8」を開発しました(図1)。

図1

図1:オーディオ・インタフェース内部のi.MX 6Solo基板。

ー 開発した機器には、どのような特徴がありますか?

末次(ZOOM):ズームがもともとエフェクタ・メーカーということで、A/D、D/A変換のほかに、エフェクタの機能を付加しています。またサンプリング周波数を4倍に変換するアップサンプリング機能も装備しています。これにより、A/D変換時の折り返しノイズが除去され、D/A変換では高音までクリアなサウンドが得られます。

ー オーディオ信号処理はDSPで実行したのですか?

末次:2チャネルの機種(TAC-2/2R、UAC-2)は、i.MX 6Solo上のソフトウェアでオーディオ信号処理を行っています。従来、ズームではこの種の信号処理にDSPを使ってきました。i.MX 6Soloのような汎用のプロセッサを使うのは初めてで、これが一つのチャレンジでした。

河野:高価格帯のオーディオ・インタフェース製品を開発する場合、競合他社はFPGAを使うこともあるようですが、ズームはできるだけソフトウェアの開発力で要求性能を引き出したいと考えています。今回は汎用プロセッサを利用しつつ、FPGAを搭載する他社製品の性能を凌駕するところまでコードを最適化しました。

ー ここでいう“性能”とは何ですか?

河野:性能を表す指標の一つに「オーディオ・レイテンシ」というものがあります。この値が小さければ、性能が高いという評価になります。いわゆる、「音の遅延」です。ズームは、この「オーディオ・レイテンシ」をできるだけ小さくしたい、という要求があります。例えば、ギターを抱えた演奏者が“ジャン”と鳴らした音がパソコンに転送され、データ処理され、演奏者のヘッドホンへ戻ってきてはじめて音楽として聞こえます。この間の伝送遅延が大きいと、まったく演奏できなくなります。

ー どのくらいの遅延が許容されるのでしょう?

河野:一般に販売されている製品では、遅延時間が10ms~20msのものが多いと思います。ズームの製品は2msと世界最速レベルを実現しました。現在でも超高性能なオーディオインタフェース製品の分野では、1〜3msの間で各社がしのぎを削っています。この遅延自体は、音楽を聞くだけであればまったく気にならない世界ですが、曲を演奏しながら同時に耳で確認する場合は非常に重要です。

PCI Expressバスを利用してThunderbolt/USB 3伝送を実現

ー i.MX 6Soloの概要を教えてください。

大林(NXP):i.MX 6Soloは、Cortex-A9コアを搭載した最大1GHzで動作するプロセッサです。フルHD対応のビデオ処理回路や3Dグラフィックス・アクセラレータなどを備えています。また、SATAやPCI Expressなど、他社のアプリケーション・プロセッサがあまり対応していないインタフェースも備えています。

ー i.MX 6シリーズは、オーディオ機器によく採用されているのでしょうか?

大林:ビデオ処理やグラフィックス処理を行う機器に使われることは多いのですが、今回のような事例は珍しいと思います。もちろん、圧縮されたMP3オーディオのデコードなどには使われています。しかし、オーディオ信号処理のプログラムをユーザーが作成し、Cortex-A9コアが備えるNEONコプロセッサのSIMD(Single Instruction Multiple Data)命令に最適化した例は、日本ではほとんど見当たりません。

ー ARMプロセッサを利用するにあたり、戸惑いはありませんでしたか?

河野:最初は、汎用のプロセッサで本当に処理できるのか、不安を抱きながら開発に着手しましたが、最終的に要求性能は満たせました。

末次:当初はNEONの使い方が分かりませんでした。「速度が上がらないな」と思ったら、実はNEONの設定がOFFになっていたり…。コードの最適化では、データのメモリ階層(内蔵SRAM、キャッシュ・メモリ)への置き方やキャッシュの順番、コンパイラのクセを掴んで効率の高いコードに落とす使い方などを工夫しました。

ー 今回の製品のハードウェア構成は?

福島(ZOOM):i.MX 6Soloには、A/DコンバータICやD/AコンバータIC、外付けのSRAM、電源ICなどがつながっています。i.MX 6SoloはPCI Expressインタフェースを備えており、PCI Expressバスを介してThunderboltやUSB 3のインタフェース基板と接続しています。(図2)。

図2

図2:ZOOMが開発したオーディオ・インタフェースのシステム構成。

ー ThunderboltとUSB 3でシステム上の違いはありますか?

末次:実は、Thunderboltの機種とUSB 3の機種では、PCI Expressのホストとターゲットの役割が逆になっています。Thunderboltの機種ではi.MX 6SoloがPCI Expressのエンドポイントとして動作します。Thunderboltケーブルを介して接続するMacがホストとなり、ThunderboltはPCI Expressバスをそのまま延長しているに過ぎません。一方、USB 3の機種ではi.MX 6Soloの周辺回路としてUSB 3コントローラICを接続します。つまり、i.MX 6SoloがPCI Expressのルート・コンプレックスの役割を果たし、USB 3コントローラICがエンドポイントになります。今回、i.MX 6Soloを採用した理由の一つが、PCI Expressのホスト機能とターゲット機能の両方を備えていることでした。

河野:プロセッサの選定にあたっては、このほかにチップの長期供給や価格なども考慮しています。

開発初期にトラブル、解決策はWebフォーラムに

ー 開発は順調に進みましたか?

末次:開発は2012年末に始まったのですが、最初の段階で非常に苦労しました。i.MX 6SoloをPCI Expressのエンドポイントとして動かす方法が分からず、2~3カ月くらい試行錯誤しました。

ー 何が原因だったのでしょう?

福島:まず、フリースケール(現: NXP)が提供する評価ボード上でエンドポイントとして動かすためのサンプル・コードを入手し、確かに動くということを見届けるまでに時間がかかりました。続いて、ThunderboltコントローラICと組み合わせて動作するようになるまでに、さらに時間がかかりました。評価ボード上では、PCI Expressの回路はi.MX 6Soloの内部クロックに基づいて動作しています。一方、外部のThunderboltコントローラICも自前のクロックを持っており、そちらのクロックにi.MX 6SoloのPCI Experss回路を同期させないと正しく動きません。そのための設定方法が分からなかったのです。

宮本(アヴネット):i.MX 6シリーズ向けの初期のLinux BSP(Board Support Package)には、PCI Expressのエンドポイント機能が実装されていませんでした。その後、エンドポイントに対応したバージョンがリリースされたのですが、それはちょっとした通信ができる程度のもので、「外部クロックを入力して動作させる」という形のサンプル・コードが用意されていませんでした。

福島:解決策は、フリースケール(現: NXP)が運営するWeb上のフォーラムに掲載されていました。書き込まれていた情報をもとに試してみたら、正しく動作しました。

宮本:i.MX 6Soloのマニュアルは2000ページにもわたります。また、プロセッサのさまざまな周辺機能を理解することも重要ですが、加えて今回はPCI Expressがどのような規格であるのかを理解することも必要でした。100%すべてを把握している人はいないので、多くの人々の協力を仰ぎながら問題を解決していきました。

大林:i.MX 6シリーズについては、巨大なユーザー・コミュニティ(Freescale Community)が存在します。フォーラムの運営には米国本社のアプリケーション・エンジニアも参加しており、情報の信頼性は高いです。

ー 今後の展開を教えてください。

河野:今年(2015年)上半期までに、予定していたすべての機種の出荷が始まりました。今回の成果を生かした新製品も企画していきたいと思います。

大林:i.MX 6シリーズについては、今年の2月にi.MX 6SoloXという品種を出荷していますが、さらにUltraLite、DualPlus、QuadPlusの3品種を年内に出します。DualPlusとQuadPlusは、既存のDualとQuadのグラフィックス性能を引き上げたものです。一方、UltraLiteはローパワー製品の位置づけで、Cortex-A7コアを搭載し、動作周波数も528MHzに抑えています。これでi.MX 6シリーズは全9品種となり、これまで以上に選択の幅が広がります。それとは別に、年内にi.MX 7シリーズのDualとSoloも登場します。これはCortex-A7+Cortex-M4のヘテロジニアス構成を採るプロセッサで、ビデオとグラフィックスの回路は載っていません。i.MXはこれまで、システムの高機能化・高性能化の流れを後押しする製品が多かったのですが、今後はi.MX 6 UltraLiteやi.MX 7シリーズのようなローパワー製品の拡充にも力を入れていく方針です。

APS EYE'S

デバイスの性能をソフトウェアで引き出す。当たり前のようで、なかなか難しい。FPGAやDSPを併用せずに、PCIeやNEONが搭載されているi.MX 6の機能を活かし切った。高いAudio性能と低レイテンシーが求められる業界で、ZOOMはそれを見事に具現化した。