在Chime SDK中使用Amazon Transcribe集成进行语音转录,需要明确以下3个方面:
-
费用:
Amazon Transcribe的费用根据每分钟音频转录所需的时间来计算。在使用Chime SDK和Amazon Transcribe集成时,您需要确保了解Amazon Transcribe的费用并为其付费。
-
集成:
在集成Chime SDK和Amazon Transcribe时,您需要将以下代码添加到您的应用程序中:
// 创建Amazon Transcribe实例
const transcribeService = new AWS.TranscribeService();
// 创建Chime会话和流
const chime = new AWS.Chime({ region: "us-east-1" });
const meeting = await chime.createMeeting({ MediaRegion: "us-east-1" }).promise();
const attendee = await chime.createAttendee(meeting.MeetingId).promise();
// 创建Transcribe流
const params = {
LanguageCode: "en-US",
MediaFormat: "pcm",
Media: {
StreamArn: arn:aws:kinesisvideo:${process.env.AWS_REGION}:${process.env.AWS_ACCOUNT_ID}:stream/${meeting.MeetingId}/${attendee.AttendeeId}
,
},
TranscriptionJobName: transcription-${meeting.MeetingId}-${attendee.AttendeeId}
,
OutputBucketName: process.env.TRANSCRIBE_OUTPUT_BUCKET_NAME,
Settings: {
VocabularyName: process.env.VOCABULARY_NAME,
ShowSpeakerLabels: true,
},
};
const transcriptionJob = await transcribeService.startStreamingTranscription(params).promise();
在上述代码中,我们首先创建Amazon Transcribe实例,然后使用AWS SDK for JavaScript v3创建Chime会话和流。我们使用Kinesis音频流的ARN传递媒体,使用attendee.AttendeeId作为音频流的标识符,并从Amazon Transcribe接收语音转录。
- 语音转录结束:
一旦语音转录完成,Amazon Transcribe将生成音频文件并将其上传到指定的S3存储桶。您可以使用以下代码将此音频文件下载到本地:
const s3 = new AWS.S3();
const file = await s3.getObject({
Bucket: process.env.TRANSCRIBE_OUTPUT_BUCKET_NAME,
Key: ${params.TranscriptionJobName}.json
,
}).promise();
const transcriptions = JSON.parse(file.Body.toString());
console.log(transcriptions);
在上面的代码中,我们使用AWS SDK for JavaScript v3的S3服务来下载音频文件并将其解码成JSON格式。然后,我们可以将该音频文件以任何我们需要的方式处理。