MPEG2 Layer-3で実験編


このページをご覧頂き、ありがとうございます。
FOMA機種でのMP3再生に関しては、CPU性能や通信量に限界があり、低音質な再生しかできません。
このページも残しておきますが、
新たに、Ogg/Vorbisでの再生アプリ を作成しましたので、こちらをご利用ください。


SO902/P905で実験を行っています。Doja4.0以降の機種なら動くかもしれませんが、
902以降の機種でないと容量や速度(CPU)が厳しいです。
また、WAV2MLDのsa702音声が鳴る機種に限ります。 (905全機種,Nを除く903以降の機種,SH902,SO902等)


実験結果を評価してみる方は携帯からどうぞ
最新版(0.92)
前回版(0.91)

ご自分で試してみたい方、
実験キットは こちら <<<<====

実験の仕方
 1 LZHを解凍しWEBサーバ上の適当なフォルダに展開する。
 2 test.cgiのパーミッションを変更(755)する。
 3 携帯のインターネットから、WEBサーバにアクセスします。


アップデート情報
0.92: 変換応答性改善。LOADからの再生も速くなりました。
      初回LOAD→再生開始まで30秒位、2回目以降20秒位。(IXなどではもっと短いと思います)
      (MFiのつなぎ目で、若干ばらける場合あり。)




iアプリという制約の厳しい構成でMP3を鳴らすことは無理だろうと考える方が多いと思いますが、
ある程度、音質を犠牲にすればこれが可能になります。
まず携帯を使わずにPCで、ビットレートを落としてどこまで耐えられるかを試してみました。
(1) MPEG1の32kbpsでは音質が悪すぎてちょっと使えない。
(2) MPEG2だと16kbpsで何とか使えそう。
(3) 16kbpsだと感覚的には11kHz-PCMぐらいで、サイズは着ボイスの4kHz相当。

携帯アプリなので、次の制約を考えます。
(1)アプリで使うメモリは4Mくらいまでに抑える。(機種依存があるため)
(2)アプリサイズはできれば30kバイト以内にしたい。(702系では無理だと思うが)
(3)音声の再生には、MFiのADPCM再生を使う。
(4)モノラル音声で良い。

リアルタイム再生は、まぁ無理だと思いますのでオンデマンドの再生をベースに考えます。
CBR(固定長)の16kbpsモノラルだとおよそ2kバイト/秒の容量が必要ですので、
MP3用のバッファに2M割り当てると、1000秒=16分半くらいの演奏が可能になります。
(905なら10M以上使える機種がありますので、専用に組めば1時間以上の再生が可能になります。)

変換手順としては、
(1) LameでCBR 16kbps モノラルのMP3を作成してHPにアップ。
(2) iアプリを動かして↑のMP3ファイルを分割ダウンロード。
(3) iアプリ上でMP3->WAV->MFi と変換。
(4) iアプリ上でMFiの再生。

Lame FrontEndのLifeを使った場合。


MP3->WAVのコードは、あちこちにありますので適当なものを使います。
WAV->MFiについては、JavaコードがないのでWAV2MLDのCコードを元に作成します。
MFi再生ではAudioPresenterを2本使っての連続再生とします。

ここでまた制約ですが、SO902では再生用のリソースが200kまでしかとれないようで
MediaSoundは、100kB x 2本 とします。
MP3->WAV変換では16kHzのWAVができるので、16kHz-4bit ADPCMに変換。
1つのMFiとしては16kHz-100kBなので、12.5秒の再生となります。

ぱたぱたと組んでみたら、5分のMP3ファイルのMFi化に5分30秒掛かってしまった。
うっ、アプリサイズも100kBに迫る勢い...。
コードを絞り込んで、高速化をいろいろ...

む〜、SO902だとCPU限界がありそう。
なんとか、サイズ30kバイト・再生速度より若干変換速度が速い。という条件をこなせました。
(この辺りは905だともっと早いんでしょうね。)
(P905で試したら楽勝でした♪)


※OGG Vorbis/Tremorへの要望を頂いていますが、検討中です。
  q=-2ならMP3より小さくできますね。


使い方

(注意)莫大な通信量になりますので、
   必ず、パケット定額制にご加入の上、ご使用下さい。



※残念ながら、@のファイル名選択は外部サーバに対応できておりません。
 ファイル名(URL)は変更せずにLOADをクリックしてください。

1分程すると、下図のように"Play Start"と表示され、再生が始まります。




対応機種

当方で確認できているのは、SO902iだけですが、
動くのではないかと思われる機種には次のものがあります。
機種名Doja Ver.メモリサイズ(MB)
D903iTV5.06144
P903iTV5.010240
F903iX5.06144
SH903iTV5.04096
F903iBSC5.06144
P903iX5.010240
P904i5.010240
SH904i5.04096
D904i5.06144
F904i5.06144
SO903iTV5.05000
F704i5.0LE6144
SO704i5.05000
SH704i5.04096
P704i5.010240
905全機種5.1
(魔さんありがと!)



著作権など

このソフトウェアは、株式会社ハンドレットソフト(以下弊社といいます)が提供する「iAppMP3」(以下本ソフトウェアといいます)です。お客様は以下に定める条件にご同意いただいた場合にのみ、本ソフトウェアを使用できるものとさせていただきますので、ご使用の前に以下の条項を良くお読み下さい。本ソフトウェアを使用された場合は以下の条項にご同意いただいたものといたします。

1.知的所有権の帰属と使用許諾
本ソフトウェアの著作権その他の知的所有権は弊社に帰属いたします。弊社は、お客様に対し、お客様が「本ソフトウェア」を使用することのできる、譲渡不能かつ非独占的使用権を許諾します。

2.禁止・制限事項
本ソフトウェアに関し、お客様は以下に定めるいずれの事項も行なうことはできません。

・本ソフトウェアを逆コンパイル、逆アセンブル、リバース・エンジニアリングしたり、またはその他の方法により、人間が感得できる形にすること、また他人をしてこのような行為をさせること
・本ソフトウェアの全部または一部を、バックアップ以外の目的のための複製、送信、修正、改変、譲渡、貸与、賃貸、リース、転売、頒布、許諾、その他の処分をすること。
・本ソフトウェアを弊社の文書による許諾なしにネットワークサーバに複写し、伝送することおよび別のコンピュータから使用すること。
・本ソフトウェア上の知的財産権に関する一切の表示を削除または改変すること。

3.無保証
本ソフトウェアは、商品性、特定の目的に対する適合性、権利非侵害、品質その他一切を保証することなく、現状有姿のままお客様に提供されます。
本ソフトウェアおよび本ソフトウェアの生成するファイルを使用することによって生じる一切のリスクはお客様のご負担となります。
本ソフトウェアに何等かの欠陥があることが明らかになった場合には、一切のサービスと補修の費用はすべてお客様のご負担となります。
お客様が本ソフトウェアを入手された後の本ソフトウェアの保存・管理については弊社は一切責任を負いません。
お客様が入手された本ソフトウェアの消失については、その理由にかかわらず弊社は再度供給する一切の責任を負いません。




※本書の内容の一部、または全部を無断で転載することを禁止します。
※本書の内容については、将来予告なしに変更することがあります。
※WindowsおよびMicrosoftは米国Microsoft Corporationの登録商標です。
  その他の商品名は各社の商標または登録商標です。


ご意見ご要望は、info@hundredsoft.jp  まで

Copyright (C) 2007-2008 HUNDREDSOFT CORPORATION All Rights Reserved.