作品情報

ID#2596

echod-ma サウンド再生ライブラリ

一般プログラム
作者: ze-na


(ダウンロードの注意)

HSPプログラムコンテスト2025応募作品
更新日:2025-11-06
バージョン:0.8.1 (完成度81%)

ユーザーの評価 (10)

プログラム技術5
完成度4
アイデア1

echod-maは Windows専用のサウンド再生ライブラリです。

HSP3のスクリプトにサウンド再生APIを.dllにて提供します。

アプリやゲームの制作にてHSP3提供や有志のサウンド再生ライブラリでは少し不便でしたので制作しました。

バックエンド:WinMM/DirectSound/WASAPI

音源ファイル:wav/mp3/ogg/flac

APIはHSP3向けにカスタマイズしており、hspoggやovplayをベースに命令を構成しています。

Chiptuneライクの波形出力機能があり、通常の波形出力以外に簡易MMLにて音楽や効果音の再生も出来ます。

サンプルスクリプトを添付しています。
・サウンドプレイヤ
・ループ再生テスト
・グループ&マルチ再生テスト
・波形キーボード&簡易MML再生

追記:エラー停止への対策版として v0.8.1をリリースしました。

タグ:contest2025
動作環境:
プラグイン/モジュール:
ライセンス:
作成開始:
募集項目:
動画:https://x.com/Zena35443105Na/status/1984242657481363872

作品へのコメント

過去のコメントはこちら

No.15 [ぺんぺ(ぺんぺねっと)🐧]さんが作品を評価しました( 技術 完成度 ) - 2025/11/28 01:35:56

    様々な音源ファイルに対応していて細かい指定もできる優れたライブラリです。HSP3標準機能や他のライブラリに満足できなかった方はこちら試されると良いかと思います。

No.13 [窓月らら]さんが作品を評価しました( 技術 完成度 ) - 2025/11/22 01:44:18

    最初動かなかった環境でも動きましたー。
    試した感想ですが、大半はHSPOGGと同等かなと思いましたが
    HSPはサウンド系があまり強くない印象なので、
    こういうプラグインが増えることは良いと思います。
    私もそんな想いからHSP向けのソフトシンセを開発しております。

    MML(音階)の部分ですが、
    どうしてもノートオン・オフのタイミングでプツプツノイズが
    でてしまいますが、これは波形がゼロポイントのところで切替が
    できればいいのですが、DirectSoundではどうもこれがそのままでは
    できないようなので、やるとしたら自前でバッファに波形データを
    書き込んでいってストリーミングするしか手はなさそうなんですよね。
    ただしこの方法だとバッファのぶんの遅延が避けられません。
    サイン波や三角波のように倍音がほとんどない音色だと目立ってしまいます。
    矩形波やノコギリ波であれば恐らく目立ちませんね。

    私もこの部分を改良するのにちょっと苦心したのですが、
    ひとまずの結論としてはエンベロープでアタックとリリースを
    少しだけ丸めてやることで、ほとんどわからなくなりました。

    今後の更新にも期待して評価させて頂きました。

No.11 [ほんぽうちゃん]さんが作品を評価しました( 技術 完成度 アイデア ) - 2025/11/20 22:06:32

    すごい!盛りだくさん。
    hspoggを使用している時に、ループの調整に試行錯誤した覚えがありますので、ループ再生テストのサンプルが私には刺さりました。便利!

No.10 [ze-na]さんが作品にコメントしました - 2025/11/06 02:53:43

    >[ABATBeliever]さん、[ぺんぺ(ぺんぺねっと)🐧]さん、[窓月らら]さん

    作品の動作検証でお手数おかけしております。[ABATBeliever]さん、評価して頂きありがとうございます。

    こちらでもWindowsのクリーンな環境(サンドボックス)でエラー再現できました。
    結論としては参照DLLの不足(MSVCP140.dllとVCRUNTIME140.dll)です。HSP用ライブラリとして未導入DLLの参照は回避すべきでした。

    クリーンなWin10以降の環境はMSVCPが古く、ランタイムは未導入なのでエラーが発生します。

    以前は VC++エラーダイアログ(忌まわしい赤バツのシステムエラー)が表示されていましたが、Win10以降では表示されなくなったのかもしれません(公式情報は確認できず、Win10以降のUniversal CRTの導入の影響かも?)

    エラーへの対応としては、以下の選択肢となります

    1.VC++再頒布可能パッケージの事前インストールをマニュアルに明記
    2.古い命令群にて、ランタイム無しで動くように再設計(安全性や保守性に課題)
    3.ランタイムを内包したDLLの提供(DLLサイズが約200KB増加)

    1は開発者やユーザへの負担があり、2は大幅変更となるので、3となります。

    事務局へのエラー報告で差し替えが許可されれば、再リリースにて対応させて頂きます。

No.9 [ABATBeliever]さんが作品にコメントしました - 2025/11/02 19:23:18

    追加検証してきました

    動いた
    ・Windows11 24H2 実機

    動かなかった
    ・Windows10 22H2 何も入れてない純粋な実機
    ・Windows11 24H2 何も入れてない純粋な実機
    ・Windows Sandbox (11 24H2)
    ・Windows10 22H2 Virtualbox
    ・Ubuntu 24.04LTS + Wine

    miniaudio以外に何かの潜在的な依存関係があるのかもしれません

No.8 [窓月らら]さんが作品にコメントしました - 2025/11/02 19:17:36

    アスコン AT-08 (Win10Pro 22H2 64bit)でも同様でした。
    最新のWindowsUpdateを適用済です。(延長サポートあり)
    こちらも追加のdllは入れてない環境です。

