diff --git a/examples/speech-examples/src/main/java/smartai/examples/speech/asr/SpeechRecognizeDemo.java b/examples/speech-examples/src/main/java/smartai/examples/speech/asr/SpeechRecognizeDemo.java index 23795d8..7b544a6 100644 --- a/examples/speech-examples/src/main/java/smartai/examples/speech/asr/SpeechRecognizeDemo.java +++ b/examples/speech-examples/src/main/java/smartai/examples/speech/asr/SpeechRecognizeDemo.java @@ -234,6 +234,8 @@ public class SpeechRecognizeDemo { @Test public void testVosk() { try { + //解决中文乱码问题 + System.setProperty("jna.encoding","utf-8"); SpeechRecognizer recognizer = geVoskRecognizer(); //建议上传 WAV 格式音频。其他格式将自动转换为 WAV,可能影响处理速度 R result = recognizer.recognize("src/main/resources/lff_zh.mp3"); @@ -289,6 +291,8 @@ public class SpeechRecognizeDemo { @Test public void testVoskAdvanced() { try { + //解决中文乱码问题 + System.setProperty("jna.encoding","utf-8"); VoskRecognizer recognizer = (VoskRecognizer)geVoskRecognizer(); //使用vosk内部接口,需要指定识别音频的采样率 Recognizer voskRecognizer = recognizer.createAdvancedRecognizer(16000); @@ -318,6 +322,8 @@ public class SpeechRecognizeDemo { @Test public void testVoskRealTime() { try { + //解决中文乱码问题 + System.setProperty("jna.encoding","utf-8"); VoskRecognizer recognizer = (VoskRecognizer)geVoskRecognizer(); //使用vosk内部接口,需要指定识别音频的采样率 Recognizer voskRecognizer = recognizer.createAdvancedRecognizer(16000); diff --git a/speech/src/main/java/cn/smartjavaai/speech/asr/model/VoskRecognizer.java b/speech/src/main/java/cn/smartjavaai/speech/asr/model/VoskRecognizer.java index cbb4fcc..31693de 100644 --- a/speech/src/main/java/cn/smartjavaai/speech/asr/model/VoskRecognizer.java +++ b/speech/src/main/java/cn/smartjavaai/speech/asr/model/VoskRecognizer.java @@ -56,6 +56,8 @@ public class VoskRecognizer implements SpeechRecognizer{ @Override public void loadModel(AsrModelConfig config) { this.config = config; + //防止中文乱码 + System.setProperty("jna.encoding","utf-8"); if(StringUtils.isBlank(config.getModelPath())){ throw new AsrException("modelPath is null"); }