C# 用NAudio实现Wav变换
我有一个问题,转换为a-定律的声音规则波。这样做会让我感觉质量不好:C# 用NAudio实现Wav变换,c#,naudio,wave,C#,Naudio,Wave,我有一个问题,转换为a-定律的声音规则波。这样做会让我感觉质量不好: WaveStream stream = new WaveFileReader(in.wav); var s = new RawSourceWaveStream(new WaveFormatConversionStream(new WaveFormat(8000, 16, 1), stream), new WaveFormat(8000, 16, 1)); var c = new WaveFormatConversionStre
WaveStream stream = new WaveFileReader(in.wav);
var s = new RawSourceWaveStream(new WaveFormatConversionStream(new WaveFormat(8000, 16, 1), stream), new WaveFormat(8000, 16, 1));
var c = new WaveFormatConversionStream(WaveFormat.CreateALawFormat(8000, 1), s);
WaveFileWriter.CreateWaveFile(AppDomain.CurrentDomain.BaseDirectory + "\\out.alaw", c);
或是特维斯的声音变慢了:
WaveStream stream = new WaveFileReader(in.wav);
var s = new RawSourceWaveStream(stream, new WaveFormat(8000, 16, 1));
var c = new WaveFormatConversionStream(WaveFormat.CreateALawFormat(8000, 1), s);
WaveFileWriter.CreateWaveFile(AppDomain.CurrentDomain.BaseDirectory + "\\out.alaw", c);
如何将wav转换为高质量的a-law?在这两个示例中,您都不需要
RawSourceStream
,第二个示例将无法工作,除非.wav中的恰好具有正确的格式
试试这个:
var stream = new WaveFileReader(in.wav);
var s = new WaveFormatConversionStream(new WaveFormat(8000, 16, 1), stream);
var c = new WaveFormatConversionStream(WaveFormat.CreateALawFormat(8000, 1), s);
WaveFileWriter.CreateWaveFile(AppDomain.CurrentDomain.BaseDirectory + "\\out.alaw", c);