Amazon AI polly를 사용해 보았습니다.

6133 단어 아마존

이 기사에 대하여



이 기사는 ACCESS Advent Calendar 2016 18일째 기사입니다.
ACCESS @ 쇼타 사카모토입니다.

이 기사의 주제는?



최근, 기계 학습이나 공부하는 동기부여가 오고, CRF나 word2vec등에 대해 기재하려고 생각했습니다만, 12월에 발표되었다 Amazon AI 하고 싶습니다.

Amazon AI 유형



다음 세 가지가 있습니다.
* Amazon Recognition
* Amazon Polly
* Amazon Lex

화상 인식보다 언어 해석·처리라든지에 흥미가 있는 분이므로,
Lex나 Polly를 보려고 했는데, Lex는 아직 미리보기판적인 위치설정이었기 때문에,
Polly에서 놀아 보았습니다.

Amazon Polly란?



간단히 말하면, 「입력한 각종 언어 텍스트를 음성으로 변환하는」기능이 됩니다.

개발 문서는 없습니까?



물론 있습니다.
아래를 참조하십시오. (이 문서 읽으면, 이 기사의 내용은 전부 들어가 있네요··눈물)
개발 문서

어떻게 사용합니까?



매우 간단합니다. (커플라면 만들면서 할 수 있을 것 같습니다)
* AWS 계정 만들기
* AWS 콘솔에 로그인합니다(단, 도쿄 리전이라면 아직 서비스가 없으므로 미국 동부나 리전을 변경해야 함)
* 서비스에서 [Polly]를 검색하여 polly 페이지로 이동
* 텍스트 입력란에 적당히 텍스트를 넣고 「음성 듣기」버튼을 누른다

이런 느낌으로, 바삭바삭하게 놀 수 있습니다.

다음과 같은 화면이 표시됩니다.
※일본어라면, 현시점에서는 아직 여성(미즈키씨?)만의 음성이 됩니다.
영어라고 몇 종류의 음성 패턴이 있었습니다.



읽는 방법의 설정이라 할 수 없습니까?



가능합니다.
구체적으로는 다음을 들 수 있습니다.
* SSML(음성 합성 마크업 언어) 설정
* 렉시콘 설정

SSML의 예는 다음과 같습니다. (아래는 'SSML'이라는 단어를 강조하고 읽을 수 있도록 합니다)
※그 외에는 지정한 개소를 영어로 읽거나, 읽기 속도를 바꾸거나 등, 설정이 상당히 변경 가능하거나 합니다.
<speak xml:lang="en-JP">これは<emphasis level="strong">SSML</emphasis>の例です。</speak>

렉시콘에서는 "지정한 단어를 읽는 방법을 변경"할 수 있습니다.
쓰는 방법의 예는 다음과 같습니다.
※아래는 언어 설정을 en-US(영어)로 설정하고 있습니다.
왠지 일본어(JP)는 아직 설정할 수 없는 느낌이 드네요・・.
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
 xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
 http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
 alphabet="ipa"
 xml:lang="en-US">
 <lexeme>
 <grapheme>www</grapheme>
 <alias>world wide web</alias>
 </lexeme>
</lexicon>

위의 예라면 "www"라는 단어를 "world wide web"로 바꾸는 설정이 됩니다.
렉시콘은 xxx.pls라는 이름으로 저장하여 콘솔에서 업로드할 수 있습니다.

내가 만든 앱에서 뭔가 놀 수 없어?



놀 수 있습니다.

polly의 기능 호출도 꽤 쉽고,
예를 들어 python이라면 다음과 같은 느낌으로 부활이 가능합니다.
※공식 문서의 샘플을 아래에 기재하고 있습니다. (p10 참조)
session = Session(profile_name="adminuser")
polly = session.client("polly")
try:
 # Request speech synthesis
 response = polly.synthesize_speech(Text="Hello world!",
 OutputFormat="mp3",
 VoiceId="Joanna")
except (BotoCoreError, ClientError) as error:
 ...

response에 mp3에서 음성 데이터가 들어오므로,
이 데이터를 파일에 저장하거나 재생할 수 있습니다.

마지막으로



달리기 였지만, 조금씩 polly에 대한 개요를 기재했습니다.
시험에 놀아 보는 것은 곧 할 수 있다고 생각하므로, 흥미 가지고 계신 분은, 꼭 꼭 놀아 봐 주셨으면 합니다.

내일(12/19) 의 ACCESS Advent Calendar 2016@ Daisuke Kondo 님의 기사가 됩니다. 기대하세요! !

좋은 웹페이지 즐겨찾기