ctwgL / webrtc-beamforming

整理出来的webrtc波束模块
30 stars 18 forks source link

output channel number #1

Open framsc opened 4 years ago

framsc commented 4 years ago

nice job! In nonlinear_beamformer_test.cc WavWriter out_file(FLAGS_o, in_file.sample_rate(), 1); The output channel number needs to be the same as in_file.num_channels(). Otherwise the output signal would be interleaved. correct me if I am wrong

ctwgL commented 4 years ago

yes, If we do not make any changes to the nonlinear_beamformer_test.cc, there will be problems with the processed speech. If it is a two-channel voice, then the resulting voice length will be the sum of the two-channel voice length. so modify the line 80, then you can get the correct speech. int len1 = interleaved.size(); int len2 = in_buf.num_channels(); out_file.WriteSamples(&interleaved[0], len1 / len2);

At least I solved it this way. Do you have a better solution?