飛牛NAS本地部署開源TTS文本轉語音工具EasyVoice與遠程使用流程

文章目錄

    • 前言
    • 1. 環境準備
    • 2. Docker部署與運行
    • 3. 簡單使用測試
    • 4. 安裝內網穿透
      • 4.1 開啟ssh連接安裝cpolar
      • 4.2 創建公網地址
    • 5. 配置固定公網地址
    • 總結

前言

本文主要介紹如何在fnOS飛牛云NAS使用Docker本地部署一款非常好用的開源TTS文本轉語音工具EasyVoice,并結合cpolar內網穿透工具輕松實現跨網絡環境遠程使用,無需公網IP,也不用準備云服務器那么麻煩。

EasyVoice 是一款開源的智能文本轉語音工具,作為文本、小說智能轉語音解決方案,可以將文本內容轉換為高質量的語音輸出。支持一鍵生成語音和字幕,無時長、無字數限制,支持將 10 萬字以上的小說一鍵轉為有聲書!流式傳輸,多長的文本都能立刻播放。適用于聽小說、為創作配音,打造個性化音頻。

EasyVoice提供了在線使用體驗文本轉語音,但是有字符數量限制,有一定局限性。而且如果考慮到隱私問題,我們完全可以在本地進行部署,更方便的進行使用。它支持Docker和Node.js一鍵部署,搭建過程非常簡單,下面就來詳細進行操作演示。

1. 環境準備

本例中在Windows系統使用VMware Workstation安裝的fnOS虛擬機,系統版本為V0.8.41。如果不知道如何在虛擬機中安裝,可以參考這篇文章:VMware中安裝飛牛云(fnOS) NAS系統 如果您想要在x86架構的物理機中安裝,可以訪問飛牛私有云 fnOS官網下載鏡像文件然后使用U盤寫入鏡像后,進入bios設置U盤啟動后像裝Windows系統一樣安裝即可。

EasyVoice項目地址:https://github.com/cosin2077/easyVoice

啟動fnOS系統后,能看到Web UI管理界面的地址:http://192.168.184.130:5666 在瀏覽器中打開:

image-20250509105552969

2. Docker部署與運行

首先,點擊Docker-Compose-新增項目:

image-20250513103247093

在彈出的創建項目窗口中,填寫項目名稱:easyvoice(可自定義):

image-20250513104035416

點擊路徑后,在docke文件夾內新建一個名為EasyVoice的項目路徑,點擊確定:

image-20250513103409909

然后點擊創建 docke-compose.yml ,將下面的代碼粘貼到輸入框:

services:easyvoice:image: cosincox/easyvoice:latestrestart: unless-stoppedcontainer_name: easyvoiceports:- "9549:3000"environment:- DEBUG=true- OPENAI_BASE_URL=https://openrouter.ai/api/v1/volumes:- ./audio:/app/audio

image-20250513103939267

勾選創建項目后立即啟動,點擊確定,自動構建容器:

image-20250513104145965

等待構建完成后,在容器中,能看到easyvoice已經正常啟動了:

image-20250513104430536

在瀏覽器中訪問fnOS飛牛nas主機地址加端口號9549: http://192.168.184.130:9549 就能看到EasyVoice的Web UI管理界面了:

image-20250513104605241

3. 簡單使用測試

點擊立即體驗:

image-20250513110831119

在跳轉的文本轉語音頁面,我們可以在左側手動輸入文本或上傳txt格式的文本文件來添加需要轉換的內容:

image-20250513111012628

而在右側是對語音進行設置的選項,包括語言、性別、配音角色、語速、音量、音調等多種設置:

image-20250513112139608

輸入文字后,點擊生成語音:

image-20250513111432386

速度非常快,資源占用也很少,不需要什么性能就可以輕松生成語音:

image-20250513111505721

生成的音頻可以直接播放,也可以下載到本地:

image-20250513111605877

再測試一下拖拽文件或點擊上傳一個txt格式小說試試:

image-20250513114218758

隨著需要轉換成語音的文字字數增多,生成的時間也會增加:

image-20250513114237849

等待轉換結束后,可以看到,一個多小時的文本量也能正常轉換成音頻:

image-20250513114803797

