HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0317
へもじmp3から波形を知りたい2未解決


へもじ

リンク

2010/3/17(Wed) 19:26:28|NO.31327

mp3を読み込み、効果音編集ソフトのように波形を表示したいのですが、
どうすればよいのでしょうか?
教えてください。



この記事に返信する


なたで

リンク

2010/3/21(Sun) 15:14:50|NO.31463

mp3はご存知の通り、波形情報を圧縮したデータです。
よって、そのままでは波形情報の表示を行えないので、
波形情報にデコードする必要があります。

デコードの方法は、sakuraさんの
「5-40. (exmp3dll.as) 外部dll呼び出し操作関連(VBMP3.dll)モジュール」
を参考にするといいと思います。
http://hspnext.com/module/library.htm

デコードしたwavファイルは、一時ファイルとしてTempフォルダにいれておき、
ソフトの終了時に削除すればいいと思います。
Tempフォルダの場所は、Kpanさんの「特殊フォルダのパスを取得」を参考に。
http://lhsp.s206.xrea.com/hsp_folder.html#3

ここで、デコードした波形情報が、
量子化ビット数16ビット(2バイト)、サンプリング周波数44100Hz、ステレオ(2チャンネル)で、
5分間の音楽を全て読み込んだ場合、約50MBのメモリの容量を使用します。
HSPの整数の数値型(4バイト)に全て変換すると約100MBです。

5分ぐらいのデータなら、今の利用できるメモリの容量なら全然十分です。
楽曲の長さが60分までならば、波形情報を2バイトで用意しておき、
動的に4バイトの数値に変換する方法をとるといった形でメモリの節約ができます。

wavファイルから波形情報を表示させる方法として、
「C++で、WAVEファイルを読み込み、その音声波形を表示するプログラムを作りたい」を参考に。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1120052521

>2.次のサイトで、少なくともGDIについて学んでから1に戻る。
ここはHSPのline命令等を使うといいです。



ys

リンク

2010/3/21(Sun) 16:02:51|NO.31464

bass(http://www.un4seen.com/)や
fmod(http://www.fmod.org/)などのDLLを使うといいかもしれません。

# ”波形”がどんな形のものか分かりませんが、
# 上に挙げたDLLと一緒に配布されているサンプルのうち
# bassのspectrum.cや、fmodのspectrum.csなどが参考になるかもしれません。



ONION software Copyright 1997-2023(c) All rights reserved.