Java 分割音频信号
我有一个输入的音频信号作为一个数组的双。我想通过将信号分割成25毫秒的哈明窗口分析帧,重叠50%,来制作该信号的帧。我有计算汉明窗的代码。有人能告诉我如何将音频信号分割成帧吗?首选伪代码或Java代码。伪代码:Java 分割音频信号,java,algorithm,audio,signal-processing,Java,Algorithm,Audio,Signal Processing,我有一个输入的音频信号作为一个数组的双。我想通过将信号分割成25毫秒的哈明窗口分析帧,重叠50%,来制作该信号的帧。我有计算汉明窗的代码。有人能告诉我如何将音频信号分割成帧吗?首选伪代码或Java代码。伪代码: Fs = 44100; // sample rate, e.g. 44.1 kHz overlap = 0.5; // overlap = 50% nw = Fs * 0.025; // no of samples
Fs = 44100; // sample rate, e.g. 44.1 kHz
overlap = 0.5; // overlap = 50%
nw = Fs * 0.025; // no of samples in window
ns = nw * (1.0 - overlap); // no of samples to increment n0, n1
n0 = 0; // window sample no begin
n1 = n0 + nw; // window sample no end
N = 10 * Fs; // N = total no of samples to process, e.g. 10 seconds
do
get nw samples from n0 to (n1 - 1) into temporary buffer
apply window function to temporary buffer
apply FFT to temporary buffer
... etc ...
n0 += ns; // increment window start/end by no of overlap samples
n1 += ns;
while n1 <= N;
Fs=44100;//采样率,例如44.1 kHz
重叠=0.5;//重叠=50%
nw=Fs*0.025;//窗口中的样本数
ns=nw*(1.0-重叠);//增加n0、n1的样本数量
n0=0;//窗口示例无开始
n1=n0+nw;//窗口示例没有结束
N=10*Fs;//N=要处理的样本总数,例如10秒
做
将nw样本从n0到(n1-1)放入临时缓冲区
将窗口函数应用于临时缓冲区
将FFT应用于临时缓冲区
... 等
n0+=ns;//按重叠样本数增加窗口开始/结束
n1+=ns;
而n1