SmartAudio16使用例
SmartAudio16を使うと、動画のようにテンポを維持したままの音程変更や、逆に音程を維持したままのテンポ変更を容易に行うことができます。
MP3などのミックスされたオーディオデータは、テンポを速めようと再生速度を上げると、音程も一緒にあがってしまいます。これは、オーディオ波形のデータを間引くことで、音程をつかさどる『波長』も一緒に短くなってしまうためです。
しかし、SmartAudio16では既存のMIDI規格と同様、シーケンス(譜面)データと音源データを分けた構造となっています。テンポやキーがどのように変化しようと、譜面データが書き換わるのみで、音源データには影響はありません。そのため、ミックスされたオーディオデータでは実現が困難な、独立したキーやテンポの操作が可能となるのです。
スマートフォン向けサウンドエンジン SmartAudio16 の概要
サウンド制作に長年たずさわってきたピュアサウンドは、このたびスマートフォン(ios , Android)向けサウンドエンジンSmartAudio16を開発いたしました。 多数の音楽・効果音をコンパクトにまとめるだけではなく、発音数管理、優先順位処理もこなすプログラマーに優しいミドルウェアです。
SmartAudio16は、iOS、AndroidOSが搭載された端末上でサウンド演奏を行なうためのライブラリです。
『独自で構築した音源を、独自シーケンスを使用して演奏する』という点において、OS標準のサウンド演奏用サービスとは大きく異なります。
SmartAudio16は旧来の家庭用ゲーム機や携帯ゲーム機、また着信メロディなどと同様の設計思想を持っており、少ないリソース容量でありながら多彩なサウンドの演奏を実現します。
また、SmartAudio16で使用するメモリ領域のサイズは初期化時に任意のサイズを指定できるため、プロジェクトごとに柔軟なメモリ設計が可能です。
特に大量のサウンドを必要とする大規模なゲームアプリケーションや、発音数管理やメモリ管理が煩雑で、プログラマーの負担となるようなアクション性、インタラクティブ性の強いアプリケーションのサウンド開発において効果を発揮します。
1.仕様・特徴
SmartAudio16は、iOSやAndroidOSの標準サウンド演奏サービスにはない、次の特徴を備えています。
シーケンスによる演奏
SmartAudio16では、スタンダードMIDIファイルを圧縮した非常にコンパクトなシーケンスデータと、音源データを使用して楽曲を演奏します。
演奏に必要な全てのサウンドデータは、『spkgサウンドパッケージファイル』という1つのファイルにまとめられるので、プログラマーは大量のサウンドデータのファイル管理に煩わされる必要がありません。
最大16個のシーケンスを同時演奏可能
SmartAudio16は、シーケンスを演奏するための『シーケンスプレイヤー』という仕組みを備えています。 シーケンスの演奏を開始する際、SmartAudio16がシーケンスに対して自動的に1つのシーケンスプレイヤーを割り当てます。 シーケンスプレイヤーは16個まで用意することができ、それぞれ並列して動作するため、最大で16個のシーケンスを同時演奏することが可能です。
最大16音同時発音可能
たとえばシューティングゲームのように、短時間のうちに多数の効果音が鳴らされるアプリケーションの場合、効果音を際限なく演奏すると、メモリを予想以上に消費したり、CPUの負荷が過剰となります。
CPUの負荷を抑えるために、同時に演奏される効果音の数を制限することが考えられますが、そのような処理を追加することは、プログラマーにとって煩雑な作業であるといえます。
SmartAudio16では、あらかじめ最大の同時発音数を16音に制限しており、後述するプライオリティにより自動的に発音数管理を行うので、プログラマーもサウンド制作者も、シビアに発音数を管理する必要はありません。
プライオリティを用いた発音制御
SmartAudio16は、シーケンスや発音数の最大値を超えた場合、どのサウンドを優先して演奏するかを決めるための『プライオリティ(優先度)』という仕組みを備えています。
プライオリティはサウンド制作者が任意に設定することができます。
そのプライオリティ設定に基づき、SmartAudio16が自動的に発音の管理を行うので、プログラマーは優先度を一切意識せずに最適なサウンド演奏が行われます。
プライオリティには2タイプあり、シーケンスプライオリティはシーケンスプレイヤーの同時演奏数の制御に、トラックプライオリティは16音という発音数の制御に使用されます。
簡潔で安心なメモリ管理
SmartAudio16は、初期化時に連続した動的メモリ領域を『サウンドヒープ』として確保します。
演奏のために必要なデータはすべてサウンドヒープ内に配置されるので、サウンドヒープ外の領域へ無作為に、また予期しない場所に配置されることはありません。
メモリの使用状況を確認するためのメソッドが用意されているので、メモリ管理も容易です。
大量のシーケンスも手軽に一括ロード
サウンドヒープへのデータのロードは、複数のシーケンスと、シーケンスの演奏に必要なオーディオデータをを一かたまりにした『グループ』を単位として行います。
たとえ100個を超える効果音でも、ひとつのグループにまとめれば、たった一回のメソッド呼び出しで演奏に必要なすべてのデータをサウンドヒープへロードすることができます。
安定性の高いCPU負荷
SmartAudio16の1秒間のCPU使用率平均値は、通常9%程度です。(注)
OS標準のサウンド演奏サービスでは、同時演奏するオーディオデータの数が増えるほどCPU使用率も増大していきますが、SmartAudio16では同時発音数の制限内で処理を行うため、極端にCPU使用率が上昇することはありません。
そのため、アプリケーションを通じて安定した動作を実現します。
(注. iPhone4での計測値)
2.プログラマーに優しいライブラリ
一つのライブラリと一つのサウンドデータをリンクするだけで準備完了
サウンドデータ全てを、専用オーサリングツールSoundJungleで一つのサウンドパッケージファイルにパッキング。 膨大なリソースデータの管理に煩わされることは、ありません。
3.動作条件
SmartAudio16の動作環境を次に示します。
2.1.iOS版
- 機種: iPhone 3GS以降 / iPad (armv7アーキテクチャに対応したCPUを搭載している機種)
- 言語: Objective-C
- OS: iOS4.0以上
2.2.AndroidOS(Java)版
- 機種: ARMアーキテクチャを採用しているCPUが搭載されたAndroidOS端末
- 言語: Java
- OS: AndroidOS2.1以上(API level 7)
2.3.AndroidOS(NativeActivity)版
- 機種: ARMアーキテクチャを採用しているCPUが搭載されたAndroidOS端末
- 言語: C
- OS: AndroidOS2.3.3以上(API level 10)
4.オーサリングツールSoundJangle
既存のMIDIファイルやオーディオファイルからデータ作成可能
別途オーサリングツールを使用することにより、spkgサウンドパッケージファイルを独自に作成することが可能です。
spkgサウンドパッケージファイルはスタンダードMIDIファイルやaif、wavファイルといった一般的なデータを使用して作成するので、着信メロディやゲーム機等で使用した過去のリソースを活かすことが出来ます。
またADPCM形式のwavファイルにも対応しています(注1)。
データサイズは、シーケンスデータでは通常のMIDIファイルの約50%、オーディオデータではADPCM使用時に限りaifの約25%のサイズに削減されます(注2)。
(注1. ただし、サウンドヒープへのロード時に、リニアPCM形式にデコードされます。)
(注2. シーケンスデータの容量削減効率はデータ量が多ければ多いほど上がります。そのため、極端に短いシーケンスデータでは容量削減効果が得られません。)
- ※「Android」はGoogle Inc.の商標または登録商標です。
- ※「Java」は、Oracle America, Inc. の商標です。
- ※「ARM」はARM 社の登録商標です。
- ※その他記載されている会社名、製品名は各社の登録商標または商標です。
サウンド・アセット関連 制作事例
サウンド・アセット
Androidアプリ『Pure Orgel Sound』 バージョン1.2.0アップデートのお知らせ
Playストアにて無料配信中のオルゴール演奏アプリ『Pure Orgel Sound』のアップデートを行いました。
2014年3月28日 アップデート
Pure Orgel Soundバージョン1.2.0
今回のアップデートでは、待望の新曲追加を行いました!
チャイコフスキー『弦楽セレナード第1楽章』と『白鳥の湖より"情景"』、ビゼー『アルルの女 第2組曲より"メヌエット"』の計3曲が新たに楽しめるようになりました。
ぜひダウンロードしてみてください!
Playストアにて無料配信中です。
対応OS
: AndroidOS 2.3.3以降
ジャンル
: 音楽プレイヤーアプリ
企画・開発
: ピュアサウンド
価格
: 無料(※アプリ起動時に広告が表示されます)
サウンド・アセット
Androidアプリ『Pure Orgel Sound』リリースのお知らせ
Playストアにて無料配信中のオルゴール演奏アプリ『Pure Orgel Sound』のアップデートを行いました。
2014年3月18日 アップデート
Pure Orgel Soundバージョン1.1.2
今回のアップデートでは、曲の自動送り機能/シャッフル演奏機能を追加しています。
もちろん、これまでの一曲繰り返し再生機能もあり、気分に合わせて演奏スタイルを自由に切り替えることができます。
より楽しみ方が増えた『Pure Orgel Sound』を、この機会にぜひお試しください!
Playストアにて無料配信中です。
対応OS: AndroidOS 2.3.3以降
ジャンル: 音楽プレイヤーアプリ
企画・開発: ピュアサウンド
価格: 無料(※アプリ起動時に広告が表示されます)
サウンド・アセット
Androidアプリ『Pure Orgel Sound』リリースのお知らせ
弊社開発のオルゴール演奏アプリ『Pure Orgel Sound』がついに正式リリースとなりました!
2014年2月21日 配信開始
Pure Orgel Sound
現在15曲収録されているオルゴール楽曲は、これからも増えていく予定です。
また音楽プレイヤーアプリとしては珍しい『自由にキーやテンポを変えられる』機能を搭載しています。
ぜひ、いろいろと触って楽しんでください!
Playストアにて無料配信中です。
対応OS: AndroidOS 2.3.3以降
ジャンル: 音楽プレイヤーアプリ
企画・開発: ピュアサウンド
価格: 無料(※アプリ起動時に広告が表示されます)
サウンド・アセット
スマートフォンアプリ開発者向けミドルウェアの紹介
SmartAudio16は、ピュアサウンドが提供するスマートフォンアプリ開発者向けミドルウェアです。
同時発音数管理やサウンドごとの優先順位判定を自動的に行いつつ、サウンドデータ全体をコンパクトに抑えるサウンドエンジンです。
ひとつのライブラリと、ひとつのサウンドデータだけで構成されるため、組み込み作業はたいへんシンプル。
アプリケーションプログラマーに優しいインターフェイスとなっております。
SmartAudio16で動作するデータ作成のために、専用オーサリングツールも提供されます。
関連リンク
サウンド・アセットの全作品を見る