【語音合成技術 - GPT-SoVITS】如何架設API伺服器

更新於 發佈於 閱讀時間約 6 分鐘

我們在「【語音合成技術 - GPT-SoVITS】讓機器說人話的語音生成服務」介紹過如何透過docker啟動webui版的TTS服務器, 但假設我們想自行開發一個TTS服務, 並整合到系統裡面, 通常會需要一個傳輸介面來溝通, 而API就是最簡易的溝通方式, 正巧 ****GPT-SoVITS ****也提供了API介面, 只是在架設時我們要稍微修改一下配置即可。


在2024/10/18前, https://github.com/RVC-Boss/GPT-SoVITS 專案有在 fast_inference_ 這個Branch開發了api_v3 這個API介面, 只是尚未合併進入到主線, 因此我們可以先來試用看看, 但並不是那麼的無痛, 沒關係! 跟著我們的步驟做, 會讓您輕鬆的架設起屬於自己的API伺服器。


首先我們為您導覽一下怎麼做?

raw-image


👉 接下來請你跟我這樣做

下載專案

git clone <https://github.com/RVC-Boss/GPT-SoVITS.git>
cd GPT-SoVITS



切到 fast_inference_ 分支


git checkout fast_inference_



Build Docker Image

./dockerbuild.sh



改docker compose配置

我們會需要加入command來執行api_v3

command:
- python
- api_v3.py


整個compose配置檔送給您:

version: '3.8'

services:
gpt-sovits:
image: breakstring/gpt-sovits:latest # please change the image name and tag base your environment. If the tag contains the word 'elite', such as "latest-elite", it indicates that the image does not include the necessary models such as GPT-SoVITS, UVR5, Damo ASR, etc. You will need to download them yourself and map them into the container.
container_name: gpt-sovits-container
environment:
- is_half=False
- is_share=False
volumes:
- ./output:/workspace/output
- ./logs:/workspace/logs
- ./SoVITS_weights:/workspace/SoVITS_weights
- ./reference:/workspace/reference
command:
- python
- api_v3.py
working_dir: /workspace
ports:
- "9880:9880"
- "9871:9871"
- "9872:9872"
- "9873:9873"
- "9874:9874"
shm_size: 16G
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: "all"
capabilities: [gpu]
stdin_open: true
tty: true
restart: unless-stopped



⭐️ 隱藏細節 - 掛載範例音檔

這邊要請您將一段5-10秒的範例音檔掛載到伺服器, 這樣我們產生tts語音的時候就能夠仿造範例音檔進行輸出。


|- reference
|- sample.wav



接著我們啟動服務

docker compose up -d



試試以下的API

http://localhost:9880/tts?text=春天的花朵盛開鳥兒在樹上唱歌陽光灑在大地&text_lang=zh&ref_audio_path=reference/sample.mp3&prompt_lang=zh&text_split_method=cut5&batch_size=1&media_type=wav&streaming_mode=false&batch_size=4


我們在網頁上就能夠播放TTS所產生的音檔。

raw-image



結語

假設我們想另外開發TTS的系統進行串接時, API就顯得非常重要, 也是最簡單的介接媒介, 因此學會 https://github.com/RVC-Boss/GPT-SoVITS 能夠讓我們更彈性的開發自己的TTS服務系統。

