2017-05-09 12 views
2

Alexa Skill에서 amazon Polly를 사용하여 번역 또는 다국어 환경에서 2 언어 응답을 제공 할 수 있습니까? 그렇다면 누가 람다 함수에서이 서비스를 사용해 본 경험이 있습니까?Alex Pola in Alexa Skill?

답변

4

짧은 대답, 아니요,이 순간 알렉사 스킬에서 아마존 폴리를 직접 사용할 수 없습니다. 폴리 mp3는 알렉사 기술에 필요한 비트 전송률이 아닙니다.

당신은 그러나 48kbps의 정확한 비트 레이트로 폴리가 당신을 제공하는 MP3 파일을 변환 한 다음부터이 open source project, alexa-meets-polly.

에 따라, 오디오 SSML 태그에 그것을 사용할 수 있습니다 알렉사 - 충족 - 폴리 :

  1. 사용자는 Alexa 기기를 사용하여 예를 들어 묻습니다. "폴란드에서"굿모닝 "이란 무엇을 의미합니까?"

  2. Alexa 서비스는 발언을 Translate-intent로 매핑하고 Polish 값을 갖는 언어 슬롯과 Good Morning 값을 갖는 용어 슬롯을 전달합니다. 이 Repo에 코드가 포함 된 AWS 람다 함수는 Speechlet을 캐치합니다.

  3. 텍스트를 번역하는 과정을 시작하기 전에이 스킬은 먼저 모든 이전 번역이 저장된 사전을 찾습니다. 데이터베이스에서 Polish의 Good Morning에 대한 레코드를 찾으면 전체 왕복 (4 ~ 9 단계)을 건너 뛰고 Dynamo 레코드에서 참조 된 S3 오디오 파일을 즉시 사용합니다.

  4. 그러나 기술 구현 전에 Good Morning이 Microsoft Translator API (또는 Google 번역과 호환 가능)를 사용하여 폴란드어로 번역되도록하려면 폴란드어로 요청하지 않은 경우.

  5. 결과 변환은 AWS Polly로 전달되어 원하는 VoiceId가됩니다. Polly는 번역 된 단어로 MP3 스트림을 반환합니다.

  6. 스트림은 AWS S3에서 MP3 파일로 유지됩니다. 불행히도 Alexa에서 SSML 오디오에 필요한 오디오 설정이 다르기 때문에 Alexa에서 반환 및 재생할 준비가되지 않았습니다.

  7. 따라서 MP3-Url은 AWS EC2 서버 인스턴스에서 호스팅되는 사용자 정의 서비스 엔드 포인트에 제공됩니다. 이 서비스는 Alexa가 FFMPEG를 사용하여 요구하는대로 비트율을 48Khz로 변환합니다. 자신의 운율 설정을 최대로 설정하여 음량을 높이더라도 폴리의 목소리는 알렉사의 목소리만큼 크지 않습니다. 이것이이 변환이 볼륨을 10dB 증가시키는 이유입니다.

  8. 결과 MP3는 S3에서 원점을 덮어 씁니다.

  9. 그 파일의 URL은 전혀 변경되지 않았으므로 Lambda의 호출하는 speechlet 처리기로 되돌려줍니다.

  10. 마지막으로 폴란드어로 된 Good Morning에 대한 레코드가 Dynamo 사전에 생성됩니다. 그 사전 항목을 참조하는 별도의 레코드는 사용자를 위해 만들어 지므로 Alexa는 사용자를 위해 만들어진 마지막 번역을 기억합니다. 이것은 사용자가 가장 최근의 번역을 반복하도록 Alexa에 요청할 수있는 방법입니다.

  11. 스킬은 출력 음성 텍스트를 만들고 MP3-url을 사용하여 오디오 SSML 태그에 압축합니다.

  12. 출력 음성이 장치로 반환됩니다. Alexa는 번역 된 용어를 Polly의 목소리로 응답하고 재생합니다. 또한 카드는 사용자에게 매우 유용 할 수있는 번역문을 제공하는 Alexa 앱으로 반환됩니다.

+0

고맙습니다. 대단한 설명! –

+0

두 번째 KayLerch의 alexa-meets-polly 예제입니다.이 예제는 확실합니다. – wblaschko