저는 Python에서 Microsoft 사용자 지정 음성 서비스를 사용하고 있습니다. 현재는 HTTP 끝점 만 있습니다. 문서에 따라 웹 소켓도 지원됩니다.Azure인지 서비스 - Python 및 웹 소켓을 사용한 사용자 지정 음성
웹 소켓을 통해 데이터를 전송하는 예가 있습니까? 지금까지 토큰을 사용하여 websocket을 열어보고 있습니다. 내가 보내는 데이터를 시작할 때, 연결 오류로 104
세부 사항을 닫습니다 : - Python3 - 웹 소켓 클라이언트 - RIFF 헤더 (HTTP와 함께 작동)
들으와 WAV!
코드 샘플 :
# pip install websocket-client
def main_websocket_cris():
path_root = os.path.abspath(os.path.dirname(__file__))
filename = os.path.join(path_root, 'example_011.wav')
chunk_size = 8192
key = '<mykey>'
url = 'wss://<mydeployment>.api.cris.ai/ws/cris/speech/recognize'
token = auth_cris(key)
header = ['Authorization: Bearer %s' % token]
ws = websocket.create_connection(url, header=header)
try:
print('--- send ping')
ws.ping()
print('> ping done')
print('--- send pong')
ws.pong(b'')
print('> pong done')
print('--- status and headers')
print('> status:', ws.getstatus())
print('> headers:', ws.getheaders())
print('> status done')
headers = ['Path: audio',
'X-RequestId: %s' % str(uuid.uuid4()).replace('-', ''),
'X-Timestamp: %s' % datetime.datetime.now().isoformat(),
'Content-Type: audio/x-wav']
headers = {
'Path': 'audio',
'X-RequestId': str(uuid.uuid4()).replace('-', ''),
'X-Timestamp': str(datetime.datetime.now().isoformat()),
'Content-Type': 'audio/x-wav'
}
print(headers)
#ws.send(json.dumps(headers))
print('--- send binary data')
print('> read file in chunks of %s bytes' % chunk_size)
with open(filename, 'rb') as f:
while True:
chunk = f.read(chunk_size)
if not chunk:
break
ws.send(json.dumps(headers))
ws.send_binary(chunk)
print("> Sent")
print('--- now receive answer')
print("> Receiving...")
result = ws.recv()
print("> Received '%s'" % result)
finally:
print('--- close')
ws.close()
print('> closed')
안녕하세요, 코드 및 오류 로그에 대해 자세히 알려주십시오. –
코드 샘플이 추가되었습니다. – madkote