Ejemplo n.º 1
0
        public void AnalyzeZeroSamples()
        {
            var g   = new GainAnalyzer(8000);
            var res = g.AnalyzeSamples(new double[] {}, null);

            Assert.AreEqual(AnalyzerResults.Ok, res);
        }
Ejemplo n.º 2
0
        public void AnalyzeTooFewSamples()
        {
            var analyzer = new GainAnalyzer(8000);
            var res      = analyzer.AnalyzeSamples(new[] { 0.5, 0.4, 0.3 }, null);

            Assert.AreEqual(AnalyzerResults.Ok, res);

            Assert.ThrowsException <ArgumentException>(() => analyzer.GetTitleGain());
        }
Ejemplo n.º 3
0
        public void AnalyzeMaxVolume()
        {
            var analyzer = new GainAnalyzer(8000);

            var res = analyzer.AnalyzeSamples(
                Enumerable.Range(0, 400).Select(a => 32767.0).ToArray(), null);

            Assert.AreEqual(AnalyzerResults.Ok, res);

            var gain = analyzer.GetTitleGain();

            Assert.AreEqual(2.82, gain, 0.00001);
        }
Ejemplo n.º 4
0
        public void AnalyzeLargeWindowOfSilence()
        {
            var analyzer = new GainAnalyzer(8000);

            var res = analyzer.AnalyzeSamples(
                Enumerable.Range(0, 40000).Select(a => 0.0).ToArray(), null);

            Assert.AreEqual(AnalyzerResults.Ok, res);

            var gain = analyzer.GetTitleGain();

            Assert.AreEqual(64.82, gain);
        }
Ejemplo n.º 5
0
        public void AnalyzeWhiteNoise()
        {
            var analyzer = new GainAnalyzer(8000);
            var rnd      = new Random();

            var res = analyzer.AnalyzeSamples(
                Enumerable.Range(0, 1000).Select(a => (double)rnd.Next(-32768, 32767)).ToArray(), null);

            Assert.AreEqual(AnalyzerResults.Ok, res);

            var gain = analyzer.GetTitleGain();

            Assert.AreEqual(-16.18, gain, 0.01);
        }