解决vosk中文乱码问题

This commit is contained in:
dengwenjie
2025-12-23 14:24:21 +08:00
parent b0736c6494
commit a707e41d9d
2 changed files with 8 additions and 0 deletions

View File

@@ -234,6 +234,8 @@ public class SpeechRecognizeDemo {
@Test
public void testVosk() {
try {
//解决中文乱码问题
System.setProperty("jna.encoding","utf-8");
SpeechRecognizer recognizer = geVoskRecognizer();
//建议上传 WAV 格式音频。其他格式将自动转换为 WAV可能影响处理速度
R<AsrResult> 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);

View File

@@ -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");
}