Пример #1
0
        public void CreatingAudioDataWithInterface()
        {
            IAudioFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(200, 2, 48000);
            var          audio = new AudioData(adpcm);

            Assert.Same(adpcm, audio.GetFormat <GcAdpcmFormat>());
        }
Пример #2
0
        public void GettingChannelsThrowsWhenOutOfBounds()
        {
            GcAdpcmFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(100, 4, 48000);

            Exception ex = Record.Exception(() => adpcm.GetChannels(4, 0));

            Assert.IsType <ArgumentException>(ex);
        }
Пример #3
0
        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());
        }
Пример #4
0
        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);
        }
Пример #5
0
        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());
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        public void DspBuildAndParseEqual(int numChannels)
        {
            GcAdpcmFormat audio = GenerateAudio.GenerateAdpcmSineWave(BuildParseTestOptions.Samples, numChannels, BuildParseTestOptions.SampleRate);

            BuildParseTests.BuildParseCompareAudio(audio, new HpsWriter(), new HpsReader());
        }
Пример #10
0
        public void BcstmBuildAndParseEqual(int numChannels)
        {
            GcAdpcmFormat audio = GenerateAudio.GenerateAdpcmSineWave(BuildParseTestOptions.Samples, numChannels, BuildParseTestOptions.SampleRate);

            BuildParseTests.BuildParseCompareAudio(audio, new BCFstmWriter(NwTarget.Ctr), new BCFstmReader());
        }