除了預設語音功能,EasyVoice目前還增加了實驗性功能的AI推薦,可以通過AI將需要轉換為語音的文字智能推薦不同的角色語音。如果想體驗這個功能,我們可以在上邊通過docker-compose創建容器時,在代碼中的環境變量里添加需要調用的本地大模型地址(本例中的地址為ollama部署的主機IP+端口號)與要使用的模型名稱即可:

b44ccf9ead8f60d0bbc18659d17da606

實際測試后確實能分角色朗讀,但并不會新增角色語音,也是調用預設語音中的角色進行轉換。而且根據不同的模型能力,實際得到的結果也不相同,支持函數調用的模型似乎效果更好一些,還是可以期待后續的優化的。

image-20250513163006659

image-20250513163310851

4. 安裝內網穿透

我們現在已經實現了在本地fnOS飛牛云NAS中部署了EasyVoice進行文本轉語音,并能在在同一局域網內向其他人分享這個工具的鏈接在瀏覽器中進行體驗了。但如果你想自己或是異地好友和同事也能遠程使用你在本地飛牛云NAS中部署的EasyVoice服務該怎么辦呢?很簡單,只要安裝一個cpolar內網穿透工具就能輕松實現遠程訪問內網主機中部署的服務了,節約成本,提高效率,接下來介紹一下如何安裝cpolar內網穿透。

cpolar官網地址: https://www.cpolar.com

4.1 開啟ssh連接安裝cpolar

首先打開飛牛云NAS設置界面,開啟ssh 連接,端口默認為22即可,開啟后,我們就可以ssh 連接飛牛云NAS執行命令:

853d0e568b7879cca312f7b18d4fbb4.png

然后我們通過輸入飛牛云NAS的IP地址ssh遠程連接進去,因為fnOS是基于Linux 內核開發的,所以我們可以按照cpolar的Linux安裝方法進行安裝:

image-20250225152553263

連接后執行下面cpolar Linux 安裝命令:

sudo curl https://get.cpolar.sh | sh

再次輸入飛牛云nas的密碼確認后即可自動安裝

安裝完成后,執行下方命令查看cpolar服務狀態:(如圖所示即為正常啟動)

sudo systemctl status cpolar

image-20250225153049854

Cpolar安裝和成功啟動服務后,在瀏覽器上輸入飛牛云主機IP加9200端口即:【http://localhost:9200】訪問Cpolar管理界面,使用官網注冊的賬號登錄,登錄后即可看到配置界面,接下來在web界面配置即可:

image.png

4.2 創建公網地址

登錄cpolar web UI管理界面后,點擊左側儀表盤的隧道管理——創建隧道:

  • 隧道名稱:可自定義,本例使用了: easyvoice 注意不要與已有的隧道名稱重復
  • 協議:http
  • 本地地址:9549
  • 域名類型:隨機域名
  • 地區:選擇China Top

image-20250513134512469

創建成功后,打開左側在線隧道列表,可以看到剛剛通過創建隧道生成了兩個公網地址,使用上面的任意一個公網地址在瀏覽器中訪問就可以實現隨時隨地遠程使用你在本地部署的EasyVoice來文本轉語音了!

image-20250513134634179

使用cpolar生成的公網地址,無需自己準備云服務器,無公網IP也能輕松搞定跨網絡環境遠程訪問本地服務!

image-20250513134726744

小結

為了方便演示,我們在上邊的操作過程中使用cpolar生成的HTTP公網地址隧道,其公網地址是隨機生成的。這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址是隨機生成,這個地址在24小時內會發生隨機變化,更適合于臨時使用。

如果有長期使用本地飛牛云NAS中部署的EasyVoice文本轉語音工具,或者異地訪問與使用其他本地部署的服務的需求,但又不想每天重新配置公網地址,還想讓公網地址好看又好記并體驗更多功能與更快的帶寬,那我推薦大家選擇使用固定的二級子域名方式來配置公網地址。

5. 配置固定公網地址

接下來演示如何為EasyVoice文本轉語音服務配置固定的HTTP公網地址,該地址不會變化,無需每天重復修改服務器地址。

配置固定http端口地址需要將cpolar升級到專業版套餐或以上。

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱:

image-20250513135011703

保留成功后復制保留成功的二級子域名的名稱: myeasyv,大家可以設置自己喜歡的名稱。

image-20250513135032230

返回Cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道:easyvoice,點擊右側的編輯:

image-20250513135152962

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名:myeasyv

點擊更新(注意,點擊一次更新即可,不需要重復提交)

image-20250513135246942

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了固定的二級子域名名稱的域名:

