microsoft的azure语音,开发环境运行正常,发布到centos7线上服务器之后,无法运行
创始人
2025-01-19 07:03:29
0

最近在做AI语音对话的功能,用到了azure的语音语音服务,开发的时候还算顺利,部署到线上后,发现在正式服上无法完成语音转文本的操作,提示:

org.springframework.web.util.NestedServletException: Handler dispatch
failed; nested exception is java.lang.UnsatisfiedLinkError:
com.microsoft.cognitiveservices.speech.SpeechConfig.setTempDirectory(Ljava/lang/String;)V

关键是我在测试服上运行也是好好的,有点莫名其妙。
谷歌搜索该异常的时候就看到这么个说法,说是centos7环境没有安装azure语音SDK导致的。
在这里插入图片描述
然后顺利找到官方的centos7安装语音SDK的解决方案:
https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/how-to-configure-rhel-centos-7

以为很快就能解决该问题,可是按照官方的操作流程执行下来,发现报错还是一样。然后又在官方文档翻了好久,以为是还有哪里的环境没有配置好,整到后面都想把服务器重装了,改成centos8,因为在我测试服的centos8服务器上一切运行正常。但是由于服务器上的服务有点多,怕数据丢失,最终还是回来继续折腾这该死的centos7。我发誓以后再也不装centos7了,要是再装就是个大傻叉!

然后就继续研究官方的文档,发现文档中环境设置这一部分,其实配置的是临时环境变量。
在这里插入图片描述
于是就求助万能的Chatgpt,把配置环境变量这块把环境变量做成永久的。
操作如下:

echo 'export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc 
source ~/.bashrc 
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc 
source ~/.bashrc 

执行最后一条命令的时候,一开始我是直接执行官方文档给出的命令,后来问了GPT之后才发现其实是个待填项,这个差点把我自己给蠢哭
知道是待填项之后,由于我代码中的版本是1.34.1,于是我就把命令改成了:

export LD_LIBRARY_PATH=/path/to/extracted/SpeechSDK-Linux-1.34.1/lib/centos7-x64:$LD_LIBRARY_PATH 

配置完之后,发现好像还真有用,因为服务端已经不报错了。但是是解析出来的文本一直空!我已经想骂娘了。。。。。。

然后又是找各种资料,又是求助Chatgpt,才得知/path/to/extracted/SpeechSDK-Linux-1.34.1/lib/centos7-x64是个真实的目录地址,可是我的服务器根本就没有这玩意。后来想着是不是需要额外下载,但是微软官方的文档上根本没找到这玩意,各个搜索引擎上也是没有找到。然后又开始研究官方文档的“排查SDK问题”。
在这里插入图片描述

然后找到了个方法是说可以给语音服务加日志。于是我在我的代码中加了一下的日志跟踪。不然真的是完全束手无策。。。程序没有报错信息,但是语音就是识别不了(建议所有的语音服务都加上日志跟踪,否则异常了根本没地方查!)
在这里插入图片描述

加完之后再日志文件中确实看到了报错信息,但是这报错信息又误导了我好久!

ISpxNamedProperties::GetStringValue: this=0x0x002ba008128800; name='RESULT-ErrorDetails'; value='Connection failed (no connection to the remote host). Internal error: 1. Error details: Failed with error: WS_OPEN_ERROR_UNDERLYING_IO_OPEN_FAILED wss://JapanEast.stt.speech.microsoft.com/speech/universal/v2 

然后根据这错误信息又是一顿找问题!反正我已经不记得自己折腾了多少问题了。始终没有解决!我都担心系统的环境被我玩坏了。。。。。。。

后来在找这问题的过程中,偶然看到底下这个内容,发现他这个SpeechSDK-Linux.tar.gz貌似就是我前面要找的SDK。但是这玩意真的藏得太深了。。。。。。。。。我真的想骂人!我就想说,您在官方文档中直接把这下载地址附上去不可以吗?真的是法克!!!!而且还不是可点击下载的链接。。。。。
https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/quickstart/cpp/linux/from-microphone
在这里插入图片描述
我把图中的地址打开后才下载到我想要的sdk。这个下载下来后 ,找到官方的文档,然后结合Chatgpt,才把配置搞定:
https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/how-to-configure-rhel-centos-7

最后注意,官方文档中,这个也记得要执行
https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/quickstarts/setup-platform?tabs=linux%2Crhel-centos%2Cdotnetcli%2Cdotnet%2Cjre%2Cmaven%2Cnodejs%2Cmac%2Cpypi&pivots=programming-language-java

在这里插入图片描述

这一期就纯吐槽了!主要是想把这艰苦的过程记录下,下期我整了个完整的操作流程!
最后欢迎大家来我的站点体验下丝滑的语音服务(微信中打开这个地址体验比较好):https://pcai.wailikeji.com
需要项目源码的也可以加我v:bjxueai

相关内容

热门资讯

3分钟了解!德普之星透视辅助软... 3分钟了解!德普之星透视辅助软件是真的吗,wejoker开挂,总结教程(有挂技巧)1、实时德普之星透...
5分钟辅助!途游四川小程序规律... 5分钟辅助!途游四川小程序规律(辅助挂)确实真的是有辅助方法(详细教程)1.途游四川小程序规律 选牌...
5分钟了解!购买的wpk辅助在... 5分钟了解!购买的wpk辅助在哪里下载,pokemomo辅助软件,演示教程(有挂技巧)1、超多福利:...
第1分钟辅助!拱趴游戏诀窍(辅... 第1分钟辅助!拱趴游戏诀窍(辅助挂)总是真的是有辅助软件(有人有挂)1、任何拱趴游戏诀窍透视是真的假...
第7分钟辅助!手机挂机软件(辅... 第7分钟辅助!手机挂机软件(辅助挂)确实有辅助插件(今日头条)1)手机挂机软件免费钻石:进一步探索手...
两分钟了解!wpk透视插件,德... 两分钟了解!wpk透视插件,德州之星扫描器,妙招教程(有挂教程)进入游戏-大厅左侧-新手福利-激活码...
1分钟辅助!佛手十三道辅助器(... 1分钟辅助!佛手十三道辅助器(辅助挂)确实存在有辅助方法(有挂存在)佛手十三道辅助器破解侠是真的助透...
第十分钟了解!we poker... 第十分钟了解!we poker免费辅助器,拱趴大菠萝自动计算机器人,攻略教程(真的有挂)1、金币登录...
十分钟辅助!微乐四川麻将辅助器... 十分钟辅助!微乐四川麻将辅助器(辅助挂)其实有辅助教程(有挂方针)微乐四川麻将辅助器脚本下载中分为三...
九分钟了解!wepoker有插... 九分钟了解!wepoker有插件吗,wepoker辅助器有哪些功能,手筋教程(有挂教程)1、操作简单...