<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss-style.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:version="2.0"><channel><title>potato</title><description>记点东西.. feedId:172229198194932736+userId:166528077360436224</description><link>https://my.tudouu.cn/</link><language>zh</language><item><title>Genie-TTS部署教程</title><link>https://my.tudouu.cn/blog/tts/</link><guid isPermaLink="true">https://my.tudouu.cn/blog/tts/</guid><content:encoded>&lt;blockquote&gt;This rendering was automatically generated by Ryuchan Feed and may have formatting issues. For the best experience, please visit: &lt;a href=&quot;https://my.tudouu.cn/blog/tts/&quot;&gt;https://my.tudouu.cn/blog/tts/&lt;/a&gt;&lt;/blockquote&gt; &lt;h3&gt;一、环境与依赖准备&lt;/h3&gt;
&lt;p&gt;首先，更新系统软件源并安装必要的系统依赖，包括 Python、Git 以及用于拉取大语言模型文件的 Git LFS。&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt update
sudo apt install python3 python3-pip git git-lfs -y

# 初始化 Git LFS
git lfs install
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;二、项目初始化与模型配置&lt;/h3&gt;
&lt;p&gt;在系统目录中创建专门的项目文件夹，并安装 TTS 核心 Python 库。&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;mkdir -p ~/genie-tts-server
cd ~/genie-tts-server

# 安装 tts 核心依赖
pip install genie-tts
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;接着，在 &lt;code&gt;genie-tts-server&lt;/code&gt; 目录下创建一个 &lt;code&gt;models&lt;/code&gt; 文件夹，将下载好的模型文件放置到该目录中。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;模型下载地址：&lt;a href=&quot;https://github.com/LRZ9712/Genie-TTS-model/releases/tag/%E5%8E%9F%E7%A5%9E&quot;&gt;Genie-TTS-model (原神模型包)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;目录结构如图所示：
&lt;img src=&quot;https://my.tudouu.cn/images/tts/54f405ceea488280.png&quot; alt=&quot;&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;三、编写启动脚本&lt;/h3&gt;
&lt;p&gt;在项目根目录（&lt;code&gt;~/genie-tts-server&lt;/code&gt;）下创建并编辑 &lt;code&gt;server.py&lt;/code&gt; 文件。以下是完整的 Python 脚本内容，默认配置为加载“甘雨”的语音模型：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;import genie_tts as genie
import os

# 配置：模型仓库的路径
MODEL_BASE_PATH = &amp;quot;models&amp;quot; 

# 检查路径是否存在
if not os.path.exists(MODEL_BASE_PATH):
    print(f&amp;quot;错误：找不到 {MODEL_BASE_PATH} 文件夹。请确保你已经正确下载了模型文件。&amp;quot;)
    exit(1)

print(&amp;quot;正在初始化 Genie-TTS...&amp;quot;)

# --- 加载角色模型 ---
# 默认加载甘雨模型，需确保模型文件位于 models/甘雨 目录下
try:
    genie.load_character(
        character_name=&amp;#39;甘雨&amp;#39;, 
        onnx_model_dir=os.path.join(MODEL_BASE_PATH, &amp;#39;甘雨&amp;#39;),
        language=&amp;#39;zh&amp;#39;
    )
    print(&amp;quot;✅ 甘雨 模型加载成功&amp;quot;)
except Exception as e:
    print(f&amp;quot;⚠️ 甘雨 模型加载失败: {e}&amp;quot;)

# --- 启动服务 ---
print(&amp;quot;\n🚀 正在启动服务器，监听 0.0.0.0:8000 ...&amp;quot;)
genie.start_server(
    host=&amp;quot;0.0.0.0&amp;quot;,
    port=8000,
    workers=1
)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;四、系统内存与 Swap 优化&lt;/h3&gt;
&lt;p&gt;为了防止在加载大模型时因内存不足导致进程被系统强制结束（OOM Kill），需要优化内存分配机制并扩充 4GB 的 Swap 虚拟内存。这是给2-2小内存服务器的操作，鸡大可以不用看。&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 1. 清理页面缓存、目录项和 inode
sync &amp;amp;&amp;amp; echo 3 &amp;gt; /proc/sys/vm/drop_caches

# 2. 调整内核内存策略
echo 1 &amp;gt; /proc/sys/vm/overcommit_memory     # 允许过度使用内存
echo 50 &amp;gt; /proc/sys/vm/vfs_cache_pressure   # 降低内核杀进程的倾向
echo 80 &amp;gt; /proc/sys/vm/swappiness           # 提高使用 Swap 的倾向

# 3. 重新创建并挂载 4GB Swap 交换文件
swapoff /swapfile
dd if=/dev/zero of=/swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# 4. 清空内核历史日志，方便后续排错
dmesg -c
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;五、启动与验证服务&lt;/h3&gt;
&lt;p&gt;应用更保守的 Python 内存管理策略，在后台启动服务进程，最后通过日志确认程序是否成功运行。&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 开启保守的内存管理与日志屏蔽
export PYTHONUNBUFFERED=1
export TF_CPP_MIN_LOG_LEVEL=3

# 在后台启动服务器并将输出重定向到 log.txt
nohup python3 server.py &amp;gt; log.txt 2&amp;gt;&amp;amp;1 &amp;amp;

# 实时查看启动日志
tail -f log.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当你在日志中看到 &lt;code&gt;✅ 甘雨 模型加载成功&lt;/code&gt; 以及 &lt;code&gt;Uvicorn running on http://0.0.0.0:8000&lt;/code&gt; 时，就代表服务器已经大功告成了！&lt;/p&gt;
</content:encoded><dc:creator>potato</dc:creator><pubDate>Sun, 19 Apr 2026 18:56:00 GMT</pubDate></item></channel></rss>