빠른 시작: 명령줄 사용

이 빠른 시작에서는 Text-to-Speech를 소개하며 Google Cloud Platform 프로젝트와 승인을 설정한 후 Text-to-Speech에 요청을 수행하여 텍스트에서 오디오를 만듭니다.

Text-to-Speech의 기본 개념에 대한 자세한 내용은 Text-to-Speech 기본 사항을 참조하세요.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. Cloud Text-to-Speech API를 사용 설정합니다.

    API 사용 설정

  5. 서비스 계정을 만듭니다.

    1. Cloud Console에서 서비스 계정 만들기 페이지로 이동합니다.

      서비스 계정 만들기로 이동
    2. 프로젝트를 선택합니다.
    3. 서비스 계정 이름 필드에 이름을 입력합니다. Cloud Console은 이 이름을 기반으로 서비스 계정 ID 필드를 채웁니다.

      서비스 계정 설명 필드에 설명을 입력합니다. 예를 들면 Service account for quickstart입니다.

    4. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.

      브라우저 창을 닫지 마세요. 다음 단계에서 사용합니다.

  6. 서비스 계정 키 만들기

    1. Cloud Console에서 만든 서비스 계정의 이메일 주소를 클릭합니다.
    2. 를 클릭합니다.
    3. 키 추가를 클릭한 후 새 키 만들기를 클릭합니다.
    4. 만들기를 클릭합니다. JSON 키 파일이 컴퓨터에 다운로드됩니다.
    5. 닫기를 클릭합니다.
  7. GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 서비스 계정 키가 포함된 JSON 파일의 경로로 설정합니다. 이 변수는 현재 셸 세션에만 적용되므로, 새 세션을 열 경우, 변수를 다시 설정합니다.

  8. Cloud SDK 설치 및 초기화

텍스트에서 오디오 합성

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 명령어를 사용하여 요청에 사용할 승인 토큰을 검색합니다.

    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 요금이 부과되지 않도록 하려면 Cloud Console을 사용하여 필요하지 않은 프로젝트를 삭제해야 합니다.

다음 단계