Пример #1
0
 private void CreatePcm16(CodecParameters configuration = null)
 {
     if (GetAudioFormat <Pcm16Format>() == null)
     {
         AddFormat(Formats.First().Value.ToPcm16(configuration));
     }
 }
Пример #2
0
        public override Pcm16Format ToPcm16(CodecParameters config)
        {
            short[][] audio = Decode(config);

            return(new Pcm16FormatBuilder(audio, SampleRate)
                   .WithLoop(Looping, UnalignedLoopStart, UnalignedLoopEnd)
                   .Build());
        }
Пример #3
0
 protected CodecParameters(CodecParameters source)
 {
     if (source == null)
     {
         return;
     }
     Progress    = source.Progress;
     SampleCount = source.SampleCount;
 }
Пример #4
0
        public T GetFormat <T>(CodecParameters configuration = null) where T : class, IAudioFormat, new()
        {
            var format = GetAudioFormat <T>();

            if (format != null)
            {
                return(format);
            }

            CreatePcm16(configuration);
            CreateFormat <T>(configuration);

            return(GetAudioFormat <T>());
        }
Пример #5
0
        private TConfig GetDerivedParameters(CodecParameters param)
        {
            if (param == null)
            {
                return(null);
            }
            var config = param as TConfig;

            if (config != null)
            {
                return(config);
            }

            return(new TConfig
            {
                SampleCount = param.SampleCount,
                Progress = param.Progress
            });
        }
Пример #6
0
        protected override void SetupWriter(AudioData audio)
        {
            var parameters = new CodecParameters {
                Progress = Configuration.Progress
            };

            switch (Codec)
            {
            case WaveCodec.Pcm16Bit:
                Pcm16       = audio.GetFormat <Pcm16Format>(parameters);
                AudioFormat = Pcm16;
                break;

            case WaveCodec.Pcm8Bit:
                Pcm8        = audio.GetFormat <Pcm8Format>(parameters);
                AudioFormat = Pcm8;
                break;
            }
        }
Пример #7
0
        private short[][] Decode(CodecParameters parameters)
        {
            IProgressReport progress = parameters?.Progress;

            progress?.SetTotal(AudioData.Length);

            var decoder = new Atrac9Decoder();

            decoder.Initialize(Config.ConfigData);
            Atrac9Config config    = decoder.Config;
            var          pcmOut    = CreateJaggedArray <short[][]>(config.ChannelCount, SampleCount);
            var          pcmBuffer = CreateJaggedArray <short[][]>(config.ChannelCount, config.SuperframeSamples);

            for (int i = 0; i < AudioData.Length; i++)
            {
                decoder.Decode(AudioData[i], pcmBuffer);
                CopyBuffer(pcmBuffer, pcmOut, EncoderDelay, i);
                progress?.ReportAdd(1);
            }
            return(pcmOut);
        }
Пример #8
0
 public override Pcm16Format ToPcm16(CodecParameters config) => ToPcm16(new OpusParameters(config));
Пример #9
0
 public virtual Pcm16Format ToPcm16(CodecParameters config) => ToPcm16();
Пример #10
0
 IAudioFormat IAudioFormat.EncodeFromPcm16(Pcm16Format pcm16, CodecParameters config) => EncodeFromPcm16(pcm16, GetDerivedParameters(config));
Пример #11
0
 public OpusParameters(CodecParameters source) : base(source)
 {
 }
Пример #12
0
        private void CreateFormat <T>(CodecParameters configuration = null) where T : class, IAudioFormat, new()
        {
            var pcm = GetAudioFormat <Pcm16Format>();

            AddFormat(new T().EncodeFromPcm16(pcm, configuration));
        }
Пример #13
0
 public CriHcaParameters(CodecParameters source) : base(source)
 {
 }
Пример #14
0
 public Atrac9Parameters(CodecParameters source) : base(source)
 {
 }