当前位置: 首页 > wzjs >正文

烟台微网站建设网站建设企业咨询

烟台微网站建设,网站建设企业咨询,揭阳网站如何制作,温县网站建设需求描述: 需要将wav音频文件以二进制的形式读出,存放到 json 中,发送post请求到服务,服务解析json,得到二进制内容后放进ASR模型得出转录结果。 记一次坑: # 将wav以二进制形式读出存放到json中 f ope…

需求描述:

需要将wav音频文件以二进制的形式读出,存放到 json 中,发送post请求到服务,服务解析json,得到二进制内容后放进ASR模型得出转录结果。

记一次坑:

# 将wav以二进制形式读出存放到json中
f = open("zh_test_16k.wav","rb+")
content = f.read()
request_dict['audio'] = str(content)
with open('request.json', 'w') as file:file.write(json.dumps(request_dict)) 
f.close()

通过 curl管道传输request.json中的内容
(网上的命令杂七杂八,记录正确命令为 -X
-d参数房放前面,url放后面,且url用引号)

curl -X POST -d @request64.json --header “Content-Type:application/json” ‘localhost:7000/foundry_module/executor?executor=api_executor&module=asr_uni’

# 从服务端得到数据
datas = self.rfile.read(int(self.headers['content-length'])) 
datas = json.loads(datas)
wav_content = datas["audio"].encode()

encode():str转为bytes
decode():bytes转为str

wav_content # type(wav_content)= bytes 
f = open("zh_test_16k.wav","rb+")
content = f.read()
# type(content)= bytes
if(wav_content==content):print("相等")

始终不能输出"相等",此时已经快调疯了

解决办法

先将二进制内容通过base64编码

# import foundry;
import base64;
import hashlib;
import jsonencoded = base64.b64encode(open('zh_test_16k.wav', 'rb').read());                     
#decoded = base64.b64decode(encoded)
request_dict = {}
f = open('zh_test_16k.wav','rb+')
sound_wav_rb = f.read()
request_dict['audio'] = str(encoded)
request_dict['audio_format'] = 0
request_dict['sample_rate'] = 0
request_dict['lang'] = 0
with open('request64.json', 'w') as file:file.write(json.dumps(request_dict)) 
f.close()

传输request64.json文件内容

curl -X POST -d @request64.json --header “Content-Type:application/json” ‘localhost:7000/foundry_module/executor?executor=api_executor&module=asr_uni’

字符串截取base64编码不包含’b’ 和引号的内容,再解码,最后放入模型

datas = self.rfile.read(int(self.headers['content-length']))
datas = json.loads(datas)
wav_content = datas["audio"][2:-1]
wav_content = base64.b64decode(wav_content)

踩坑原因

json存在编译格式的问题,会导致原二进制文件内容多加 ”/“,因此不与原wav文件的二进制内容一致

下次不要直接以二进制读的方式,将内容存到json中了!

http://www.dtcms.com/wzjs/463630.html

相关文章:

  • 漂亮企业网站江西seo
  • 自己做网站推广需要多少钱百度一下手机版网页
  • 免费小说网站怎么做301313龙虎榜
  • 网站建设列表站长工具seo综合
  • wordpress auto spinner重庆seo霸屏
  • 怎么注册公司微信公众号最新seo操作
  • app开发用什么编程语言深圳外贸seo
  • 推广公司简介怎么写seo综合排名优化
  • 华为商城网站设计搜索网站的软件
  • 橙子建站给我发了短信企业网站推广方案
  • 建网站多少东莞今日新闻大事
  • 为什么做网站必须要用域名如何在百度发布广告信息
  • asp access网站建设源代码网络推广发帖网站
  • 网站做302跳转的意义长春网站制作计划
  • 网站建设不是一次性费用谷歌paypal官网
  • 徐州建设局网站安全证seo的收费标准
  • 怎么做网站缩略图seo简单优化
  • 冻品网站的建设背景最近一周的重大新闻
  • 交友网站建设策划方案(2)网站的排名优化怎么做
  • 做网页引用别的网站的视频湖南网络推广排名
  • 昆明做网站报价怎么营销一个产品
  • 住房与建设部网站网站seo批量查询工具
  • 怎么在企业站建立网站打开百度一下
  • 自己做片头的网站武汉搜索推广
  • 编程猫少儿编程网站优化设计答案大全英语
  • 大型o2o网站开发时间好看的html网页
  • 响应式网站开发步骤成都抖音seo
  • 怎么查看网站是否做百度排名seo发展前景怎么样啊
  • lnmp安装新版wordpress搜索引擎营销优化的方法
  • 广州企业网站建设哪家服务好百度惠生活商家怎么入驻