image-20250513135340358

使用上面的任意一個固定的二級子域名公網地址在瀏覽器中訪問,可以看到成功打開EasyVoice文本轉語音的Web UI管理界面,現在開始就不用每天都更換隨機公網地址來遠程訪問本地nas中部署的服務了。

image-20250513135611778

同樣可以使用AI推薦功能:

image-20250513164000852

總結

在現代數字時代,隨著智能語音技術的快速發展,文本轉語音(TTS)工具在各類應用場景中發揮著重要作用。本文分享了如何在fnOS飛牛NAS中本地部署EasyVoice文本轉語音工具,并結合cpolar內網穿透工具配置固定不變的二級子域名公網地址,實現隨時隨地遠程訪問本地部署服務。

通過本教程的完整部署,您已經成功構建了一個可遠程訪問的本地語音合成服務。該方案不僅解決了傳統內網服務的訪問限制問題,還通過容器化部署實現了服務的快速擴展和維護。在實際應用中,建議根據具體需求調整性能參數,例如增加GPU加速支持以提升語音合成速度。如在部署過程中遇到任何技術問題,歡迎在評論區留言交流,或參考官方文檔獲取更多技術細節。感謝您的觀看,有任何問題歡迎留言交流。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905601.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905601.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905601.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

部署安裝jenkins.war(2.508)

實驗目的:部署jenkins,并與gitlab關聯bulid 所需軟件:jdk-17_linux-x64_bin.tar.gz jenkins.war apache-tomcat-10.1.40.tar.gz 實驗主機:8.10具有java環境,內存最少為4G,cpu雙核 目錄 jdk安裝 …

AEO認證的好處 ,如何快速獲取AEO認證?

AEO認證的好處及快速獲取方法 AEO(Authorized Economic Operator,經認證的經營者) 是海關對符合國際供應鏈安全標準的企業給予的認證,分為 AEO一般認證 和 AEO高級認證。獲得AEO認證可享受多項通關便利,提升企業國際貿…

(01)數字化轉型之采購管理:從計劃到退貨的精細化管控

引言:采購管理對企業運營的關鍵作用 在當今競爭激烈的商業環境中,采購管理已成為企業成本控制和供應鏈優化的核心環節。一項研究顯示,采購成本通常占企業總成本的60%-80%,而高效的采購管理可幫助企業降低5%-15%的采購成本。本文將…

技術視界 | 青龍機器人訓練地形詳解(四):復雜地形精講之斜坡

在前幾篇文章中,我們依次講解了如何創建一個地形、如何將地形添加到訓練環境中,并在上一期深入分析了復雜地形之一——臺階地形的創建方式與訓練意義。本文將繼續聚焦復雜地形訓練中另一類代表性地形——斜坡(Slope)與金字塔斜坡&…

【MySQL】多表連接查詢

個人主頁:Guiat 歸屬專欄:MySQL 文章目錄 1. 多表連接查詢概述1.1 連接查詢的作用1.2 MySQL支持的連接類型 2. 內連接 (INNER JOIN)2.1 內連接的特點2.2 內連接語法2.3 內連接實例2.4 多表內連接 3. 左外連接 (LEFT JOIN)3.1 左外連接的特點3.2 左外連接…

養豬場巡檢機器人的設計與應用研究

摘要 本論文針對傳統養豬場人工巡檢效率低、勞動強度大、數據準確性差等問題,設計了一種適用于養豬場的巡檢機器人。詳細闡述了該機器人的設計思路、技術原理、系統組成及功能特點,并通過實際應用案例分析其在養豬場中的應用效果。研究表明,養…

使用PEFT庫將原始模型與LoRA權重合并

使用PEFT庫將原始模型與LoRA權重合并 步驟如下: 基礎模型加載:需保持與LoRA訓練時相同的模型配置merge_and_unload():該方法會執行權重合并并移除LoRA層保存格式:合并后的模型保存為標準HuggingFace格式,可直接用于推…

適用于 iOS 的 開源Ultralytics YOLO:應用程序和 Swift 軟件包,用于在您自己的 iOS 應用程序中運行 YOLO

?一、軟件介紹 文末提供程序和源碼下載 該項目利用 Ultralytics 最先進的 YOLO11 模型將您的 iOS 設備轉變為用于對象檢測的強大實時推理工具。直接從 App Store 下載該應用程序,或瀏覽我們的指南,將 YOLO 功能集成到您自己的 Swift 應用程序中。 二、…

