首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用json将编码的音频字符串传递给字节?

如何使用json将编码的音频字符串传递给字节?
EN

Stack Overflow用户
提问于 2019-06-28 10:41:53
回答 1查看 1.3K关注 0票数 1

我一直试图用python实现下面的shell代码。我即将使用深度影响说话人识别api。因此,在使用它之前,我需要用用户id注册音频文件,在它们的文档中没有提供python示例,而不是下面的shell命令。

代码语言:javascript
复制
curl -X POST "https://proxy.api.deepaffects.com/audio/generic/api/v1    /sync/diarization/enroll?apikey=<ACCESS_TOKEN>" -H 'content-type: application/json' -d @data.json

# contents of data.json
{"content": "bytesEncodedAudioString", "sampleRate": 8000, "encoding":   "FLAC", "languageCode": "en-US", "speakerId": "user1" }

到目前为止,我已经编写了以下代码。

代码语言:javascript
复制
 import requests

 url = 'https://proxy.api.deepaffects.com/audio/generic/api/v1   /sync/diarization/enroll?apikey=<3XY9aG7AbXZ4AuKyAip7SXfNNdc4mwq3>'

 data = {
     "content": "bytesEncodedAudioString", 
     "sampleRate": 8000, 
     "encoding": "FLAC",
     "languageCode": "en-US", 
     "speakerId": "Pranshu Ranjan",
  }

  headers = {'content-type': 'application/json'}
  r = requests.post(url, data=data, headers=headers) 
  print(r)

但我不知道如何通过"content": "bytesEncodedAudioString"。我在本地目录中有mp3格式的音频示例。这里是deepAffects api参考,它们支持多种音频格式

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-28 10:58:48

根据文档

音频文件的内容(字符串) base64编码。

只需使用内置的base64模块对音频文件进行编码:

代码语言:javascript
复制
import base64
import requests


filepath = "C:\Audio\...\file.mp3"
with open(filepath, 'rb') as f:
    audio_encoded = base64.b64encode(f.read())  # read file into RAM and encode it

data = {
    "content": str(audio_encoded),  # base64 string
    "sampleRate": 8000, 
    "encoding": "FLAC",  # maybe "MP3" should be there?
    "languageCode": "en-US", 
    "speakerId": "My Name",
}

url = ...
r = requests.post(url, json=data)  # note json= here. Headers will be set automatically.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56805474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档