使用AWS Transcribe进行单词同步的解决方案是使用Amazon Transcribe对音频文件进行转录,然后通过调用Amazon Polly来将文本转换为语音。具体实现可以参考以下Python代码示例:
import boto3
transcribe = boto3.client('transcribe')
filename = '/path/to/audio/file'
job_name = 'job_name'
transcribe.start_transcription_job(
TranscriptionJobName=job_name,
Media={'MediaFileUri': 'file://' + filename},
MediaFormat='mp3',
LanguageCode='en-US',
)
while True:
status = transcribe.get_transcription_job(TranscriptionJobName=job_name)
if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
break
print("Not ready yet...")
time.sleep(10)
if status['TranscriptionJob']['TranscriptionJobStatus'] == 'COMPLETED':
transcription = status['TranscriptionJob']['Transcript']['TranscriptFileUri']
response = urllib.request.urlopen(transcription)
data = json.loads(response.read().decode())
result = data['results']
for res in result['items']:
print(res['alternatives'][0]['content'])
print('Conversion complete.')
else:
print("Conversion failed.")
该方案可提供将转录的文本与音频同步的单词级别的精度。