js關于number類型的計算問題

js中關于number類型的計算 因:在js中,number類型是用于表示數值的基本類型,它遵循 IEEE 754 雙精度浮點數(64 位)標準。這導致在某些計算中可能出現精度問題。 例:console.log(0.1 0.2); // 0.300000000…

RAG之大規模解析 PDF 文檔全流程實戰

PDF 文檔在商業、學術和政府領域無處不在,蘊含著大量寶貴信息。然而,從 PDF 中提取結構化數據卻面臨著獨特的挑戰,尤其是在處理數千甚至數百萬個文檔時。本指南探討了大規模解析 PDF 的策略和工具。 PDF解析挑戰 PDF 的設計初衷是為了提供一致的視覺呈現,而非數據提取。這…

TypeScript:類

一、基本概念 TypeScript 類是基于 ES6 類的語法擴展,增加了類型注解和訪問修飾符等特性,提供了更強大的面向對象編程能力。 二、基本語法 class Person {name: string;age: number;constructor(name: string, age: number) {this.name name;this.ag…

搶購Python代碼示例與技術解析

引言:搶購系統的技術挑戰 在當今電子商務高度發達的時代,搶購活動已成為各大電商平臺吸引用戶的重要手段。然而,高并發、低延遲的搶購場景對系統設計提出了嚴峻挑戰。本文將提供一個完整的Python搶購代碼示例,并深入分析其技術實…

實戰分析Cpython逆向

Cpython逆向 Python代碼轉換為C代碼的時候,將會大大增加框架代碼量。 1、正向py->c 先有正向,再有逆向 pip install cython 寫一個簡單的pyx文件 .pyx 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴展模塊源代碼文件 print(&qu…

Modbus轉IEC104網關(三格電子)

產品概述 Modbus轉IE104網關型號SG-TCP-IEC104,是三格電子推出的工業級網關(以下簡稱網關),主要用于Modbus RTU/TCP/ASCII數據采集、DLT645-1997/2007數據采集,可接多功能電力儀表、溫控儀、電表等,將采集…

智能工具協同賦能STEM教育科研|探索LLM大語言模型和數學軟件Maple的創新實踐

LLM 與 Maple:開啟 STEM 教育科研新范式 在當今數字化浪潮下,教育與科研領域正面臨著前所未有的變革機遇。大語言模型(LLM)的橫空出世,為知識生成、問題求解等帶來了全新思路;而數學軟件 Maple 以其強大的…

專項智能練習(定義判斷)_DA_01

1. 單選題 熱傳導是介質內無宏觀運動時的傳熱現象,其在固體、液體和氣體中均可發生。但嚴格而言,只有在固體中才是純粹的熱傳導,在流體(泛指液體和氣體)中又是另外一種情況,流體即使處于靜止狀態&#xff0…

pandas讀取pymysql和解析excel的一系列問題(版本不匹配)

pandas讀取pymysql和解析excel的一系列問題,大部分都是版本不匹配導致的 尤其是pandas,numpy,pymysql,openpyxl不匹配導致 from sqlalchemy import create_engine import numpy as np import pandas as pd conncreate_engine("mysqlpymysql://user:passhost:3…

【中級軟件設計師】網絡攻擊(附軟考真題)

【中級軟件設計師】網絡攻擊(附軟考真題) 目錄 【中級軟件設計師】網絡攻擊(附軟考真題)一、歷年真題二、考點:網絡攻擊1、拒絕服務攻擊(DoS攻擊)2、重放攻擊3、特洛伊木馬4、網絡監聽5、SQL注入…

20250515配置聯想筆記本電腦IdeaPad總是使用獨立顯卡的步驟

20250515配置聯想筆記本電腦IdeaPad總是使用獨立顯卡的步驟 2025/5/15 19:55 百度:intel 集成顯卡 NVIDIA 配置成為 總是用獨立顯卡 百度為您找到以下結果 ?要將Intel集成顯卡和NVIDIA獨立顯卡配置為總是使用獨立顯卡,可以通過以下步驟實現?&#xff…

【C++ | 內存管理】C++ 智能指針 std::shared_ptr 詳解及使用例子代碼

😁博客主頁😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客內容🤑:🍭嵌入式開發、Linux、C語言、C、數據結構、音視頻🍭 🤣本文內容🤣&a…