在Java中开始录制 *** 作时,如何检测静音?
计算一组声音帧的dB或RMS值,并确定将其视为“静音”的级别。
什么是PCM数据?
数据是在脉冲编码调制格式。
如何在Java中计算PCM数据?
我不明白这个问题。但是,猜测它与
speech-recognition标记有关,我有一些坏消息。从理论上讲,这可以使用
Java Speech API来完成。但是,显然没有可用于API的“语音到文本”实现(仅“文字到语音”)。
我必须为语音识别项目计算均方根值。但是我不知道如何用Java计算。
对于信号double范围在-1到1之间的单个通道,可以使用此方法。
public double volumeRMS(double[] raw) { double sum = 0d; if (raw.length==0) { return sum; } else { for (int ii=0; ii<raw.length; ii++) { sum += raw[ii]; } } double average = sum/raw.length; double sumMeanSquare = 0d; for (int ii=0; ii<raw.length; ii++) { sumMeanSquare += Math.pow(raw[ii]-average,2d); } double averageMeanSquare = sumMeanSquare/raw.length; double rootMeanSquare = Math.sqrt(averageMeanSquare); return rootMeanSquare;}
有一个字节缓冲区来保存行中的输入值,我应该使用该缓冲区做什么?
如果使用该
volumeRMS(double[])方法,则将
byte值转换
double为-1到1范围内的值的数组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)