白 Be 2004 年 8 月
BeOS 及びパソコン関連の日記です。といっても毎日書いているわけではありませんが(^^;)。タイトルは「はくび(白眉)」と読んで下さい。BeOS が最も優れた OS になってくれたらいいなぁ、などと期待しながら……。
各日記の日付の部分は、その日記のアドレスへのリンクになっています。他の雑談や日記からこの日記へリンクを張る際の URL 取得用としてご利用下さい。
[ << 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >> ]
2004/08/29 E 似非着うたで高音質を極める! / 高音質を極める篇 ▼
いよいよ高音質な似非着うたに挑戦。
もちろん、MA-5 で作るのだ。モノラルで 24kHz にするのと、ステレオで 12kHz にするのは迷うところだが、モノラルで 24kHz の方が良いと思う。ステレオの方がニュアンスが原曲に近くなるが、12kHz では音質に問題がある。キンキンした雑音のようなノイズが乗ってしまう。それに、今のところ、ステレオで着メロを再生できる携帯電話はあまり無い。
この辺りは個人差だと思うが、試しに 16kHz モノラルで似非着うたを作ってみたところ、キンキンノイズはあまり目立たないと感じたので、将来、MA-6 とかで 32kHz までの WAVE を再生できるようになった場合には、ステレオ 16kHz という選択肢もありかもしれない。
さて、方針が決まったところで、いよいよ作業にはいる。残念ながら MA-5 用のお手軽変換ツールは存在しないので、地道に作っていく。といってもそんなに難しいものではないが。
まずは、44.1kHz の WAVE を 24kHz に変換する。変換ツールは好きなものを使えばいいが、お薦めは SoX。コマンドラインのツールなので、コマンドプロンプトで
sox in.wav -r 24000 -c 1 out.wav resample -ql
とすれば、24kHz モノラルに変換できる。サウンドレコーダーで変換するよりもノイズが少ない。ただ、サウンドレコーダーで変換した方が迫力はあるかもしれない。個人の好みでお好きな方を。
次は、mmf への変換。YAMAHA SMAF ツールの ATS-MA5-SMAFHV を使う。
起動後に空の MIDI ファイルをドロップ。[Window|Stream PCM Assign Map]でウィンドウを開き、右クリック、New で先ほどの WAVE ファイルを指定する。Wave Name の欄にファイル名が入る。
次に、Score Window の Piano Roll ボタンをクリック。Stream PCM Assign Map ウィンドウから Piano Roll ウィンドウの下部に WAVE をドラッグ&ドロップ。緑の棒が表示されるので、曲の先頭から WAVE が表示されるように、緑の棒をずらして左端にぴったり合わせる。
後は保存するだけ。出来上がった mmf ファイルを MidRadio Player で聴こう。
もちろんこれを64 和音対応の携帯に転送すれば着メロとして使える(はず……64 和音携帯持っていないので確認していないけど)が、ファイルサイズが大きいのでパケット代には注意。20 秒くらいの曲でもファイルサイズは 250KB くらいになってしまう。
2004/08/29 D 似非着うたで高音質を極める! / お手軽作成篇 ▲ ▼
似非着うたは簡単に作ることが出来る。着メロを再生するための LSI を作っている YAMAHA が、WAVE を着メロ(似非着うた)に変換するためのツールを公開しているからだ。
YAMAHA の SMAF ツールダウンロードサイトから WSC-MA2-SMAF をダウンロードして、インストール。起動したら、お気に入りの WAVE ファイルをドロップすれば似非着うたに変換してくれる。WAVE ファイルは 44.1kHz、16bit ステレオで構わない。すべて自動で変換してくれる。
変換後の似非着うたファイル(拡張子が .mmf のファイル)はそのまま携帯にメールで送れば再生できるようになるが、携帯はパケット代が高いので PC 上で聴こう。やはり YAMAHA が公開しているツールに、MidRadio Player というものがあり、着メロ(似非着うたも)を再生することが出来る。ダウンロード、インストールして、似非着うたファイルを MidRadioPlayer にドロップすれば OK だ。
聴いて分かるが、WSC-MA2-SMAF で作った似非着うたは音質が悪い。ツール名から分かるとおり、MA2、すなわち 16 和音着メロ向けの変換ソフトなので、8kHz の WAVE になってしまうからだ。
2004/08/29 C 似非着うたで高音質を極める! / なんちゃって知識篇 ▲ ▼
実は携帯電話は、16 和音着メロ(SMAF MA-2)の時代から WAVE を再生する機能を備えていた。つまり、着うたが出るよりも前に、着うたの真似事をする能力はあった。
ただ、普通の WAVE ファイル(サンプリング周波数 44.1kHz、量子化ビット数 16bit、ステレオ、リニア PCM)を 45 秒間流そうとすると、ファイルサイズは約 7.5MB になってしまう。こんなに巨大なファイルを携帯に転送できるはずはない(少なくとも 16 和音着メロの時代は)。
このような現実を考慮してのことだと思うが、着メロとして再生できる WAVE ファイルは、最高でも 8kHz、モノラル、ADPCM に制限されている。ビット数についての記述を見つけることが出来なかったので確認は取れていないが、旧バージョンのフォーマット変換ツールの動きやフォーマット変換前後のファイルサイズなどから推定すると、16bit のリニア PCM を 4bit ADPCM に圧縮していると思われる。
8kHz の WAVE では音質はたかがしれている。しかし元々、着メロの WAVE 再生機能は曲を再生するためのものではなく、着メロの補助として、ドラムなどを鳴らすために備えられた機能だと思われる。なのでこの程度で十分なのだろう。
しかし、WAVE 再生機能があるのなら、曲を再生したいと思うのは自然な流れ。このような要望をくみ取ってくれたのか、40 和音着メロ(SMAF MA-3)では WAVE 再生能力がアップ。モノラルなら 16kHz、16bit(4bit ADPCM に圧縮)までいけるようになった。サンプリング周波数が 8kHz と 16kHz ではだいぶ音質に違いが出る。大きな進歩と言えるだろう。
64 和音着メロ(SMAF MA-5)ではさらに、モノラルで 24kHz、16bit(4bit ADPCM に圧縮)までいけるようになった。
なお、MA-3 と MA-5 ではステレオの WAVE も再生できるが、サンプリング周波数がモノラルの半分に落ちてしまう。
2004/08/29 B 似非着うたで高音質を極める! / スタートアップ篇 ▲
自分の携帯は古くて着うた対応ではないので、au の本家着うたのことはよくわからないけど……。
本家着うたは AAC 圧縮なので、ファイルサイズの割に高音質で再生できるらしい。しかし、今のところ、着うたを自作できるツールは公開されていないらしい。
着メロは自作できるのに、着うたは自作できないなんて、何とも面白くない。
しかし実は、着メロの機能の一部として、WAVE を再生する機能がある。これを利用して着うたのまねごとをしてみよう!
2004/08/29 A yu-Link 進捗状況
今まで Person ファイルへのリンクを絶対リンクにしていたけど、相対リンクに変更。これで、保存場所を移動しても大丈夫。
2004/08/28 PC の技術で完璧な「専用機」を作る
既にあちこちで取り上げられているけど、BeOS を利用したビデオ編集システムのコラム。
個人的に小寺信良さんのコラムは好きなので、小寺さんに取り上げられたのは嬉しい。
2004/08/27 SoX メモ
sox in.wav -r 8000 out.wav resample -ql
2004/08/24 スパム防止というわけではなくて
このホームページに自分のメアド書き忘れてた……。
立神さんからのご指摘で発覚。ありがとうございました。
2004/08/21 efficeon ロゴ
Transmeta のホームページでロゴ各種を公開していたので持ち帰ってみた。
2004/08/19 漢字変換でプログラムを実行
Windows+ATOK の話しだけど。
漢字変換すると perl プログラムの実行結果が得られる『ようこそ「辞書単語登録プログラミング」の世界へ』、無駄に凄い……。
2004/08/17 yu-Link Ver 2.0 DR
限定公開。
基本コンセプトが最低限実装できたバージョン。複数グループへの登録、登録項目のカスタマイズ、画像の登録。
開発のペースは非常に遅いけど、ようやく形が見えてきた。この後データの記録方法を少し変えて、後は自分で使いながら機能を増やしていくつもり。
2004/08/16 Windows DLL コール再び / 続 3 ▼
nm コマンドで、ELF に変換した共有ライブラリのシンボルをリストしてみた。
…… 1 つも無いんですけど。
変換する前の DLL もリストしてみると、やはり 1 つもシンボルがない。
.lib をリストしてみると、シンボルがずらりと並んだ。
う〜む、やはり DLL 単体では関数をエクスポートできてないのか。.lib と DLL を合わせて ELF に変換しないとダメってことだね。ちなみに、objcopy を .lib(のみ)に対して行おうとしたがうまくいかなかった。
ん、もしかして、DLL を変換する時に、同じフォルダに .lib を置いておけば、自動的に .lib の情報を使って ELF 化してくれたりするのかな? 試してみよう。
2004/08/07 こんなマシンが欲しい
次のパソコンは、こんなのがいいな〜。
CPU:Transmeta Efficeon 2GHz デュアル
ビデオ:低性能で良いから(といっても現在の GeForce2MX 400 よりは高性能になるんだろうけど)あまり発熱しないやつ
サウンド:Creative Professional 16bit/44.1kHz デジタル出力できるやつ
メモリ:1GB あれば十分かと
HDD:Serial ATA にしてみたい。容量は 200GB くらいで十分かな
光学ドライブ:DVD-RAM 10 倍速
キーボード:スペースキーの長い日本語キーボード。無変換、ひらがな、右 Windows あたりを短くするなり除去するなり
2004/08/05 D yu-Link 進捗状況 / 続 ▼
落ちるのは、new の引数がとんでもない数だったからだった。
BNode::GetAttrInfo() の返値をチェックしていなかったので、失敗した場合、attr_info::size が未初期化のまま処理が進んでしまう。結果的に、new で配列を確保する際、超マイナスな配列を確保しようとしてたりした。
初歩的なミスだなぁ……。
2004/08/05 C Windows DLL コール再び / 続 2 ▲ ▼
DLL を ELF にして共有ライブラリとしたのはいいけど、実際には使えない。
共有ライブラリとしてプロジェクトに組み込んでも、リンク時に共有ライブラリ内の関数が見つからないといってエラーになる。
アドオンとして使おうとすると、load_add_on() でロードは出来るけど、get_image_symbol() で関数のエントリポイントを取得することが出来ない。
しかし考えてみれば、Windows で DLL を使う場合、インポートライブラリ(.lib)をリンクする必要がある。つまり、DLL 単体では、DLL 内の関数をエクスポートする能力が無いのではないか? そんな DLL を .so に変換しても、共有ライブラリとしては片手落ち。
DLL と .lib を混ぜて .so に変換してくれるオプションがあるといいのだけれど。
2004/08/05 B yu-Link 進捗状況 ▲
なんか起動時に落ちるし。デバッガ使うと落ちないし。嫌だ〜。
2004/08/05 A Windows DLL コール再び / 続 ▲ ▼
Windows 用バイナリのフォーマットは pei とかいうらしい。が、よくわからない。
それはともかく、objcopy で ELF には変換できた。
BeBits の binutils がダウンロードできなかったので、GNU のサイトから binutils 1.5 をダウンロード。./configure と make で、時間はかかったけど問題なくコンパイル終了。
しかしよく見たら、Zeta には最初から binutils が入ってたのね。まぁ最新版をゲットということで、苦労は無駄ではなかったけど。
objcopy -O elf32-i386 TestDLL.dll TestDLL.so
で、DLL を ELF に変換成功。
つづきはまた今度。
2004/08/03 B Windows DLL コール再び ▲
Windows 用の DLL を BeOS 上で使おうという、以前失敗した試みをもう 1 度。
どうやら、Windows のバイナリは COFF というフォーマットで、BeOS は ELF らしい。ならば、COFF → ELF 変換をすれば load_image() でロードできるようになるのでは!?
フォーマット変換は、binutil に含まれる objcpy で出来る模様。やってみよう。
フォーマットについては、Linkers & Loaders が詳しいらしい。
フォーマット判別は file。
2004/08/03 A PC-CRAFT と東京 FXF
Zeta プリインストールマシンの販売に向けて、PC-CRAFT と東京 FXF が提携。
BeOS ファミリーユーザーの拡大につながると良いな。
2004/08/01 Mr. Peeps! 1.1 Beta 3
住所録アプリ Mr. Peeps! がバージョンアップ。
機能も UI もだいぶ yu-Link とかぶって来た……。しかも向こうの方が開発が進んでるよ……。機能的に yu-Link のみが搭載しているのは項目のカスタマイズ機能くらいだな。
[ << 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >> ]