Skip to content
튜토리얼
AIGC
파이썬에서 ElevenLabs API 사용에 대한 종합 가이드

파이썬에서 ElevenLabs API 사용에 대한 종합 가이드

오디오 생성과 재생을 위한 기능을 파이썬 언어로 쉽게 구현할 수 있는 ElevenLabs API는 소프트웨어 개발자와 창조자들에게 필수적인 도구입니다. 이 자세한 가이드에서는 ElevenLabs API의 설치, 활용, 다국어 지원, 목소리 개인화, 실시간 스트리밍 기능 및 API 키 설정에 대해 안내합니다.

ElevenLabs API 설치

ElevenLabs API는 설치하기 간단하게 구현되어 있습니다. 다음과 같은 pip를 이용한 명령으로 쉽게 설치할 수 있습니다.

pip install elevenlabs

이 명령어로 ElevenLabs API가 시스템에 쉽게 설치됩니다.

ElevenLabs API 활용

설치가 끝나면 ElevenLabs API 사용도 쉬워집니다. 예제를 살펴보겠습니다.

from elevenlabs import generate, play
 
audio = generate(
  text="Hello! I'm Robert, delighted to make your acquaintance!",
  voice="Robert",
  model="eleven_monolingual_v1"
)
 
play(audio)

위 코드는 'eleven_monolingual_v1' 모델에서 'Robert' 목소리를 사용하여 지정한 텍스트의 오디오를 생성하고 재생합니다.

다국어 지원

ElevenLabs API의 뛰어난 기능 중 하나는 다언어 지원입니다. eleven_multilingual_v1 모델은 영어, 독일어, 폴란드어, 스페인어, 이탈리아어, 프랑스어, 포르투갈어 및 힌디어를 비롯한 여러 언어에서 텍스트 대 음성 오디오 생성 기능을 개발자에게 제공합니다. 다음 예제를 살펴봅시다.

from elevenlabs import generate, play
 
audio = generate(
    text="Bonjour! Je m'appelle Marcel, ravi de vous rencontrer!",
    voice="Marcel",
    model="eleven_multilingual_v1"
)
 
play(audio)

위 코드는 'eleven_multilingual_v1' 모델에서 'Marcel' 목소리를 사용하여 지정한 텍스트의 오디오를 생성하고 재생합니다.

목소리 개인화

개발자들은 개발 환경에 맞게 목소리를 개인화할 수 있습니다.

from elevenlabs import generate, play
 
audio = generate(
  text="How can I assist you today?",
  voice="Robert",
  model="eleven_monolingual_v1",
  pitch=15,
  rate=2.5,
  volume=4
)
 
play(audio)

위 코드는 'eleven_monolingual_v1' 모델에서 'Robert' 목소리를 사용하여 지정한 텍스트를 재생할 때, 피치, 속도, 음량을 개인화합니다.

실시간 스트리밍

ElevenLabs API를 사용하면 오디오를 실시간 스트리밍 할 수 있습니다.

from elevenlabs import generate, play
 
audio = generate(
    text="Bonjour! Je m'appelle Marcel, ravi de vous rencontrer!",
    voice="Marcel",
    model='eleven_multilingual_v1'
)
 
play(audio)

이 예제는 'eleven_multilingual_v1' 모델에서 'Marcel' 음성을 사용하여 프랑스어로 오디오를 생성하고 재생합니다.

다양한 음성 실험

ElevenLabs API는 voices() 함수를 사용하여 사용 가능한 모든 음성을 나열하는 기능을 제공합니다.

from elevenlabs import voices, generate
 
available_voices = voices()
 
audio = generate(text="안녕하세요? 여러분!", voice=available_voices[0])
 
print(available_voices)

이 예제는 사용 가능한 음성 목록에서 첫 번째 음성을 사용하여 오디오를 생성하고 재생합니다.

음성 복제하기

ElevenLabs API를 사용하면 어떤 음성이든 즉시 복제할 수 있습니다. 음성 복제는 API 키가 필요합니다. 음성 복제하는 방법을 보여주는 예제입니다.

from elevenlabs import clone, generate, play
 
voice = clone(
    name="Charlie",
    description="A British male voice with a deep and resonant tone. Ideal for audiobooks",
    files=["./sample_0.mp3", "./sample_1.mp3", "./sample_2.mp3"],
)
 
audio = generate(text="안녕하세요? 저는 복제된 음성입니다!", voice=voice)
 
play(audio)

이 예제는 음성 복제 과정과 복제된 음성으로 오디오를 생성하는 방법을 보여줍니다.

실시간 스트리밍

ElevenLabs API를 사용하여 생성 중인 오디오를 실시간 스트리밍으로 전송할 수 있습니다. 간단한 데모입니다.

from elevenlabs import generate, stream
 
audio_stream = generate(
  text="실시간 스트리밍 음성입니다!",
  stream=True
)
 
stream(audio_stream)

API Key 설정

기본 API는 문자 수가 제한되어 있습니다. 이 한도를 확장하려면 ElevenLabs에서 무료 API 키를 받을 수 있습니다. 이 키는 ELEVEN_API_KEY 환경 변수로 구성할 수도 있고, generate 함수의 문자열 인수로 제공할 수도 있습니다:

