Süddeutsche Zeitung이 Amazon Polly PlatoBlockchain Data Intelligence를 사용하여 오디오 내레이션 프로세스를 최적화한 방법. 수직 검색. 일체 포함.

Süddeutsche Zeitung이 Amazon Polly로 오디오 내레이션 프로세스를 최적화한 방법

이것은 Süddeutsche Zeitung의 소프트웨어 개발자인 Jakob Kohl의 게스트 게시물입니다. Süddeutsche Zeitung은 유료 구독 및 고유 사용자와 관련하여 독일 최고의 품질 일간지 중 하나입니다. 그것의 웹사이트, Sz.de, 15년 2021월 기준으로 XNUMX만 명 이상의 월간 순 사용자에게 도달했습니다.

스마트 스피커와 팟캐스트 덕분에 오디오 산업은 최근 몇 년 동안 진정한 붐을 경험했습니다. ~에 Süddeutsche Zeitung, 우리는 다양한 저널리즘을 더욱 쉽게 이용할 수 있는 새로운 방법을 끊임없이 찾고 있습니다. 디지털 저널리즘의 선구자로서 우리는 더 많은 기회를 열고자 합니다. Süddeutsche Zeitung 기사를 소비하는 독자. 우리는 기사에 고품질 오디오 내레이션을 제공할 수 있는 솔루션을 찾기 시작했습니다. 우리의 궁극적인 목표는 "기사 듣기" 기능을 출시하는 것이었습니다.

이 게시물에서는 음성 내레이션 프로세스를 Amazon Polly로 최적화한 방법을 공유합니다. 생생한 연설로 텍스트 고급 딥 러닝 기술을 사용합니다.

왜 Amazon Polly인가?

우리는 독일의 신경망인 Vicki가 아마존 폴리 보이스, 현재 시장에서 최고의 독일어 음성입니다. Amazon Polly는 다음과 같은 인상적인 기능을 제공합니다. 언어 간 전환, 예를 들어 영어 영화 제목과 다른 언어로 된 개인 이름을 올바르게 발음합니다(예: 기사 듣기 샬 운트 반 우리 웹 사이트).

인프라의 상당 부분이 이미 AWS에서 실행되고 있으므로 Amazon Polly를 사용하여 완벽한 핏이었다. Amazon Polly를 다음 구성 요소와 결합할 수 있습니다.

XNUMXD덴탈의 아마존 폴리 API 사용하기 쉽고 잘 문서화되어 있습니다. 개념 증명이 작동하는 데 일주일도 채 걸리지 않았습니다.

난제

SZ.de에는 매일 수백 개의 새로운 기사가 ​​게시됩니다. 최초 발행 후, 뉴스 중심 기사에 새로운 단락이 추가되거나, 오타가 수정되거나, 티저가 변경되거나, 메타데이터가 검색 엔진에 최적화된 등 다양한 이유로 여러 번 업데이트될 수 있습니다.

전체 텍스트를 합성해야 하기 때문에 기사의 초기 출판을 위한 연설을 생성하는 것은 간단합니다. 그러나 동일한 콘텐츠에 대해 두 번 비용을 지불하지 않고 어떻게 기사의 업데이트된 버전에 대한 오디오를 신속하게 생성할 수 있습니까? 우리의 가장 큰 과제는 모든 단일 업데이트에 대해 전체 텍스트를 Amazon Polly에 반복적으로 보내는 것을 방지하는 것이었습니다.

우리의 기술 솔루션

편집자가 기사를 저장할 때마다 기사의 새 버전이 SNS 주제에 게시됩니다. 안 AWS 람다 함수는 이 주제를 구독하고 기사의 모든 새 버전에 대해 호출됩니다. 이 함수는 다음 단계를 실행합니다.

  1. 새 버전의 기사가 이미 완전히 합성되었는지 확인하십시오. 그렇다면 기능이 즉시 중지됩니다(오디오에 영향을 주지 않는 메타데이터만 변경된 경우 발생할 수 있음).
  2. 기사를 여러 개로 변환 SSML 문서, 각 텍스트 단락에 대해 대략 하나.
  3. 각 SSML 문서에 대해 함수는 계산된 해시를 사용하여 이미 오디오로 합성되었는지 확인합니다. 예를 들어:
    1. 기사를 처음 저장하는 경우 모든 SSML 문서를 합성해야 합니다.
    2. 단일 단락에서 오타가 수정된 경우 이 단락에 대한 SSML 문서만 재합성해야 합니다.
    3. 기사에 새로운 단락이 추가되면 이 새로운 단락에 대한 SSML 문서만 합성해야 합니다.
  4. 아직 합성되지 않은 모든 SSML 문서를 Amazon Polly로 개별적으로 보냅니다.

