AI 图像与语音
AI 技术不仅能处理文本,还能生成高质量图像和处理语音。本文将介绍在 Ubuntu 26.04 上安装和使用主流的 AI 图像生成和语音识别工具。
Stable Diffusion WebUI (AUTOMATIC1111)
AUTOMATIC1111 的 Stable Diffusion WebUI 是最流行的 AI 绘图工具,提供功能丰富的 Web 界面,支持文本生成图像(txt2img)、图像生成图像(img2img)、局部重绘(inpainting)等多种功能。
系统要求
- NVIDIA 显卡,建议 8GB 以上显存
- Python 3.10+
- 至少 15GB 磁盘空间(基础模型约 4-7GB)
安装依赖
# 安装系统依赖
sudo apt update
sudo apt install -y git python3 python3-venv python3-pip \
libgl1 libglib2.0-0 libsm6 libxext6 libxrender1 \
wget curl
# 确保已安装 NVIDIA 驱动和 CUDA(参考 GPU 环境配置章节)
nvidia-smi安装 Stable Diffusion WebUI
# 克隆仓库
cd ~
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# 首次启动(会自动安装 Python 依赖和下载基础模型)
# 这个过程可能需要 10-30 分钟,取决于网络速度
./webui.sh# 如果需要自定义启动参数
./webui.sh --listen --port 7860 --enable-insecure-extension-access
# 常用启动参数:
# --listen 允许远程访问(默认仅本地)
# --port 7860 指定端口
# --xformers 启用 xformers 加速(推荐)
# --medvram 中等显存优化(8GB 显卡推荐)
# --lowvram 低显存优化(4-6GB 显卡)
# --no-half 禁用半精度(某些 AMD 显卡需要)下载模型
Stable Diffusion 的核心是 Checkpoint 模型文件,需要手动下载放置到指定目录。
# 模型存放目录
mkdir -p ~/stable-diffusion-webui/models/Stable-diffusion
# 下载 Stable Diffusion XL 基础模型
wget -O ~/stable-diffusion-webui/models/Stable-diffusion/sd_xl_base_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
# 下载 SDXL Refiner(可选,用于精修图像)
wget -O ~/stable-diffusion-webui/models/Stable-diffusion/sd_xl_refiner_1.0.safetensors \
"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors"# 下载 VAE 模型(改善图像色彩)
mkdir -p ~/stable-diffusion-webui/models/VAE
wget -O ~/stable-diffusion-webui/models/VAE/sdxl_vae.safetensors \
"https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors"下载热门社区模型
社区在 Civitai 和 Hugging Face 上提供了大量精调模型:
# 模型存放到对应目录即可
# Checkpoint 模型 → models/Stable-diffusion/
# LoRA 模型 → models/Lora/
# VAE 模型 → models/VAE/
# Embedding → embeddings/
mkdir -p ~/stable-diffusion-webui/models/Lora
mkdir -p ~/stable-diffusion-webui/embeddings
# 从 Hugging Face 下载模型示例
# wget -O ~/stable-diffusion-webui/models/Stable-diffusion/model_name.safetensors "下载链接"使用 WebUI
启动后在浏览器中访问 http://localhost:7860:
- txt2img — 输入提示词(prompt)生成图像
- img2img — 上传参考图,根据提示词修改
- Inpaint — 选择图像区域进行局部重绘
- Extensions — 安装插件扩展功能
示例提示词:
正面提示词: a beautiful mountain landscape, sunset, golden hour,
photorealistic, 8k, masterpiece, best quality
负面提示词: blurry, low quality, distorted, watermark, text创建启动脚本
cat > ~/stable-diffusion-webui/start.sh << 'EOF'
#!/bin/bash
cd ~/stable-diffusion-webui
./webui.sh --listen --xformers --enable-insecure-extension-access
EOF
chmod +x ~/stable-diffusion-webui/start.sh如果你的显卡有 8GB 显存,建议使用 --medvram --xformers 参数启动。对于 SDXL 模型,推荐至少 10GB 显存以获得最佳体验。使用 SD 1.5 系列模型则 4GB 显存即可流畅运行。
ComfyUI
ComfyUI 是基于节点工作流的 AI 图像生成工具,通过可视化的节点连接来构建图像生成流程,灵活性极高。
安装 ComfyUI
# 安装系统依赖
sudo apt install -y git python3 python3-venv python3-pip
# 克隆 ComfyUI
cd ~
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
# 创建 Python 虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装 PyTorch(CUDA 版本)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# 安装 ComfyUI 依赖
pip install -r requirements.txt启动 ComfyUI
cd ~/ComfyUI
source venv/bin/activate
# 启动(默认端口 8188)
python main.py
# 允许远程访问
python main.py --listen 0.0.0.0 --port 8188
# 低显存模式
python main.py --lowvram安装模型
ComfyUI 的模型目录结构:
# 模型目录
ls ~/ComfyUI/models/
# checkpoints/ — Checkpoint 模型
# clip/ — CLIP 模型
# loras/ — LoRA 模型
# vae/ — VAE 模型
# controlnet/ — ControlNet 模型
# upscale_models/ — 放大模型
# 可以复用 AUTOMATIC1111 的模型(通过软链接)
ln -s ~/stable-diffusion-webui/models/Stable-diffusion/* ~/ComfyUI/models/checkpoints/
ln -s ~/stable-diffusion-webui/models/Lora/* ~/ComfyUI/models/loras/
ln -s ~/stable-diffusion-webui/models/VAE/* ~/ComfyUI/models/vae/节点工作流
ComfyUI 使用节点和连线来构建图像生成管道:
- 打开浏览器访问
http://localhost:8188 - 默认工作流包含基本的 txt2img 节点
- 右键点击画布可添加新节点
- 点击 “Queue Prompt” 开始生成
安装 ComfyUI Manager(推荐):
# ComfyUI Manager 可以方便地管理自定义节点
cd ~/ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
# 重启 ComfyUI 后,界面上会出现 Manager 按钮常用自定义节点
cd ~/ComfyUI/custom_nodes
# 高级 ControlNet 节点
git clone https://github.com/Fannovel16/comfyui_controlnet_aux.git
# IP-Adapter 节点(风格迁移)
git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git
# 图像放大节点
git clone https://github.com/ssitu/ComfyUI_UltimateSDUpscale.git
# 安装各节点的依赖
cd ~/ComfyUI
source venv/bin/activate
for dir in custom_nodes/*/; do
if [ -f "$dir/requirements.txt" ]; then
pip install -r "$dir/requirements.txt"
fi
doneComfyUI 的学习曲线比 AUTOMATIC1111 WebUI 更陡峭,但它的灵活性和可复现性更强。建议先从默认工作流开始学习,逐步添加复杂节点。你可以从 https://comfyworkflows.com 或 https://openart.ai/workflows 下载社区分享的工作流。
OpenAI Whisper
OpenAI Whisper 是一个强大的语音识别模型,支持多种语言的语音转文字(Speech-to-Text),准确率极高。
安装 Whisper
# 安装系统依赖
sudo apt install -y python3 python3-pip python3-venv ffmpeg
# 创建虚拟环境(推荐)
python3 -m venv ~/whisper-env
source ~/whisper-env/bin/activate
# 安装 Whisper
pip install openai-whisper
# 或安装带 GPU 加速的版本(需要 CUDA)
pip install openai-whisper torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126语音转文字
# 激活虚拟环境
source ~/whisper-env/bin/activate
# 基本使用:转录音频文件
whisper audio.mp3 --language zh --model medium
# 指定输出格式
whisper audio.mp3 --language zh --model medium --output_format txt
whisper audio.mp3 --language zh --model medium --output_format srt # 字幕格式
whisper audio.mp3 --language zh --model medium --output_format vtt # WebVTT 格式
whisper audio.mp3 --language zh --model medium --output_format json
# 自动检测语言
whisper audio.mp3 --model medium
# 指定输出目录
whisper audio.mp3 --language zh --model medium --output_dir ~/transcripts/Whisper 模型大小
| 模型 | 参数量 | 显存需求 | 相对速度 | 中文准确率 |
|---|---|---|---|---|
tiny | 39M | ~1 GB | 最快 | 一般 |
base | 74M | ~1 GB | 很快 | 较好 |
small | 244M | ~2 GB | 快 | 好 |
medium | 769M | ~5 GB | 中等 | 很好 |
large-v3 | 1.5B | ~10 GB | 较慢 | 最佳 |
turbo | 809M | ~6 GB | 快 | 很好 |
# 使用不同大小的模型
whisper audio.mp3 --model tiny # 快速但准确率低
whisper audio.mp3 --model small # 速度与准确率的平衡
whisper audio.mp3 --model large-v3 # 最高准确率
whisper audio.mp3 --model turbo # 速度与大模型准确率的平衡Python 调用
import whisper
# 加载模型
model = whisper.load_model("medium")
# 转录音频
result = model.transcribe("audio.mp3", language="zh")
# 输出文本
print(result["text"])
# 输出带时间戳的片段
for segment in result["segments"]:
print(f"[{segment['start']:.1f}s - {segment['end']:.1f}s] {segment['text']}")使用 faster-whisper(推荐)
faster-whisper 使用 CTranslate2 引擎,速度比原版 Whisper 快 4 倍,显存占用更低。
# 安装 faster-whisper
pip install faster-whisperfrom faster_whisper import WhisperModel
# 加载模型(自动下载)
model = WhisperModel("medium", device="cuda", compute_type="float16")
# 转录
segments, info = model.transcribe("audio.mp3", language="zh")
print(f"检测到语言: {info.language},置信度: {info.language_probability:.2f}")
for segment in segments:
print(f"[{segment.start:.1f}s -> {segment.end:.1f}s] {segment.text}")# faster-whisper 命令行使用
pip install faster-whisper-cli
faster-whisper audio.mp3 --language zh --model medium --output_format srt批量处理音频
# 创建批量转录脚本
cat > ~/transcribe.sh << 'SCRIPT'
#!/bin/bash
# 批量转录目录中的所有音频文件
INPUT_DIR="${1:-.}"
OUTPUT_DIR="${2:-./transcripts}"
MODEL="${3:-medium}"
source ~/whisper-env/bin/activate
mkdir -p "$OUTPUT_DIR"
for file in "$INPUT_DIR"/*.{mp3,wav,m4a,flac,ogg}; do
[ -f "$file" ] || continue
echo "正在转录: $file"
whisper "$file" --language zh --model "$MODEL" \
--output_format srt --output_dir "$OUTPUT_DIR"
done
echo "转录完成!结果保存在 $OUTPUT_DIR"
SCRIPT
chmod +x ~/transcribe.sh
# 使用脚本
# ~/transcribe.sh ~/audio_files ~/output medium对于中文语音转录,medium 模型是准确率和速度的最佳平衡。如果追求极致准确率,使用 large-v3。如果需要实时转录或处理大量文件,推荐使用 faster-whisper,它在相同准确率下速度提升约 4 倍。
工具对比
| 工具 | 类型 | GPU 需求 | 适合场景 |
|---|---|---|---|
| AUTOMATIC1111 WebUI | 图像生成 | 4GB+ | 功能全面,新手友好 |
| ComfyUI | 图像生成 | 4GB+ | 高级工作流,可复现性强 |
| Whisper | 语音转文字 | 可选 | 音频转录、字幕制作 |
| faster-whisper | 语音转文字 | 推荐 | 大批量音频处理 |