剪切声音效果/沉默的开始

时间:2014-04-24 10:45:39

标签: c# audio windows-phone-8 xna xna-4.0

我想知道是否可以在XNA Framework中以任何其他方式切断声音的开头。我通过麦克风录制声音,我正在处理这样的声音实例:

Stream的定义如下:

private MemoryStream stream = new MemoryStream();

是否有可能以某种方式修改流并切断声音的开始?

SoundEffect sound = new SoundEffect(stream.ToArray(), microphone.SampleRate, AudioChannels.Mono);
var soundInstance = sound.CreateInstance();

如何确定要删除的字节数?或者以某种方式可以检测到“沉默”/“背景”并在听到真人的声音之前自动将其剪掉?

谢谢

1 个答案:

答案 0 :(得分:1)

您必须知道录制声音的确切WaveFormat。如果您已获得精确的WaveFormat(例如16位pcm单声道),则可以遍历所有样本,检查它是否在特定范围内。如果所有样品例如小于0.1,则是静音。如果不是......播放数据。