public void CreatingAudioDataWithInterface() { IAudioFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(200, 2, 48000); var audio = new AudioData(adpcm); Assert.Same(adpcm, audio.GetFormat <GcAdpcmFormat>()); }
public void GettingChannelsThrowsWhenOutOfBounds() { GcAdpcmFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(100, 4, 48000); Exception ex = Record.Exception(() => adpcm.GetChannels(4, 0)); Assert.IsType <ArgumentException>(ex); }
public void GettingSpecificChannels() { GcAdpcmFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(100, 4, 48000); GcAdpcmFormat partial = adpcm.GetChannels(2, 0, 2); Assert.Equal(100, partial.SampleCount); Assert.Equal(3, partial.ChannelCount); Assert.Equal(adpcm.Channels[2], partial.Channels[0], new GcAdpcmChannelComparer()); Assert.Equal(adpcm.Channels[0], partial.Channels[1], new GcAdpcmChannelComparer()); Assert.Equal(adpcm.Channels[2], partial.Channels[2], new GcAdpcmChannelComparer()); }
public void AddingFormatsOfDifferentLengthThrows() { GcAdpcmChannel[] channels = GenerateAudio.GenerateAdpcmSineWave(100, 2, 48000).Channels; GcAdpcmChannel[] channels2 = GenerateAudio.GenerateAdpcmSineWave(200, 2, 48000).Channels; var adpcm = new GcAdpcmFormat(new[] { channels[0] }, 48000); var adpcm2 = new GcAdpcmFormat(new[] { channels2[1] }, 48000); Exception ex = Record.Exception(() => adpcm.Add(adpcm2)); Assert.IsType <ArgumentException>(ex); }
public void AddingFormatsTogether() { GcAdpcmChannel[] channels = GenerateAudio.GenerateAdpcmSineWave(100, 2, 48000).Channels; var adpcm = new GcAdpcmFormat(new[] { channels[0] }, 48000); var adpcm2 = new GcAdpcmFormat(new[] { channels[1] }, 48000); GcAdpcmFormat combined = adpcm.Add(adpcm2); Assert.Equal(adpcm.Channels[0], combined.Channels[0], new GcAdpcmChannelComparer()); Assert.Equal(adpcm2.Channels[0], combined.Channels[1], new GcAdpcmChannelComparer()); }
public void BrstmLoopAlignmentIsSet() { GcAdpcmFormat audio = GenerateAudio.GenerateAdpcmSineWave(BuildParseTestOptions.Samples, 1, BuildParseTestOptions.SampleRate); audio = audio.WithLoop(true, 1288, 16288); var writer = new BrstmWriter { Configuration = { LoopPointAlignment = 700 } }; byte[] builtFile = writer.GetFile(audio); IAudioFormat parsedAudio = new BrstmReader().ReadFormat(builtFile); Assert.Equal(1400, parsedAudio.LoopStart); Assert.Equal(16400, parsedAudio.LoopEnd); }
public void AddDifferentFormats() { Pcm16Format pcm = GenerateAudio.GeneratePcmSineWave(100, 1, 48000); GcAdpcmFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(100, 1, 48000); var audio = new AudioData(pcm); var audio2 = new AudioData(adpcm); AudioData combined = AudioData.Combine(audio, audio2); Assert.Collection(combined.GetAllFormats(), x => Assert.True(x is Pcm16Format)); var pcmCombined = combined.GetFormat <Pcm16Format>(); Assert.Same(pcm.Channels[0], pcmCombined.Channels[0]); Assert.Equal(2, pcmCombined.ChannelCount); }
public void IdspAlignsLoopToBlock(bool loops, int startIn, int endIn, int startOut, int endOut, int blockSize) { GcAdpcmFormat audio = GenerateAudio.GenerateAdpcmSineWave(BuildParseTestOptions.Samples, 2, BuildParseTestOptions.SampleRate); audio = audio.WithLoop(loops, startIn, endIn); var config = new IdspConfiguration { BlockSize = blockSize }; byte[] idsp = new IdspWriter().GetFile(audio, config); var decoded = (GcAdpcmFormat) new IdspReader().ReadFormat(idsp); Assert.Equal(startOut, decoded.LoopStart); Assert.Equal(endOut, decoded.LoopEnd); }
public void DspBuildAndParseEqual(int numChannels) { GcAdpcmFormat audio = GenerateAudio.GenerateAdpcmSineWave(BuildParseTestOptions.Samples, numChannels, BuildParseTestOptions.SampleRate); BuildParseTests.BuildParseCompareAudio(audio, new HpsWriter(), new HpsReader()); }
public void BcstmBuildAndParseEqual(int numChannels) { GcAdpcmFormat audio = GenerateAudio.GenerateAdpcmSineWave(BuildParseTestOptions.Samples, numChannels, BuildParseTestOptions.SampleRate); BuildParseTests.BuildParseCompareAudio(audio, new BCFstmWriter(NwTarget.Ctr), new BCFstmReader()); }