VAudio.rb ========= VAudio.rb は、Windows版 Ruby から vAudio.dll を利用するためのラッパーです。 * vAudio.dll を使うと、ogg, mp3, wav等を再生できます。 * vAudio.dll + VAudio.rb を使うと、Windows版 Ruby で ogg や mp3 を再生できます。 * Ruby の fiddle を使って、vAudio.dll の機能を呼び出しています。 * DXRuby と組み合わせて使うことを前提にして作成しました。 他のDLLとの比較 --------------- vAuido.dll + VAudio.rb と、 voxrb (Vox.dll)、bassrb (bass.dll)、Ayame/Ruby (Ayame.dll) を比較した場合のメリットは以下になります。 * Vox.dll と違って、ちゃんとループ再生される。 * bass.dll と違って、商用利用時もライセンス料がかからない。 * Ayame/Ruby と違って、Rubyのバージョンが変わるたびにビルドし直さなくても動く。 * ループポイントの指定ができるので、イントロ+ループ部分で構成されたサウンドデータをループ再生できる。 逆に、デメリットは以下になります。 * 扱える波形サウンドデータは、44.1kHz, 16bit, 2ch(ステレオ) (CD音質) のみ。 vAudio.dllの入手先 ------------------ [vAudioの詳細情報 : Vector ソフトを探す!](https://www.vector.co.jp/soft/winnt/prog/se494127.html) 動作確認環境 ------------ * Windows10 x64 21H1 * Ruby 2.3.3 p222 [i386-mingw32] + DXRuby 1.4.6 x86 * Ruby 2.6.8 p205 [i386-mingw32] + DXRuby 1.4.7 x86 * Ruby 2.7.4 p191 [i386-mingw32] + DXRuby 1.4.7 x86 * Ruby 3.0.2 p107 [i386-mingw32] + DXRuby 1.4.7 x86 * vAudio.dll 3.0.2 使用例 ------ ストリーミングで再生する例。 require "dxruby" require_relative "VAudio" VAudio.init(Window.hWnd) s = VAudio.loadStream("loop_bgm.ogg") s.setRepeat(true) s.play Window.loop do break if Input.keyPush?(K_ESCAPE) end s.free VAudio.free メモリに展開してから再生する例。 require "dxruby" require_relative "VAudio" VAudio.init(Window.hWnd) s = VAudio.loadSample("jingle.ogg") s.setRepeat(false) s.play Window.loop do break if Input.keyPush?(K_ESCAPE) end s.free VAudio.free その他の機能は、03_play_stream2.rb を参照してください。 ファイル構成 ------------ * 01_play_stream.rb : ストリーミングでoggファイルを再生する例 * 02_play_sample.rb : メモリに展開してからoggファイルを再生する例。 * 03_play_stream2.rb : パンや音量等の動作確認。ストリーミングを使用 * 04_play_sample2.rb : パンや音量等の動作確認。メモリに展開してから使用 * jingle.ogg : サンプルoggファイル。ループ無し。 * loop_bgm.ogg : サンプルoggファイル。ループ前提。 * readme.md : vAudio.rb の readme * vAudio.dll : oggやmp3を再生できるDLL。 * vAudio.h : vAudio.dll に含まれている関数の一覧。 * VAudio.rb : vAudio.dll のラッパー。 * vAudio_dll_readme.txt : vAudio.dll の readme.txt * vAudioHelp.chm : vAudio.dll のヘルプファイル。使用例や各関数の説明が書いてある。 実際の利用時は、vAudio.dll と vAudio.rb の2ファイルをRubyスクリプトと同じ場所に置いておけば使えます。 License ------- VAudio.rb : Public Domain / CC0 vAudio.dll はフリーウェアとの記載あり。以下、vAudioHelp.chm から引用。 使用制限など vAudioはフリーウェアです。 vAudio.dll自体を商品として売るような行為や著作権を侵害するような行為は禁止とします。 その他は特に制限はありません。 趣味でも商用でも使ってください。 著作権表示など vAudioの著作権はHolyWingsが保持しています。 vAudio自体に著作権の表示義務はありませんが、 vAudioを使用してOgg Vorbis、MP3、FLAC形式のファイルを再生する場合は 以下の著作権表示を配布するテキストファイル等に含めてください。 -------------------------------------------------------------------------------- vAudio.dll incudes the mpglib, libogg , libvorbis and libFlac. mpglib Copyright(c) 2004 Michael Hipp. libogg Copyright (c) 2002, Xiph.org Foundation. libvorbis Copyright (c) 2002-2008 Xiph.org Foundation. libFlac Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson Thanks for creating the useful library!