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命令等を使うといいです。