이러한 검사는 전체 기사가 여러 번 합성되는 것을 방지하여 성능을 최적화하고 비용을 줄이는 데 도움이 됩니다. SEO상의 이유로 제목 편집 또는 메타데이터 조정과 같은 사소한 변경으로 인해 추가 비용이 발생하지 않습니다.

다음 다이어그램은 솔루션 워크 플로우를 보여줍니다.

Süddeutsche Zeitung이 Amazon Polly PlatoBlockchain Data Intelligence를 사용하여 오디오 내레이션 프로세스를 최적화한 방법. 수직 검색. 일체 포함.

Amazon Polly가 SSML 문서를 합성한 후 오디오 파일은 다음의 출력 버킷으로 전송됩니다. 아마존 단순 스토리지 서비스 (아마존 S3). 두 번째 Lambda 함수는 해당 버킷에서 객체 생성을 수신 대기하고 기사의 모든 오디오 조각이 완료될 때까지 기다렸다가 다음을 사용하여 최종 오디오 파일로 병합합니다. Lambda 계층의 FFmpeg. 이 최종 오디오는 CloudFront 배포에서 오리진으로 사용되는 다른 S3 버킷으로 전송됩니다. CloudFront에서는 해당 오디오 버전의 프리미엄 기사에 대해 기존 페이월을 재사용합니다.

프리미엄 모델을 기반으로 프리미엄 기사의 단축된 오디오 버전을 제공합니다. 비구독자는 첫 번째 단락을 무료로 들을 수 있지만 전체 기사를 보려면 구독을 구입해야 합니다.

결론

Amazon Polly를 기존 인프라에 통합하는 것은 매우 간단했습니다. 우리 콘텐츠는 단락과 몇 가지 추가 휴식만 포함하기 때문에 최소한의 사용자 정의가 필요합니다. 가장 어려웠던 부분은 성능과 비용 최적화였습니다. 우리는 기사를 단락에 해당하는 여러 SSML 문서로 나누고, 각 SSML 문서의 변경 사항을 확인하고, 조각을 병합하여 전체 오디오 파일을 빌드하여 달성했습니다. 이러한 최적화를 통해 다음을 달성할 수 있습니다.

  • 실제 변경 사항만 합성하여 합성된 캐릭터의 양을 50% 이상 줄이십시오.
  • 합성할 오디오가 적기 때문에 기사 텍스트의 변경 사항이 오디오에 나타나는 데 걸리는 시간을 줄입니다.
  • 전체 기사를 다시 합성하지 않고 단락 사이에 임의의 오디오 파일을 추가합니다. 예를 들어, 프리미엄 기사의 단축된 오디오 버전에 사운드 파일을 포함하여 정식 버전을 들으려면 구독이 필요하다는 이어지는 메모와 첫 번째 단락을 분리할 수 있습니다.

SZ.de 기사에서 "기사 듣기" 기능을 출시한 후 첫 달에 많은 긍정적인 사용자 피드백을 받았습니다. 출시 후 첫 30,000개월 동안 거의 2명의 사용자에게 도달할 수 있었습니다. 이 사용자들 중에서 약 200명이 우리 페이월 뒤에 있는 기사의 티저를 듣고 유료 구독으로 전환했습니다. "기사 듣기" 기능은 페이월 뒤에 있지 않지만 사용자는 구독이 있는 경우에만 프리미엄 기사를 완전히 들을 수 있습니다. 저희 웹사이트는 페이월이 없는 무료 기사도 제공합니다. 앞으로 다른 SZ 플랫폼, 특히 모바일 뉴스 앱으로 기능을 확장할 예정입니다.


저자에 관하여

Süddeutsche Zeitung이 Amazon Polly PlatoBlockchain Data Intelligence를 사용하여 오디오 내레이션 프로세스를 최적화한 방법. 수직 검색. 일체 포함.야콥 콜 Süddeutsche Zeitung의 소프트웨어 개발자로 민첩한 웹사이트 팀에서 현대 기술 작업을 즐깁니다. 그는 "SZ 기사 듣기" 기능의 주요 개발자 중 한 명입니다. 여가 시간에는 웹 개발만큼 기술 및 시각적 디자인이 중요한 목재 가구를 만드는 것을 좋아합니다.

타임 스탬프 :

더보기 AWS 기계 학습