여러 TTS 엔진의 경우 텍스트로 Speech Rest API.
다른 TTS 엔진 및 음향 효과를 사용하여 오디오로 변환 할 텍스트를 보낼 수 있습니다. 그런 다음 로컬 오디오 장치에서 듣거나 결과 오디오 파일을 수신하게됩니다.
먼저 지원되는 TTS 엔진을 설치해야합니다.
apt install python3 sox libsox-fmt-mp3
pip install google_speechapt install python3 sox libsox-fmt-mp3
pip install gTTSapt install festival festvox-ellpc11kapt install espeak 또한 Nodejs 및 NPM을 설치 한 다음 npm install 및 npm start 실행해야합니다. API는 이제 http://localhost:3000 에서 실행해야합니다.
또는 이미 모든 종속성이 구성된 Pedroetb/TTS-API Docker Image를 사용할 수 있습니다.
유일한 요구 사항은 Docker를 설치하는 것입니다. 그런 다음 실행할 수 있습니다.
docker run --rm -d --name tts-api --device /dev/snd -p 3000:3000 pedroetb/tts-api API는 http://localhost:3000 에서 실행되고 액세스 할 수 있습니다.
또는 docker compose (현대 버전을 사용하는 경우 Docker에 이미 포함) 및 docker swarm (먼저 Swarm 클러스터 작성)을 사용하여 Docker Swarm 클러스터에 배포 할 수 있습니다.
cd deploy
# Deploy Caddy service
env $( grep -v ' ^[#| ] ' .env | xargs )
TRAEFIK_DOMAIN=change.me
docker stack deploy
-c compose.caddy.yaml
tts-api
# Run TTS-API container
docker compose
-f compose.tts-api.yaml
-p tts-api
up -d 이 서비스는 Traefik 과 리버스 프로스트를 제공하고 tts.${TRAEFIK_DOMAIN} 도메인에서 액세스 할 수 있습니다. Traefik을 실행하는 방법은 여기에 설명되어 있지 않으며 공식 사이트를 확인하십시오.
Docker Swarm은 장치 구성 (사운드 기능을 사용하는 데 필요한)과 Docker 컨테이너 및 Docker Swarm 서비스와 함께 일할 수 없기 때문에 Caddy 의 도움이 필요합니다. 이런 식으로, 캐디 서비스 만 Traefik을 사용하여 노출되며 tts-api 컨테이너는 Caddy 가 제공하는 역 프로파일을 통해서만 액세스 할 수 있습니다 ( Traefik이 Caddy 에 리버스 프록시 인 것과 동일).
Docker 컨테이너 및 서비스는 Docker 오버레이 네트워크를 통해 통신 할 수 있기 때문에 다른 호스트에서 실행 중일 수 있습니다. 스피커가있는 호스트에서 tts-api Docker 컨테이너를 실행하여 연설을들을 수 있습니다.
배포하기 전에 TRAEFIK_DOMAIN 환경 변수를 편집하는 것을 잊지 마십시오.
실행할 때 API는 http://localhost:3000 에서 사후 요청을받습니다. 좋아하는 REST 클라이언트를 사용하여 요청을 보내거나 내장 양식을 사용할 수 있습니다.
두 모드 (오디오 재생 또는 다운로드)는 다른 음성 코드를 사용하여 사용할 수 있습니다. 필요에 따라 하나를 선택하십시오.
브라우저를 사용하여 http://localhost:3000 으로 이동하여 양식을 데이터로 채우고 제출하십시오. 그냥.
이 계획에 따라 후 요청을 http://localhost:3000 으로 보낼 수 있습니다.
application/json{ "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } 예를 들어, curl 사용 :
# Play audio
curl http://localhost:3000
-d ' { "voice": "google_speech", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
# Download audio file
curl http://localhost:3000
-d ' { "voice": "gtts_file", "textToSpeech": "hello world", "language": "en", "speed": "1" } '
-H ' Content-Type: application/json '
-o ' output.mp3 ' Google Speech는 Google Translate TTS (Text to Speech) API를 사용하여 텍스트를 읽는 간단한 Multiplatform 명령 줄 도구입니다.
Google 서버와 통신하려면 온라인 상태가 필요합니다.
https://github.com/desbma/googoglespeech에서 자세히 알아보십시오
Google Text-To-Speech (GTTS)는 Google Translate의 텍스트 음성 API와 인터페이스하는 Python 라이브러리 및 CLI 도구입니다.
Google 서버와 통신하려면 온라인 상태가 필요합니다.
https://github.com/pndurette/gtts에서 자세히 알아보십시오
Festival은 연설에 블랙 박스 텍스트를 제공하는 다중 플랫폼에서 실행되는 무료 소프트웨어 다국어 연설 합성 워크 벤치와 음성 합성 연구를위한 오픈 아키텍처입니다.
오프라인으로 작동합니다.
http://www.cstr.ed.ac.uk/projects/festival/ 및 http://festvox.org/festival/에서 자세히 알아보십시오.
Espeak는 Linux 및 Windows 용 영어 및 기타 언어 용 소형 오픈 소스 소프트웨어 스피치 합성기입니다.
오프라인으로 작동합니다.
http://espeak.sourceforge.net/에서 자세히 알아보십시오.
이 프로젝트는 MIT 라이센스에 따라 릴리스됩니다.