// optional parameter: bool useKnownPlaces sS vosk(File audioFile, O... _) { if (isRIFFFileByContent(audioFile) && eq(wavSampleRateAndChannels(audioFile), pair(16000f, 1))) // assuming 16 bit ret vosk_recognize16KWav(audioFile, _); optPar bool useKnownPlaces; File wav = useKnownPlaces ? javaxCachesDir("16k-for-vosk.wav") : createTempFileWithExtension(".wav"); temp useKnownPlaces ? null : tempDeleteFile(wav); print("Converting " + audioFile + " to 16k WAV"); deleteFile(wav); ffmpeg_toMonoAudio_16k(audioFile, wav); ret vosk_recognize16KWav(wav, _); } sS vosk(S f, O... _) { ret vosk(newFile(f), _); }