from elevenlabs import set_api_key
set_api_key("<YOUR_API_KEY>")

이 예제에서는 스크립트에서 API 키를 설정하여 텍스트 음성 합성 기능의 문자 수 제한을 확장합니다.

Python 스크립트에 ElevenLabs API를 통합함으로써, 가장 자연스러운 매력적인 목소리로 응용 프로그램을 구현할 수 있게됩니다. 다양하고 생동감 있는 음성으로 프로젝트를 강화하는 시간입니다.

ElevenLabs API 문제 해결

ElevenLabs는 여전히 베타 버전이며, 다국어 모델은 실험적입니다. 하지만 사용 및 경험을 최적화할 수 있는 방법이 있습니다. 생성 중에 음성 톤, 목소리 전환 또는 노이즈 침해가 발생할 수 있습니다. 이러한 문제는 주로 사용된 모델 및 음성에 따라 다릅니다. 개선을 위해 계속해서 모델을 개선하고 있지만, 이러한 문제를 완화할 수 있는 방법이 있습니다.

보다 나은 오디오 품질을 유지하기 위해 텍스트를 800자 미만으로 분할하는 것이 좋습니다. 또한 영어 음성에서는 단일 언어 모델이 보다 안정적인 결과를 제공합니다.

문제 해결 시 고려해야할 몇 가지 핵심 요소가 있습니다:

  1. 텍스트 청크 길이: 음성이 시간이 지남에 따라 악화될 수 있으며, 실험적인 다국어 모델의 악화 속도는 더 빨라집니다. 우리 팀은 이 문제에 대한 해결책을 마련하고 있습니다.

  2. 단일 언어 또는 다국어: 단일 언어 모델은 더 안정적이지만 공식적으로 영어만 지원합니다. 다국어 모델은 실험적이며 지속적으로 작업 중인 특이한 문제점이 있을 수 있습니다.

  3. 음성 유형: 미리 제작된 목소리 또는 목소리 디자인 목소리는 긴 생성 중에 속삭이기 시작할 수 있습니다. 클로닝 된 음성을 사용하는 경우, 사용한 샘플의 품질은 최종 출력에 결정적인 역할을 합니다.

  4. 설정 사용: 안정성 및 유사성 설정은 음성 성능 및 불필요한 악화를 영향을 미칠 수 있습니다. 다국어 모델에서는 숫자와 기호를 잘못 발음하는 경우가 있으므로, 써놓는 것이 유익할 수 있습니다.

이러한 문제를 일시적으로 해결하는 것이긴 하지만, ElevenLabs API를 사용하는 데 도움이 될 수 있기를 바랍니다. 저희 팀은 매우 긴 생성을 용이하게 하는 예정인 '프로젝트' 업데이트와 같은 새로운 기술을 개발하고 있습니다.

결론

Python용 ElevenLabs API는 가장 실제적인 음성을 제공하여 창작자 및 개발자가 강력한 도구를 사용할 수 있도록합니다. 설치는 쉽고, 사용은 명확하고 간결한 코드로 간소화됩니다. 여전히 베타 버전이지만, 강력한 다국어 지원, 다양한 음성 옵션, 실시간 스트리밍 및 문자 수 제한을 늘리기 위한 구성 가능한 API 키를 제공합니다. 이 글에서 제공한 지침을 통해 API를 탐색하고 잠재적인 문제를 해결하며 생동감 있고 혁신적인 음성으로 응용 프로그램을 향상시키기 위한 지식을 얻게 되었습니다. ElevenLabs API로 텍스트 음성 합성의 미래를 받아들이십시오.

자주 묻는 질문 (FAQ)

Q: ElevenLabs API를 설치하는 방법은 무엇인가요? A: pip을 사용하여 pip install elevenlabs 명령을 사용하여 ElevenLabs API를 설치할 수 있습니다.

Q: ElevenLabs API를 사용하여 오디오를 생성하는 방법은 무엇인가요? A: generate 함수를 사용하여 텍스트, 음성 및 모델을 지정하여 오디오를 생성한 다음 play 함수를 사용하여 생성된 오디오를 재생할 수 있습니다.

Q: ElevenLabs API는 여러 언어를 지원합니까? A: 예, eleven_multilingual_v1 모델은 영어, 독일어, 폴란드어, 스페인어, 이탈리아어, 프랑스어, 포르투갈어 및 힌디어를 포함한 여러 언어를 지원합니다.

Q: ElevenLabs API 사용 중 어떤 문제가 발생할 수 있나요? A: ElevenLabs API가 여전히 베타 버전이므로 오디오 생성 중 톤, 목소리 전환이나 노이즈 변경이 발생할 수 있습니다. 텍스트 길이를 줄이고 영어의 경우 단일 언어 모델을 사용하며 음성 유형과 사용된 설정을 고려하면 이러한 문제를 완화할 수 있습니다.

Q: ElevenLabs API의 문자 수 제한을 어떻게 늘릴 수 있나요? A: ElevenLabs에서 무료 API 키를 받아 ELEVEN_API_KEY 환경 변수로 구성하거나 generate 함수의 문자열 인수로 제공하여 문자 수를 늘릴 수 있습니다.