BLOG

단 한 줄의 코딩으로 여러분의 아마존 폴리를 뉴럴(Neural)로 업그레이드할 수 있습니다!
작성일: 2021-09-03

2019년  Amazon PollyNTTS(신경망 텍스트 음성 변환) 음성 서비스를 미국식 영어와 영국식 영어로 출시하였으며, 현재는 새로운 기계 학습 방식을 통해 더욱 풍부하고 실제적인 음성 품질을 제공하고 있습니다. 아마존 폴리는 NTTS를 처음 출시한 이후 미국식 스페인어, 브라질식 포르투갈어, 호주식 영어, 캐나다식 프랑스어, 독일어, 그리고 한국어 등 새로운 음성을 추가하며 NTTS를 확대해 왔습니다. 또한, 이중 일부 서비스는 뉴스 캐스터 스타일의 음성을 지원하는 등 고객의 특정한 니즈를 충족시키기 위해 노력하고 있습니다. 

 

기존 아마존 폴리 스탠다드를 사용하고 계신 분들이라면 뉴럴 보이스로 업그레이드 하는 것은 아주 간단합니다.

여러분이 어떤 프로그래밍 언어를 사용하든 간에  SynthesizeSpeech나  StartSynthesizeSpeechTask 메서드로 코딩을 할 때마다 엔진 매개변수를 간단히 추가 또는 수정하기만 하면 됩니다. 이번 포스팅에서는 NTTS의 이점과 NTTS로 이전하는 방법에 대해 알아보도록 하겠습니다.

 

 

뉴럴 vs. 스탠다드 장점 비교

뉴럴 보이스는 스탠다드 보이스에 비해 보다 표현력이 풍부하고 자연스러운 음성을 제공한다는 특징이 있습니다. 이는 사용자 경험을 향상시키고 참여를 촉진하는 데 효과적이죠.

Reflare의 CEO인 Paul S. Ziegler는 ‘더욱 역동적인 교육 콘텐츠를 제공하기 위하여 음성합성 기술(speech synthesis)을 사용한다’고 말합니다.

아마존 폴리의 스탠다드 보이스에서 뉴럴 보이스로 전환한 이후에는 뉴럴 보이스가 실제 사람의 목소리와 매우 비슷하여 구별이 어려울 뿐만 아니라 심지어는 원어민들까지 속게 만들 정도로 훌륭한 내레이션을 제공하는 것이 가능해졌다는 것입니다. 

 

아래 Joanna의 스탠다드 보이스 예시를 들어보실까요?

 

 

이번에는 Joanna의 Neural 보이스를 사용한 예시를 들어보겠습니다. 

 

Ziegler는 ‘Neural 보이스로 전환하는 것은 다른 Non-neural 보이스로 전환하는 것만큼이나 쉽다’고 하는데요, 이미 시스템이 자동으로 보이스 오버를 생성하도록 설정되어 있었기 때문에 변경 사항을 구현하는데 채 5분도 걸리지 않았다는 설명입니다.

 

 

전환을 위한 빠른 체크리스트

모든 SSML tags, 리전 및 언어가 뉴럴 보이스를 지원하는 것은 아닙니다. 따라서 전환하기 전에 이 체크리스트를 사용하여 여러분의 사업 니즈에 NTTS를 적용할 수 있는지 여부를 꼭 확인해보세요.

 

  • 지역적 지원 – NTTS를 지원하는 지역인지 확인합니다.
  • 언어 및 음성 지원 – 현재 음성 및 언어 리스트를 확인하여 NTTS를 지원하는 음성 및 언어인지 확인합니다.
  • SSML 태그 지원 – SSML 태그 호환성을 확인하여 해당 SSML 태그가 NTTS에서 지원되는지 확인합니다.

 

 

추가 고려사항

NTTS로 전환하기 전에 추가적으로 고려해야 할 사항을 아래 표에서 확인해보세요.

 

 

샘플 코드

Amazon Polly 스탠다드를 이미 사용하고 계시다면, 아래 샘플을 통해 모든 SDK에 대해 뉴럴 보이스로 전환하는 방법을 확인하실 수 있습니다.

필수적인 변경 사항은 굵은 글씨로 표시되어 있습니다.

 

Go:

input := &polly.SynthesizeSpeechInput{

    OutputFormat: aws.String(“mp3”),

    Text: aws.String(“Hello World!”),

    VoiceId: aws.String(“Joanna”),

    Engine: “neural”}

 

Java:

SynthesizeSpeechRequest synthReq = SynthesizeSpeechRequest.builder()

    .text(‘Hello World!‘)

    .voiceId(‘Joanna’)

    .outputFormat(‘mp3’)

    .engine(‘neural)

    .build();

ResponseInputStream<SynthesizeSpeechResponse> synthRes = polly.synthesizeSpeech(synthReq);

 

Javascript:

polly.synthesizeSpeech({

    Text: “Hello World!”,

    OutputFormat: “mp3”,

    VoiceId: “Joanna”,

    TextType: “text”,

    Engine: “neural”});

 

.NET:

var response = client.SynthesizeSpeech(new SynthesizeSpeechRequest

{

    Text = “Hello World!”,

    OutputFormat = “mp3”,

    VoiceId = “Joanna”,

    Engine = “neural”

});

 

PHP:

$result = $client->synthesizeSpeech([

    ‘Text’ => ‘Hello world!’,

    ‘OutputFormat’ => ‘mp3’,

    ‘VoiceId’ => ‘Joanna’,

    ‘Engine’ => ‘neural’]);

 

Python:

polly.synthesize_speech(

    Text=“Hello world!”,

    OutputFormat=“mp3”,

    VoiceId=“Joanna”,

    Engine=”neural”)

 

Ruby:

resp = polly.synthesize_speech({

    text: “Hello World!”,

    output_format: “mp3”,

    voice_id: “Joanna”,

    engine: “neural”

})

 

 

마치며

아마존 폴리 콘솔(Console)에서 뉴럴 보이스를 즉시 사용하실 수 있습니다. 기타 문의사항은 Amazon Polly  AWS Forum에 게시하시거나 AWS 지원팀에 문의바랍니다.

원문URL: https://aws.amazon.com/ko/blogs/machine-learning/upgrade-your-amazon-polly-voices-to-neural-with-one-line-of-code/

 

메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글이나 관련 기사 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.