@@ -143,9 +143,9 @@ JNIEXPORT jshortArray JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_denoise0(
143143 return pcm_output ;
144144}
145145
146- JNIEXPORT jfloat JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_denoiseInPlace0 (
146+ jfloat denoiseInPlace (
147147 JNIEnv * env ,
148- jobject obj ,
148+ bool denoise ,
149149 const jlong denoiser_pointer ,
150150 const jshortArray input
151151) {
@@ -200,7 +200,9 @@ JNIEXPORT jfloat JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_denoiseInPlace0(
200200 if (speech_probability > total_speech_probability ) {
201201 total_speech_probability = speech_probability ;
202202 }
203- (* env )-> SetShortArrayRegion (env , input , i * frame_size , frame_size , output_pcm_buffer );
203+ if (denoise ) {
204+ (* env )-> SetShortArrayRegion (env , input , i * frame_size , frame_size , output_pcm_buffer );
205+ }
204206 }
205207
206208 free (input_pcm_buffer );
@@ -211,6 +213,24 @@ JNIEXPORT jfloat JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_denoiseInPlace0(
211213 return total_speech_probability ;
212214}
213215
216+ JNIEXPORT jfloat JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_denoiseInPlace0 (
217+ JNIEnv * env ,
218+ jobject obj ,
219+ const jlong denoiser_pointer ,
220+ const jshortArray input
221+ ) {
222+ return denoiseInPlace (env , true, denoiser_pointer , input );
223+ }
224+
225+ JNIEXPORT jfloat JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_getSpeechProbability0 (
226+ JNIEnv * env ,
227+ jobject obj ,
228+ const jlong denoiser_pointer ,
229+ const jshortArray input
230+ ) {
231+ return denoiseInPlace (env , false, denoiser_pointer , input );
232+ }
233+
214234JNIEXPORT void JNICALL Java_de_maxhenkel_rnnoise4j_Denoiser_destroyDenoiser0 (
215235 JNIEnv * env ,
216236 jobject obj ,
0 commit comments