• 締切済み

iPhoneギターアプリ開発が20MB以上に。。

現在、開発会社にアプリ開発を依頼して制作してもらっています。 アプリは簡単に言いますとPocketGuitarなどに代表される、ギターを模して 演奏する(実際に弦を押すと音が出る。ギターのテクニックも再現できる ものです)ものです。 その中でひとつ問題が出てきておりまして、アプリの容量が開発途中の現段階で すでに25MBあるのでユーザーがダウンロードするにはWifi環境が必要になると。 何がそこまで容量を食っているか確認すると、そのうちギター音源の元ファイル (6弦分の6つのwavファイル)で18MBあり、さらにギター音色変更のために今後も 別音源のwavファイルが追加になるので3G環境でダウンロードできるアプリサイズ 20MB以下は絶対無理との返事でした。 「いや、だったら他のギターアプリはもっと多機能なのに20MB以下にできている のでおかしいのでは?他アプリの検証はしてるんですか?」と食い下がったところ、 「アプリの初回起動時にMP3からPCMへ変換する処理を実装すれば、音源ファイルに MP3を使用出来そうです。難点としては、初回起動時のみ、アプリ起動完了までに 時間がかかる事です。ギター音源も複数用意するので、かなり待たされると思います。」 という回答が来ました。 初回起動と言うのは、インストール後の一回のみです。 さらに 「現時点では、MP3を初回起動時に変換するか、初回起動時にwavファイルを自動 ダウンロードする処理を入れるかの二案が考えられます。後者は色んなアプリで良く 採用されている実装です。(但し、ファイルを置く為のレンタルサーバが必要になりますが。) 今回は、ギター音源を数種類用意する想定の為、後者の方式の場合ダウンロード時間 がかかり過ぎる事が懸念されますので前者をおすすめします」 とのことでした。 あまり詳しいテクニカルなことは理解できておりませんが、上記で書かれていることが 正解なのか、本来はもっと最適な方法があるのに技術的問題等でそれができていない のかが分かっておりません。 どなたか上記について、これ以上の正解が無いのかどうかわかりやすく教えていただけ ませんでしょうか。 よろしくお願いいたします。

みんなの回答

noname#242220
noname#242220
回答No.4

wavファイルはMacで言う所の『aif』とと同様の物です。 エアーギター等の音声ファイルは何か確認してませんが、おそらく『MP3』と考えます。 そうすれば音源データは小さく出来ると思います。

angryduck
質問者

補足

ありがとうございます。 mp3ではだめなのか?との質問を開発者に送ったところ、「ギター音をmp3にした場合、単純にmp3再生するだけで とてもギターとは呼べない音になり、スライドなどのギターテクニックの再現もできません。PCM方式から波形から 制御するしか方法がありません。それ以外の方法は存在しません」とのことでした。それならなぜほかのギターアプリは 20mb以下で出来ているのか(同様の機能が入っているので)が理解できない状況です。開発者側が未熟だからなのかも 「こういう方法があるんじゃないですか」と言えないため確認が出来ずでして。。 解決しないまま、困り果てております。。もし何かご存知でしたら何卒よろしくお願いいたします。

回答No.3

アプリ本体を動作性能と基本的な音源だけとし 拡張音源やエフェクトは別売のプラグインにすれば本体は軽くなるのでは ただ 凄い完成度(拡張音源)曲などの見本をつけて於かねば プラグインは売れないかも  

angryduck
質問者

補足

ありがとうございます。説明不足で申し訳ありませんが、ギターアプリではあるのですが ギターを弾くことよりも別の目的をメインとしたものになります。で、仰る「基本的な 音源だけ」ですでに17MBあるからと言われている次第でございます。。

  • bakaok
  • ベストアンサー率22% (33/148)
回答No.2

あっそうそう書き忘れた。 iOSはmp3などの音声データではなくてMIDIとしてデータを扱うことは無理なのか? で音色データとして楽器のデータを用意する。 たぶんこれでできればかなりファイルサイズが小さくなるはずだけど。

angryduck
質問者

補足

ありがとうございます。 MIDIだとチョーキングなどがうまく扱えないようで、オーディオデータ を基本とする形にしたいようです。 mp3でも、それなりの容量になってしまいそうです。 他のアプリはMIDIでやっているのですかね。。。??

  • bakaok
  • ベストアンサー率22% (33/148)
回答No.1

mp3からPCM変換するのではなくてmp3ですべて処理するという選択肢はないのか?