명령줄을 사용하여 텍스트에서 오디오 만들기

이 문서에서는 명령줄을 사용하여 Text-to-Speech에 요청하는 과정을 안내합니다. Text-to-Speech의 기본 개념에 대한 자세한 내용은 Text-to-Speech 기본 사항을 참조하세요.

시작하기 전에

Text-to-Speech API에 요청을 보내려면 먼저 다음 작업을 완료해야 합니다. 자세한 내용은 시작하기 전에 페이지를 참조하세요.

  • GCP 프로젝트에서 Text-to-Speech를 사용 설정합니다.
  • Text-to-Speech에 결제가 사용 설정되었는지 확인하기
  • Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

    gcloud init

텍스트에서 오디오 합성

https://texttospeech.googleapis.com/v1/text:synthesize 엔드포인트에 대한 HTTP POST 요청을 수행하여 텍스트를 오디오로 변환할 수 있습니다. POST 명령어 본문에서 voice 구성 섹션에 합성할 음성 유형을 지정하고, input 섹션의 text 필드에 합성할 텍스트를 지정하고, audioConfig 섹션에 생성할 오디오 유형을 지정합니다.

  1. Text-to-Speech를 사용하여 텍스트에서 오디오를 합성하려면 명령줄에서 다음 REST 요청을 실행합니다. 이 명령어는 gcloud auth application-default print-access-token 명령어를 사용하여 요청에 사용할 승인 토큰을 검색합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트의 영숫자 ID

    HTTP 메서드 및 URL:

    POST https://texttospeech.googleapis.com/v1/text:synthesize

    JSON 요청 본문:

    {
      "input": {
        "text": "Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets."
      },
      "voice": {
        "languageCode": "en-gb",
        "name": "en-GB-Standard-A",
        "ssmlGender": "FEMALE"
      },
      "audioConfig": {
        "audioEncoding": "MP3"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

    {
      "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
    }
    

  2. REST 명령어의 JSON 출력에는 합성된 오디오가 base64 인코딩 형식으로 들어 있습니다. audioContent 필드의 콘텐츠를 synthesize-output-base64.txt라는 새 파일에 복사합니다. 새 파일은 다음과 같이 표시됩니다.

    //NExAARqoIIAAhEuWAAAGNmBGMY4EBcxvABAXBPmPIAF//yAuh9Tn5CEap3/o
    ...
    VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
    
  3. synthesize-output-base64.txt 파일의 콘텐츠를 synthesized-audio.mp3라는 새 파일로 디코딩합니다. base64 디코딩에 대한 자세한 내용은 Base64 인코딩 오디오 콘텐츠를 참조하세요.

    Linux

    1. base-64로 인코딩된 콘텐츠만 텍스트 파일에 복사합니다.

    2. base64 명령줄 도구에서 -d 플래그를 사용하여 소스 텍스트 파일을 디코딩합니다.

        $ base64 SOURCE_BASE64_TEXT_FILE -d > DESTINATION_AUDIO_FILE
    

    Mac OSX

    1. base-64로 인코딩된 콘텐츠만 텍스트 파일에 복사합니다.

    2. base64 명령줄 도구를 사용하여 원본 텍스트 파일을 디코딩합니다.

        $ base64 --decode SOURCE_BASE64_TEXT_FILE > DESTINATION_AUDIO_FILE
    

    Windows

    1. base-64로 인코딩된 콘텐츠만 텍스트 파일에 복사합니다.

    2. certutil 명령어를 사용하여 원본 텍스트 파일을 디코딩합니다.

       certutil -decode SOURCE_BASE64_TEXT_FILE DESTINATION_AUDIO_FILE
    
  4. 오디오 애플리케이션 또는 오디오 기기에서 synthesized-audio.mp3의 콘텐츠를 재생합니다. 또한 file://my_file_path/synthesized-audio.mp3와 같은 파일이 포함된 폴더로 이동하여 Chrome 브라우저에서 synthesized-audio.mp3를 열고 오디오를 재생할 수도 있습니다.

삭제

불필요한 Google Cloud Platform 요금이 부과되지 않도록 하려면 Google Cloud 콘솔에서 필요하지 않은 프로젝트를 삭제해야 합니다.

다음 단계