[typescript] 타입스크립트와 AWS Polly를 이용한 문장 음성 변환하기

AWS Polly는 Amazon Web Services의 텍스트를 음성으로 변환해주는 서비스입니다. 이 기술을 사용하여 타입스크립트로 작성된 어플리케이션에서 문장을 음성으로 변환하는 방법에 대해 알아보겠습니다.

필요한 도구

아래 도구들을 사용하여 해당 작업을 수행할 수 있습니다.

  1. AWS 계정
  2. AWS CLI
  3. 타입스크립트 어플리케이션

AWS Polly 설정

먼저, AWS Management Console로 이동하여 Polly 서비스를 활성화하고 AWS CLI를 사용하여 자격증명을 구성합니다.

aws configure

이제 경로 및 자격증명을 설정한 후 aws polly synthesize-speech 명령어를 사용하여 Polly를 통해 음성을 생성할 수 있습니다.

aws polly synthesize-speech --output-format mp3 --text '안녕하세요, 타입스크립트와 AWS Polly를 이용한 문장 음성 변환하기' --voice-id Seoyeon output.mp3

타입스크립트 적용

타입스크립트에서 AWS Polly 서비스를 사용하여 문장을 음성으로 변환하려면 aws-sdknode-fetch 패키지를 설치해야 합니다.

import * as AWS from 'aws-sdk';
import fetch from 'node-fetch';

const Polly = new AWS.Polly({
  region: 'us-west-2',  // 사용할 리전 설정
  accessKeyId: 'YOUR_ACCESS_KEY',
  secretAccessKey: 'YOUR_SECRET_KEY'
});

const params = {
  OutputFormat: "mp3",
  Text: "안녕하세요, 타입스크립트와 AWS Polly를 이용한 문장 음성 변환하기",
  TextType: "text",
  VoiceId: "Seoyeon"
};

Polly.synthesizeSpeech(params, (err, data) => {
  if (err) {
    console.log(err, err.stack);
  } else if (data.AudioStream instanceof Buffer) {
    fetch(data.AudioStream)
      .then(res => {
        const buffer = [];
        res.body.on('data', chunk => buffer.push(chunk));
        res.body.on('end', () => {
          const bufferData = Buffer.concat(buffer);
          // bufferData를 이용하여 필요한 작업 수행
        });
      });
  }
});

결론

이제 타입스크립트 어플리케이션에서 AWS Polly를 사용하여 문장을 음성으로 변환하는 방법을 배웠습니다. 이것은 타입스크립트 어플리케이션에 음성 기능을 추가하고자 하는 경우 유용한 정보일 것입니다.