avatar-img
118會員
267內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
今天要分享的主題是關於「語音合成技術 - TTS」一款好用的開源軟體, 名為「GPT-SoVITS」, 它具有以下的特點: 零樣本(Zero Shot): 只需要五秒鐘的語音樣本就能即時文字轉語音。 少量樣本(Few Shot): 只要1分鐘樣本就能提高語音相似度及真實感。 跨語言: 日語
當我們架設好Docker環境, 並撰寫一個DAG為Docker Operator的關卡時, 執行後竟然出現以下錯誤: raise AirflowException("Failed to establish connection to any given Docker hosts.") air
當我們在訓練各種模型時, 難免會有許多實驗性的參數、產出的模型、不同的資料來源, 隨著版本迭代越來越多, 過了一段時間回頭看之後卻發現當初最好的某一個實驗參數到底是啥啊? 模型去了哪裡? 用的數據集是哪些? 我想上述這些問題都是模型訓練的過程難免會遇到的問題, 除非我們有一套管理的SOP, 比
我們在「【語音辨識引擎sherpa-onnx GPU下篇】讓您體驗更快的語音辨識功能」建置環境的過程中預到了這樣的錯誤訊息: RuntimeError: /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc: 1209
前面幾個篇章已經大致上介紹了Hugging Face這個平台的一些基本概念了,既然我們都能夠在平台上找到各式各樣的模型,而且也能夠照著教學一步步的來下載並使用,但有沒有更簡單的方式呢? 比如說,我們專注在應用端上的開發,AI的推理就藉由平台進行呢? 答案肯定是有的,近期越來越多開源的平台也都開放這
我們過往介紹了幾個關於文字AI應用的篇章: 【Hugging Face】Ep.5 文字世界中的超能力語言英雄(Named Entity Recognition) 【Hugging Face】Ep.6 解決問題的專業級破關知識家(Question Answering) 但單獨的文字應用似乎不太能
今天要分享的主題是關於「語音合成技術 - TTS」一款好用的開源軟體, 名為「GPT-SoVITS」, 它具有以下的特點: 零樣本(Zero Shot): 只需要五秒鐘的語音樣本就能即時文字轉語音。 少量樣本(Few Shot): 只要1分鐘樣本就能提高語音相似度及真實感。 跨語言: 日語
當我們架設好Docker環境, 並撰寫一個DAG為Docker Operator的關卡時, 執行後竟然出現以下錯誤: raise AirflowException("Failed to establish connection to any given Docker hosts.") air
當我們在訓練各種模型時, 難免會有許多實驗性的參數、產出的模型、不同的資料來源, 隨著版本迭代越來越多, 過了一段時間回頭看之後卻發現當初最好的某一個實驗參數到底是啥啊? 模型去了哪裡? 用的數據集是哪些? 我想上述這些問題都是模型訓練的過程難免會遇到的問題, 除非我們有一套管理的SOP, 比
我們在「【語音辨識引擎sherpa-onnx GPU下篇】讓您體驗更快的語音辨識功能」建置環境的過程中預到了這樣的錯誤訊息: RuntimeError: /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc: 1209
前面幾個篇章已經大致上介紹了Hugging Face這個平台的一些基本概念了,既然我們都能夠在平台上找到各式各樣的模型,而且也能夠照著教學一步步的來下載並使用,但有沒有更簡單的方式呢? 比如說,我們專注在應用端上的開發,AI的推理就藉由平台進行呢? 答案肯定是有的,近期越來越多開源的平台也都開放這
我們過往介紹了幾個關於文字AI應用的篇章: 【Hugging Face】Ep.5 文字世界中的超能力語言英雄(Named Entity Recognition) 【Hugging Face】Ep.6 解決問題的專業級破關知識家(Question Answering) 但單獨的文字應用似乎不太能
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
今天我要跟大家聊聊 GPT-SoVITS 的用途及其功能。 這個開源的聲音克隆專案,融合了業內頂尖的語音合成工具——GPT (Generative Pre-trained Transformer)模型,和SoVITS(Speech-to-Video Voice Transformation Sys
Thumbnail
  在 AI 應用中,圖像、語音、文字三種可以說是主要應用,其中我一直以來都是專注於圖像上的研究,對於另兩種僅止於淺嚐,接下來就往音訊上研究看看,先從入門級的Text-To-Speech (TTL) 入場並一個個嘗試其他類型的應用,那麼,就讓我們開始吧。
Thumbnail
「人工智障計畫」也執行了好一段時間了,關於這個專案中文字轉語音的方案,在之前的筆記中也有稍微提到,為了達成能自訂聲線,並且能完全離線運作兩個條件,我已經做過了不少嘗試。
Thumbnail
免費文字轉語音(Free text to speech)免費的線上語音合成工具,使用微軟 AI 語音庫生成仿真人語音,支援 129 種語言,提供三百多種聲音,輸入文本即可線上聆聽和下載 MP3 檔案。
Thumbnail
合成聲音技術的未來充滿希望,也存在挑戰。OpenAI呼籲社會各界一起加強對這一新興技術的認識,並共同探索如何有效地利用這項技術,同時保護公眾免受潛在的負面影響。
Thumbnail
之前有寫過一篇 《AI工具│透過AI整合的語音功能 Murf》,近期使用過之後,隨著ChatGPT與相關AI普及之後,新的自動生成網站與工具變得多元了起來。 大多會使用在影片製作中,若缺少的素材,或是想要呈現事件及詼諧感的時候,會加入片段人聲去做效果。 於是決定,統整一下自己最近常用的4個AI語
Thumbnail
本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
Thumbnail
從最初的接觸到深度的投懷送抱,這篇文章對於解決如何安裝text-generation-webui提供了清晰的指引。 它引導讀者通過它的官方方式和Docker方式做到這一點。此外,作者還分享了必要的優化建議。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
我測試的文字轉語音工具,我可以導入4000-5000(甚至高達10,000)個單詞來生成我的音頻檔案。 https://www.text-to-speech.online/ https://ttsmaker.com/ 其他工具但對字符數有一些限制: https://ttsfree.
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
今天我要跟大家聊聊 GPT-SoVITS 的用途及其功能。 這個開源的聲音克隆專案,融合了業內頂尖的語音合成工具——GPT (Generative Pre-trained Transformer)模型,和SoVITS(Speech-to-Video Voice Transformation Sys
Thumbnail
  在 AI 應用中,圖像、語音、文字三種可以說是主要應用,其中我一直以來都是專注於圖像上的研究,對於另兩種僅止於淺嚐,接下來就往音訊上研究看看,先從入門級的Text-To-Speech (TTL) 入場並一個個嘗試其他類型的應用,那麼,就讓我們開始吧。
Thumbnail
「人工智障計畫」也執行了好一段時間了,關於這個專案中文字轉語音的方案,在之前的筆記中也有稍微提到,為了達成能自訂聲線,並且能完全離線運作兩個條件,我已經做過了不少嘗試。
Thumbnail
免費文字轉語音(Free text to speech)免費的線上語音合成工具,使用微軟 AI 語音庫生成仿真人語音,支援 129 種語言,提供三百多種聲音,輸入文本即可線上聆聽和下載 MP3 檔案。
Thumbnail
合成聲音技術的未來充滿希望,也存在挑戰。OpenAI呼籲社會各界一起加強對這一新興技術的認識,並共同探索如何有效地利用這項技術,同時保護公眾免受潛在的負面影響。
Thumbnail
之前有寫過一篇 《AI工具│透過AI整合的語音功能 Murf》,近期使用過之後,隨著ChatGPT與相關AI普及之後,新的自動生成網站與工具變得多元了起來。 大多會使用在影片製作中,若缺少的素材,或是想要呈現事件及詼諧感的時候,會加入片段人聲去做效果。 於是決定,統整一下自己最近常用的4個AI語
Thumbnail
本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
Thumbnail
從最初的接觸到深度的投懷送抱,這篇文章對於解決如何安裝text-generation-webui提供了清晰的指引。 它引導讀者通過它的官方方式和Docker方式做到這一點。此外,作者還分享了必要的優化建議。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
我測試的文字轉語音工具,我可以導入4000-5000(甚至高達10,000)個單詞來生成我的音頻檔案。 https://www.text-to-speech.online/ https://ttsmaker.com/ 其他工具但對字符數有一些限制: https://ttsfree.