private void CreatePcm16(CodecParameters configuration = null) { if (GetAudioFormat <Pcm16Format>() == null) { AddFormat(Formats.First().Value.ToPcm16(configuration)); } }
public override Pcm16Format ToPcm16(CodecParameters config) { short[][] audio = Decode(config); return(new Pcm16FormatBuilder(audio, SampleRate) .WithLoop(Looping, UnalignedLoopStart, UnalignedLoopEnd) .Build()); }
protected CodecParameters(CodecParameters source) { if (source == null) { return; } Progress = source.Progress; SampleCount = source.SampleCount; }
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>()); }
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 }); }
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; } }
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); }
public override Pcm16Format ToPcm16(CodecParameters config) => ToPcm16(new OpusParameters(config));
public virtual Pcm16Format ToPcm16(CodecParameters config) => ToPcm16();
IAudioFormat IAudioFormat.EncodeFromPcm16(Pcm16Format pcm16, CodecParameters config) => EncodeFromPcm16(pcm16, GetDerivedParameters(config));
public OpusParameters(CodecParameters source) : base(source) { }
private void CreateFormat <T>(CodecParameters configuration = null) where T : class, IAudioFormat, new() { var pcm = GetAudioFormat <Pcm16Format>(); AddFormat(new T().EncodeFromPcm16(pcm, configuration)); }
public CriHcaParameters(CodecParameters source) : base(source) { }
public Atrac9Parameters(CodecParameters source) : base(source) { }