公開ここが大変だよiPhone開発(3):iPhone音楽アプリ「メロディベル」ができるまでiPhone開発の一通りの流れに沿って、準備するもの、仕様の決め方、実装の仕方の手順を説明。「日本人がつまずきやすい10のポイント」からスタートした連載第2回「iPhone開発。サンプルを動かしてみよう」では、はじめてのiPhoneアプリ記事として、ツール類の使い方とHelloWorldの作成までを説明しました。今回はHelloWorldの次のステップとして、弊社代表アプリである「メロディベル」の作り方を紹介します。一般的にアプリを作る場合は、企画に沿って、実現できそうか判定し、素材を集めて開発しますので、本記事もiPhone開発のひととおりの流れに沿って説明していきます。いえ、弊社のケースは法人なので、3〜4名での作業をしています。そのため個人でオリジナルアプリを開発している場合には、参考にならない所があるかもしれませんが、自分ができない部分は外部委託してチーム開発されるケースもあると思いますので、ぜひ参考にしてください。ちなみに弊社でも数件、個人の方から開発依頼の問い合わせをいただきました。開発リソース不足のため、お断りすることになってしまいましたが、企画者さんの熱い思いが伝わってくるアプリの企画書でした。アイデア出し(企画)アイデア出しと一言でいっても、ブレーンストーミングや、ヒラメキなどいろいろな方法があります。弊社では、思い付いたネタは、すぐに皆に話します。その場でブレーンストーミング会になることも多いです。自分だけでアイデアを考えていた場合は、非常にいいと思っていても、他人に話すことで、実は似たようなものがすでにあることがあります。逆に、他人の意見を取り入れることで、さらに良くなることもあります。どんなことでも良いので、思い付いたらすぐに皆に話してみることは非常に重要です。アイデアの種はいろいろなところに落ちています。過去に好きだったゲーム・サービスブレーンストーミング雑誌/TVヒラメキ普段から、メモ帳などを持ち歩き、思い付いたらメモしておくことも重要です。メモ帳がなければ、誰かに電話して、伝えておくのでもいいと思います。メロディベルの場合は、弊社橋本のヒラメキから生まれました。橋本が友人の結婚式で、余興としてハンドベルを演奏したことがあります。練習中、iPhoneに題目曲を入れて聞いていました。その際、ハンドベルをイメージして手に持っていたiPhoneを振っていたところ、ヒラメキが生まれました。そのヒラメキをメンバーに話すと、全員「それはいい!」ということで開発が決定しました。その後のブレーンストーミングから、シングルモードとマルチプルモードの2パターンがあった方がユーザーに喜ばれるだろうということになり追加しました。いう企画から、アプリの開発を行うに当たって基本的な仕様を大まかに作ります。仕様4−3・タイトルに戻れる基本的な仕様としては、ざっくりとこんなものでしょう。どの仕様も、サンプルやほかのアプリで見たことがある動きですので、iPhoneで実現可能なものばかりです。(注)iPhoneのSDKを導入したら、一通りすべてのサンプルを実行して頭の片隅に置いておきましょう。こだわりのサウンド「メロディベル」は、ベルの音質にこだわりがあります。あの生々しい音は、すべての音階をそれぞれ別々にマルチサンプリングし、iPhoneのスピーカーの特性に合わせて補正をしたものです。下記に、その手順をご説明します。ベルの音のレコーディングコニットの音処理・映像処理の作業などは、同社取締役である中島の自宅兼スタジオで行います。指向性のあるコンデンサ・マイクに向けて、ハンディベルの音を鳴らして音を収録します。この時点で、音量や音の減衰具合などは、同じ音階であっても2回として同じ具合に鳴ることはないので、各音階を何回か収録します。指向性のあるコンデンサ・マイクで収録。単音の調整(1)で収録した音のうち、使えそうなクオリティの音を抜き出します。SoundFougeで波形を見て、音の立ち上がりのタイミング、減衰のタイミングを規定の秒数に合わせます。同時に、EQで余分なノイズや不必要な低域の周波数の除去など行い、音を磨きます。これをマルチサンプリングしたすべての音階に対して行います。この段階で、iPhoneのスピーカーで鳴らしたときに気持ち良く鳴るように、実機で鳴らしつつ、音質を詰めていきます。4の各トラックに並べて、音量やEQなどの最終調整を行います。ここでは、減衰具合を統一するために、コンプレッサーを使用して調整しています。何音も重ねて鳴らしたときに音が割れないように、ピークを-3dbくらいに合わせました。調整が完了したらトラックダウンし、音階ごとに波形を分けます。サンプリングレートの調整ここまでは、48kHz・16bitにて作業を行ってきましたが、このクオリティのままiPhoneのアプリにすると、アプリのサイズがとんでもなく大きくなってしまいますので、サンプリングレートを落とします。どこまでレートを落としても聴感上問題がないかを、実機で実験しながら確認し、容量と音質のベストバランスを探します。機能ごとにサンプルを探す(必要なAPIの調査)素材の制作と並行して、開発の下準備(調査)をします。今回はどの機能も、どこかで見たことのある機能なのでサンプルの調査だけでできそうですね。(注)iPhoneのSDKを導入したら、一通りすべてのサンプルを実行して頭の片隅に置いておきましょう。オブジェクトが移動するアニメーションの調査(仕様1−1)参考にするサンプル:Touchesが似ています。アニメのようなアニメーションの調査(仕様2−4、3−3)参考にするサンプル:UICatalogのImage部分がそのまま使えそうですね。画面切り替え時のアニメーションの調査(仕様1−3、2−5、3−5、4−3)参考にするサンプル:UICatalogのTransition部分がそのまま使えそうですね。加速度センサ機能の調査(仕様2−1)参考にするサンプル:AccelerometerGraphのサンプルがそのまま使えそうですね。サウンドファイルを再生する機能の調査(仕様2−1、3−2)参考にするサンプル:SysSoundのサンプルがそのまま使えそうですね。横画面に切り替える機能の調査(仕様3−4)参考にするサンプル:MoviePlayerのサンプルが似ていますね。iPhoneの画面より大きい画像をスクロールで表示する機能の調査(仕様4−1)参考にするサンプル:Scrollingのサンプルがそのまま使えそうですね。スクロールをページ単位でスライドさせる機能の調査(仕様2−2、2−3)参考にするサンプル:PageControlのサンプルが似ていますね。Webページを表示する機能の調査(仕様4−2)参考にするサンプル:UICatalogのWeb部分がそのまま使えそうですね。メロディベルの実装5章で事前調査をした結果、メロディベルのほとんどの機能がSDKのサンプルを参考にすれば実装可能となることが分かりました。これはメロディベルに限ったことではありませんが、アプリを作る際に「サンプルが用意されていない」といった挫折の原因もほとんどありません。そのためObjective-Cというマイナーな開発言語にもかかわらずiPhoneSDKは想像以上にとっつきやすい環境といえるでしょう。すべての実装を公開することはできませんが、ポイントとなるソースを紹介したいと思います。transform;最後に今回は弊社アプリメロディベルの作り方を題材にして、過去を振り返って書いてみましたが、素材以外の部分(=コードの部分)は、各種サンプルを参考にして驚くほど簡単に開発できると思います。皆さんもアプリ制作の第一歩として、メロディベルの制作にチャレンジしてみてください。連載では、引き続き、実機インストール、リリース手順、OpenGLについても説明していきます。コニット初仕事から約8年、一貫してJava+Oracleなどのオープン系技術者として従事。大小さまざまな開発プロジェクトを経験し、現在はコニットにて念願の自社製品開発に奮起。EBSの開発・コンサルティングに従事。その後、夫婦でビーズバッグを販売するECサイトを起業。独自コンテンツを世に出したいという思いから、自身ベンチャー起業3社目となる株式会社コニットを創業。海外でのライブ・DJ出演歴多数。レーベルオーナーとして多数のCDとDVDをリリース。2005年より株式会社VIBEにて複数の音楽系モバイルサイトの構築を経験した後、口コミグルメサイト「アスクユー」(運営:バンダイネットワークス株式会社)のプロデューサーとして活動。2008年より株式会社コニットの立ち上げに参画、iPhoneのオリジナルアプリケーションの企画とディレクションに従事。3.0の新機能iPhone音楽アプリ「メロディベル」ができるまでiPhone開発。盛り上がるiPhoneアプリ開発。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。