ピコピコ音を作れるツール「sfxr」の Unity のエディタ拡張実装「usfxr」
DrPetter's homepage - sfxr
http://www.drpetter.se/project_sfxr.html
こちらを Unity エディタに移植した(※)「usfxr」というものを見つけました。
※正確には sfxr/as3sfxr/bfxr から移植したみたいです。
zeh/usfxr: A Unity port of sfxr/as3sfxr/bfxr
https://github.com/zeh/usfxr
Asset Store にも公開されています。
usfxr - Procedural Sound Effects - Asset Store
https://www.assetstore.unity3d.com/en/#!/content/18619
Asset をインストールした後、メニューから Window > Generate usfxr Sound Effects と選択するとエディタ上に sfxr と同様のインターフェイスの有るウィンドウが表示されます。
ここで効果音を作成し、「EXPORT WAV」ボタンを押すと WAV ファイルとして保存できます。
また、ここで設定するのと同様の設定を実行時に文字列設定する事により実行時に動的に効果音を作成し、鳴らす事も出来るみたいです。
この時に使用する文字列は「COPY(OLD)」と「COPY」のボタンで取得可能でどちらでも正しく音が鳴りました。
しかし、マニュアルには「COPY」を使うように書かれていたのでそちらを使う方が安全だと思います。
コード例はこちらです。
SfxrSynth synth = new SfxrSynth();
synth.parameters.SetSettingsString("0,,0.032,0.4138,0.4365,0.834,,,,,,0.3117,0.6925,,,,,,1,,,,,0.5");
synth.Play ();
この機能を Playstation Move や、 PS Vita で使った事例などがこちらに載っています。
Round-up of usfxr uses from around the web – Zeh Fernando
http://zehfernando.com/2014/round-up-of-usfxr-uses-from-around-the-web/
関連情報
JavaScriptで作られたゲーム向けのサウンドエフェクトジェネレータ「sfxr.js」 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20101013/1286989174
WAVファイルの保存と再生が出来るライブラリ「UnityWav」
AudioClip のサウンドデータをWAVファイルに保存したり、 WAVファイルから AudioClip のサウンドデータを作成し、再生が可能なライブラリです。
deadlyfingers/UnityWav: WAV utility for saving and loading wav files in Unity
https://github.com/deadlyfingers/UnityWav
この様なコードで Web 上に置いたWAVファイルをダウンロードして再生する事も可能です。
public void LoadAudio () { string url = "<WAV_FILE_URL>"; StartCoroutine (LoadAudioURL (url)); } public IEnumerator LoadAudioURL (string url) { UnityWebRequest www = UnityWebRequest.GetAudioClip (url, AudioType.WAV); yield return www.Send (); if (www.isError) { Debug.LogWarning ("Audio error:" + www.error); } else { AudioClip audioClip = ((DownloadHandlerAudioClip)www.downloadHandler).audioClip; audioSource.clip = audioClip; audioSource.Play (); } }