텍스트 음성 변환 스트리밍
텍스트 음성 변환 스트리밍
이 가이드에서는 텍스트 음성 변환을 스트리밍하고, 필요에 따라 오디오를 AWS S3에 업로드하는 방법을 안내합니다.
이 가이드에서는 3가지 방법을 다룹니다. 파일로 음성을 생성하는 방법, 오디오 응답을 직접 스트리밍하는 방법, 그리고 선택적으로 생성된 오디오를 AWS S3 버킷에 업로드하여 서명된 URL로 공유하는 방법입니다.
이 가이드는 API 키와 SDK를 설정했다고 가정합니다. 아직 완료하지 않았다면 먼저 빠른 시작을 완료하세요. 선택 사항인 S3 업로드 섹션을 사용하려면 S3에 액세스할 수 있는 AWS 계정도 필요합니다.
스트리밍이 작동하는 방식이 궁금하신가요? 오디오 스트리밍 이해하기에서 프로토콜, 버퍼링 및 지연 시간 간의 절충점을 자세히 설명합니다.
텍스트 음성 변환(파일)
텍스트를 음성으로 변환하고 파일로 저장하려면 ElevenLabs SDK의 convert 메서드를 사용한 후, 로컬에 .mp3 파일로 저장합니다.
다음과 같이 이 함수를 실행할 수 있습니다.
텍스트 음성 변환(스트리밍)
파일로 저장하지 않고 오디오를 직접 스트리밍하려면 스트리밍 기능을 사용할 수 있습니다.
다음과 같이 이 함수를 실행할 수 있습니다.
추가 - AWS S3에 업로드하고 안전한 공유 링크 받기
오디오 데이터가 파일 또는 스트림으로 생성되면 사용자와 공유하고 싶을 수 있습니다. 이를 위한 한 가지 방법은 AWS S3 버킷에 업로드하고 안전한 공유 링크를 생성하는 것입니다.
AWS 자격 증명 생성하기
데이터를 S3에 업로드하려면 AWS 액세스 키 ID, 보안 액세스 키, AWS 리전 이름을 .env 파일에 추가해야 합니다. 자격 증명을 찾으려면 다음 단계를 따르세요.
- AWS 관리 콘솔에 로그인합니다. AWS 홈 페이지로 이동하여 계정으로 로그인하세요.

- IAM(Identity and Access Management) 대시보드에 액세스합니다. 서비스 메뉴의 “Security, Identity, & Compliance”에서 IAM을 찾을 수 있습니다. IAM 대시보드에서는 AWS 서비스에 대한 액세스를 안전하게 관리할 수 있습니다.

- 새 사용자 생성(필요한 경우): IAM 대시보드에서 “Users”를 선택한 후 “Add user”를 선택하세요. 사용자 이름을 입력합니다.

- 권한 설정: 부여하려는 액세스 수준에 따라 정책을 사용자에게 직접 연결합니다. S3 업로드에는 AmazonS3FullAccess 정책을 사용할 수 있습니다. 하지만 작업 수행에 필요한 최소 권한만 부여하는 것이 모범 사례입니다. S3 버킷에서 필요한 작업만 구체적으로 허용하는 사용자 지정 정책을 만들 수 있습니다.

- 사용자 검토 및 생성: 설정을 검토하고 사용자를 생성합니다. 생성 후 액세스 키 ID와 보안 액세스 키가 표시됩니다. 이 자격 증명은 반드시 다운로드하여 안전하게 보관하세요. 보안 액세스 키는 이 단계 이후 다시 조회할 수 없습니다.

- AWS 리전 이름 가져오기: 예: us-east-1

AWS S3 버킷이 없다면 다음 단계에 따라 새 버킷을 만들어야 합니다.
- S3 대시보드에 액세스합니다. 서비스 메뉴의 “Storage”에서 S3를 찾을 수 있습니다.

- 새 버킷 생성: S3 대시보드에서 “Create bucket” 버튼을 클릭합니다.

- 버킷 이름을 입력하고 “Create bucket” 버튼을 클릭합니다. 다른 버킷 옵션은 기본값으로 둘 수 있습니다. 새로 추가한 버킷이 목록에 표시됩니다.


AWS SDK 설치 및 자격 증명 추가
pip 및 npm을 사용하여 AWS 서비스와 상호작용하기 위한 boto3를 설치합니다.
그런 다음 다음과 같이 .env 파일에 환경 변수를 추가합니다.
AWS S3에 업로드하고 서명된 URL 생성
오디오 스트림을 S3에 업로드하고 서명된 URL을 생성하려면 다음 함수를 추가하세요.
그런 다음 텍스트에서 생성한 오디오 스트림으로 업로드 함수를 호출할 수 있습니다.
오디오 파일을 S3에 업로드한 후, 파일 액세스를 공유할 서명된 URL을 생성합니다. 이 URL은 일정 시간이 지나면 만료되므로 임시 공유에 안전합니다.
이제 다음과 같이 파일에서 URL을 생성할 수 있습니다.
파일을 여러 번 사용하려면 서명된 URL은 만료되므로 직접 저장하지 말고, S3 파일 경로를 데이터베이스에 저장한 다음 필요할 때마다 서명된 URL을 다시 생성해야 합니다.
모두 연결하기
모든 내용을 연결하려면 다음 스크립트를 사용할 수 있습니다.
마무리
이제 텍스트를 음성으로 변환하고 오디오 파일을 공유할 서명된 URL을 생성하는 방법을 알게 되었습니다. 이 기능을 통해 콘텐츠를 동적으로 만들고 공유할 수 있는 수많은 기회가 열립니다.
이를 활용해 만들 수 있는 몇 가지 예시는 다음과 같습니다.
-
교육용 팟캐스트: 학생이 필요할 때 이용할 수 있는 맞춤형 교육 콘텐츠를 만듭니다. 교사는 수업을 오디오 형식으로 변환하여 S3에 업로드하고, 학생에게 링크를 공유해 기존 교실 환경 밖에서도 더 몰입도 높은 학습 경험을 제공할 수 있습니다.
-
웹사이트 접근성 기능: 텍스트 콘텐츠를 오디오 형식으로 제공하여 웹사이트의 접근성을 높입니다. 이를 통해 시각 장애가 있거나 청각 학습을 선호하는 사람이 웹사이트 정보를 더 쉽게 이용할 수 있습니다.
-
자동화된 고객 지원 메시지: FAQ나 주문 업데이트와 같은 자동화된 맞춤형 고객 지원 오디오 메시지를 제작합니다. 기존 텍스트 이메일보다 더 몰입도 높은 고객 경험을 제공할 수 있습니다.
-
오디오북 및 내레이션: 전체 책이나 단편 소설을 오디오 형식으로 변환하여 독자가 문학을 즐기는 새로운 방식을 제공합니다. 저자와 출판사는 콘텐츠 제공 범위를 다양화하고 읽기보다 듣기를 선호하는 독자에게 다가갈 수 있습니다.
-
언어 학습 도구: 학습자에게 오디오 수업과 연습 문제를 제공하는 언어 학습 도구를 개발합니다. 이를 통해 발음과 듣기 능력을 목표에 맞춰 연습할 수 있습니다.