이 프로젝트는 edge-tts 사용하여 로컬의 OpenAi 호환 텍스트 음성 (TTS) API를 제공합니다. OpenAi TTS 엔드 포인트 ( /v1/audio/speech )를 모방하여 OpenAI API와 마찬가지로 다양한 음성 옵션 및 재생 속도로 텍스트에서 음성을 생성 할 수 있습니다.
edge-tts Microsoft Edge의 온라인 텍스트 음성 연설 서비스를 사용하므로 완전히 무료입니다.
Docker Hub 에서이 프로젝트를보십시오
/v1/audio/speech .edge-tts 등가물에 맵핑합니다.requirements.txt 에 종속성을 설치하십시오.git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts.env 파일을 만듭니다. API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
또는 다음과 함께 기본 .env.example 복사하십시오.
cp .env.example .envdocker compose up --build(참고 : Docker-Compose는 Docker Compose와 동일하지 않습니다)
-d 로 실행하여 Docker Compose를 "분리 모드"로 실행하여 백그라운드에서 실행되고 터미널을 제거합니다.
docker compose up -d또는 Docker와 직접 실행하십시오 .
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-tts 컨테이너를 백그라운드에서 실행하려면 docker run 명령 후 -d 추가하십시오.
docker run -d -p 5050:5050 --env-file .env openai-edge-ttshttp://localhost:5050 에서 액세스 할 수 있습니다. Python 으로이 프로젝트를 직접 실행하려면 다음 단계를 따라 가상 환경을 설정하고 종속성을 설치하고 서버를 시작하십시오.
git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts의존성을 분리하기 위해 가상 환경을 만들고 활성화하십시오.
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv S cripts a ctivate pip 사용하여 requirements.txt 에 나열된 필수 패키지를 설치하십시오 .txt :
pip install -r requirements.txt 루트 디렉토리에서 .env 파일을 만들고 다음 변수를 설정하십시오.
API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
구성되면 다음을 사용하여 서버를 시작하십시오.
python app/server.py 서버는 http://localhost:5050 에서 실행되기 시작합니다.
이제 http://localhost:5050/v1/audio/speech 및 기타 사용 가능한 엔드 포인트에서 API와 상호 작용할 수 있습니다. 요청 예제는 사용 섹션을 참조하십시오.
/v1/audio/speech입력 텍스트에서 오디오를 생성합니다. 사용 가능한 매개 변수 :
필수 매개 변수 :
선택적 매개 변수 :
"tts-1" )로 설정합니다.edge-tts Voice (기본값 : "en-US-AndrewNeural" ).mp3 , opus , aac , flac , wav , pcm (기본값 : mp3 ).1.2 입니다. curl 과 함께 요청 및 출력을 MP3 파일로 저장하는 예제 :
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "echo",
"response_format": "mp3",
"speed": 1.2
} '
--output speech.mp3또는 OpenAI API 엔드 포인트 매개 변수와 일치합니다.
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "Hello, I am your AI assistant! Just let me know how I can help bring your ideas to life.",
"voice": "alloy"
} '
--output speech.mp3영어 이외의 언어의 예 :
curl -X POST http://localhost:5050/v1/audio/speech
-H " Content-Type: application/json "
-H " Authorization: Bearer your_api_key_here "
-d ' {
"model": "tts-1",
"input": "じゃあ、行く。電車の時間、調べておくよ。",
"voice": "ja-JP-KeitaNeural"
} '
--output speech.mp3edge-tts Voices를 나열합니다.edge-tts Voices를 나열합니다.기부금을 환영합니다! 저장소를 포크하고 개선에 대한 풀 요청을 작성하십시오.
이 프로젝트는 GNU General Public License v3.0 (GPL-3.0)에 따라 라이센스가 부여되며 허용 가능한 사용 사례는 개인적으로 사용됩니다. openai-edge-tts 의 기업 또는 비 개인적인 사용은 [email protected]으로 저에게 연락하십시오.
팁
localhost 로컬 IP로 바꾸십시오 (예 : 192.168.0.1 ) 문제가있는 경우
다른 서버 / 컴퓨터 에서이 엔드 포인트에 액세스 할 때 또는 다른 소스에서 통화가 이루어질 때 (Open WebUI와 같은) URL을 localhost 에서 로컬 IP ( 192.168.0.1 이상)로 변경해야합니다.
관리자 패널을 열고 설정 -> 오디오로 이동
아래 에서이 프로젝트를 사용하여 OpenAI 엔드 포인트를 대체하기위한 올바른 구성의 스크린 샷을 볼 수 있습니다.
메모
OpenAi Edge TTS와 Open WebUI 통합을위한 공식 문서보기
버전 1.6.8에서 allylm은 "Generic OpenAi TTS 제공 업체"에 대한 지원을 추가했습니다. 즉,이 프로젝트를 TTS 제공 업체로 사용할 수 있습니다.
설정을 열고 음성 및 음성으로 이동 (AI 제공 업체 아래)
아래 에서이 프로젝트를 사용하여 OpenAI 엔드 포인트를 대체하기위한 올바른 구성의 스크린 샷을 볼 수 있습니다.
your_api_key_here 교체 할 필요가 없습니다. "실제"API 키가 필요하지 않습니다. 원하는 문자열을 사용하십시오.docker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latest음성 샘플을 재생하고 사용 가능한 모든 Edge TTS Voices보기