No.7 [ABATBeliever]さんが作品を評価しました( 技術 完成度 ) - 2025/11/02 19:01:45

    画像が設定されてるようなmp3などもちゃんと再生できました。

    サンプルも凝ってていいですね、操作音がWindowsCEで聞いたことがあって懐かしいです...

    ただ、純粋な環境(Virtualboxに入れたて、WindowsSandBox等)では19行目でdll呼び出しエラーになりますね

No.6 [窓月らら]さんが作品にコメントしました - 2025/11/02 18:50:03

    > ぺんぺさん

    確認しましたが階層は深くはないですね。
    ためしに a というフォルダで実行しても同じです。
    先ほど書いたように私の環境は追加のランタイム等は入れませんので、何か足りてないのでしょうか。
    WindowsUpdateはしております。
    追加のランタイム等を入れた環境で開発してしまうと、気づかないうちに「ある大前提」になってしまう恐れがあるためそうしているのですが・・・
    後ほど、別の環境でもテストしてみますねー。

No.5 [ぺんぺ(ぺんぺねっと)🐧]さんが作品にコメントしました - 2025/11/02 18:39:01

    窓月ららさん、横から失礼します。
     今年私の方であった問題で、ディレクトリ階層が深く認識できない、というものがありました。もしかすると実行しているディレクトリが長い(深い)のではないでしょうか。
     ちなみに私の環境でs01_player.hspは実行でき、mp3を読み込み再生できました。

No.4 [窓月らら]さんが作品にコメントしました - 2025/11/02 18:24:07

    最新版落として試しましたが同じですね。。。
    KERNEL32.dllとWINMM.dllはなかったらOSそのものが起動できませんので、まずありますし検索してももちろんありますし、解凍したそのままですのでechod.dllも当然あります。
    なお、私のWin10(64bit)環境はできるだけ追加のdll等は手動インストールはしておりません。
    アンチウイルスの可能性はなくはないですが、MS Defenderです。以前お知らせしたときは ESET でした。どちらでも同じですね・・・
    キャプを置いておきます。
    https://miecat.com/temp/err38.png

No.3 [ze-na]さんが作品にコメントしました - 2025/11/01 10:22:32

    >[user312]さん

    作品のご利用および評価して頂きありがとうございます。

    >幾つかあるものの、選択肢が増えるのは嬉しいです。

    利用ライブラリの一つとして使っていただければ嬉しいです。

    >wavファイルで読み込めないものがあり(中略)… 条件とかありますか?

    すみません、メモリ再生ファイル制限の不具合がありました。

    メモリ再生 MP3/OGG=20MB、FLAC=40MB、WAV=30MBが無条件に適用されていたので、ストリーミング再生はほぼ無制限に修正しました。
    (HSPでは 32bit変数利用の都合上 2GBの壁が。。上限を1.5GBにしてます)

    40MBの.wavは「ストリーミング再生」をチェックして読み込んでみてください。

    >サンプルの素材はフォルダにいれてすっきりと整理し(中略)… HSP内で見れるヘルプになるととても助かります。

    素材は soundフォルダに格納し対応させていただきました。

    ヘルプは制作していましたが、関数名や引数など仕様が安定しておらず保留としてました。
    基本的にはテキストのリファレンスと同じ内容なので後日リリースするかもです。


    >[窓月らら]さん

    エラーのご報告ありがとうございます。

    s01_player.hspにて「外部DLLの呼び出しに失敗」が出るとのことですが、最初の命令(ec_init)での検出なので、
    基本的にはechod.dllにアクセスできない問題と思われます。

    ・依存DLLの不足・・・KERNEL32.dllとWINMM.dllがあれば基本問題ないです。

    ・名前解決のエラー・・・echod.asの記述ミスかもですが、私の環境や[user312]さんも動いているので問題ないです。

    ・DLLファイルが存在しない・・・この可能性が高いです。

    echod.dllがカレントやhsp実行フォルダにない(初歩的なのでありえない気がします)
    echod.dllがロックされている、ウィルス保護、バイナリエディタ、解析ツールなどの、排他アクセスで開けないものなど。
    リソースモニタのCPUタブハンドル検索でechod.dllが存在すればロックの可能性が高いです。

    再現性がないので、気になるようでしたら確認してみてください。

No.2 [user312]さんが作品を評価しました( 技術 ) - 2025/09/30 18:49:53

    HSP用のサウンドライブラリは幾つかあるものの、選択肢が増えるのは嬉しいです。
    少し試した程度なので原因までは不明ですがwavファイルで読み込めないものがありました。
    読み込めるファイルもあったのですが、何か条件とかありますか?
    思い付くところでファイルサイズがありそうかなと思ってます。
    読み込めたファイルは20MB程度、読み込めないのは40MB以上でした。

    -----------

    ライブラリの完成を楽しみにしています。
    よければサンプルの素材はフォルダにいれてすっきりと整理し、
    各命令などの説明があるマニュアルもtxtでは無くHSP内で見れるヘルプになるととても助かります。

No.1 [user312]さんが作品にコメントしました - 2025/09/30 18:35:06

    HSP3.7正式版
    Win10 Home64bit
    でs01_player.hspは普通に実行できたのでおま環ではないですか?
    案外セキュリティソフトとかがDLLをブロックしてて読み込めてないとかだったりとかそういうのを確認してみては。

No.0 [窓月らら]さんが作品にコメントしました - 2025/09/30 18:10:11

    動作しないようです・・・
    s01_player.hsp を実行してみると、

    #Error 38 in line 16 (s01_player.hsp)
    --> 外部DLLの呼び出しに失敗しました

    と出ます。実行環境は
    Windows10 pro 64bit
    HSP3.7 正式版
    です。



コメント投稿

登録ユーザーの方はログインしてください。
この作品は登録ユーザーからのコメントを受け付けています。
初めて投稿する方は、作品コメントと評価についてをよくお読みください。