void Start() { Application.targetFrameRate = 60; c = Constant.CreateDefault(); ImpulseResponses.LoadAll(c); waveAudioClip = WaveAudioClip.CreateWavAudioClip("Bytes/DrumLoop2.wav"); debugButton.AddButton("Drum1", () => { waveAudioClip = WaveAudioClip.CreateWavAudioClip("Bytes/DrumLoop2.wav"); }); debugButton.AddButton("Drum2", () => { waveAudioClip = WaveAudioClip.CreateWavAudioClip("Bytes/TightFunkBreak-mono.wav"); }); debugButton.AddButton("Ochestra\nStrings", () => { waveAudioClip = WaveAudioClip.CreateWavAudioClip("Bytes/OchestraStrings-mono.wav"); }); debugButton.AddButton("Siren", () => { waveAudioClip = WaveAudioClip.CreateWavAudioClip("Bytes/PoliseCarSiren-mono.wav"); }); debugButton.AddButton("Stop", () => { isPlaying = false; audioClipStreamingPlayer.Stop(); }); positionCircle.onTouched += OnTouched; overlapAddLeft = new OverlapAdd(c); overlapAddRight = new OverlapAdd(c); bufferSample = new float[c.blockSamples]; audioClipStreamingPlayer.Initialize(c, this); }
/// <summary> /// 変換テスト /// </summary> private void ConvertTest() { if (!convertTestFlg) { return; } float[] x1 = new float[] { 1, 2, 3, 4, 5 }; float[] x2 = new float[] { 6, 5, 3, 2, 1 }; float[] impulseX = new float[] { 0.1f, 0.2f, 0.3f, 0.4f }; float[] ret; debugButton.AddButton("ConvertTest", () => { var v = new OverlapAdd(Constant.CreateTest()); v.SetImpulseResponse(impulseX); //v.SetIdentifyImpulseResponse(); v.Convolution(x1); ret = v.GetConvolution(); Debug.Log($"x1 convolution ================================="); for (int i = 0; i < ret.Length; ++i) { Debug.Log($"[{i}]:{ret[i]:0.00}"); } v.Convolution(x2); ret = v.GetConvolution(); Debug.Log($"x2 convolution ================================="); for (int i = 0; i < ret.Length; ++i) { Debug.Log($"[{i}]:{ret[i]:0.00}"); } Debug.Log($"overlap ================================="); var overlap = v.GetOverlap(); for (int i = 0; i < overlap.Length; ++i) { Debug.Log($"[{i}]:{overlap[i]:0.00}"); } }); }