分类 默认分类 下的文章

按宽高比3:4剪裁,居中,保留宽100%,高自适应进行剪裁

#! /bin/bash

ffmpeg -i "$1" -vf crop=iw:iw*4/3 "$2"

按宽高比3:4剪裁,居中,保留高100%,宽自适应进行剪裁

#! /bin/bash

ffmpeg -i "$1" -vf crop=ih*3/4:ih "$2"

说明:
ih:表示原视频高度
iw:表示原视频宽度

iw:iw*4/3 后面还可以跟x,y坐标表示从左上角坐标开始,比如人0,0坐标处开始:

ffmpeg -i "$1" -vf crop=iw:iw*4/3:0:0 "$2"

-frames 操作选项
从视频中输出一帧生成文件:

ffmpeg -i input.flv -ss 00:00:14.435 -frames:v 1 out.png

这个例子将会 seek 到时间进度条位置在 0h:0m:14sec:435msec 处并输出一帧 (-frames:v 1) 输出生成一个 PNG 文件.

fps 视频 filter
每一秒输出一帧图像为图片, 图片命名为 out1.png, out2.png, out3.png,依次顺序输出.

ffmpeg -i input.flv -vf fps=1 out%d.png

每一分钟截一次图, 命名 img001.jpg, img002.jpg, img003.jpg, 依次顺序递增. 例子中的 %03d 为用来规定每个输出图片的序数将格式化使用3位数.

ffmpeg -i myvideo.avi -vf fps=1/60 img%03d.jpg

每十分钟输出一张图片:

ffmpeg -i test.flv -vf fps=1/600 thumb%04d.bmp

select 视频 filter
每个I帧生成一张图片:

ffmpeg -i input.flv -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr thumb%04d.png

thumbnail 视频 filter
从 100 个连续帧的序列中选取一帧作为缩略图:

ffmpeg -i input.flv -vf thumbnail=n=100 thumb%04d.png

#!/bin/bash

# 定义源路径、目标路径和后缀
SOURCEPATH="./"
DESTINATIONS="*.${1}"

# 循环处理每个文件
for file in `find $SOURCEPATH -name "$DESTINATIONS"`;
do
    # 获取文件名
    basename=$file
    # 修改后缀
    new_basename=$(echo "$basename" | sed "s/\.${1}/\.${2}/")
    # 保存修改后的文件名
    echo "$new_basename"
    mv $basename $new_basename
done

文章链接:https://www.cnblogs.com/zhikes/p/18808551

  1. Index-TTS:语音克隆界的“省心王者”
    在AI语音克隆圈子里,Index-TTS绝对是“懒人福音”。它强不强?我说了不算,你们体验了才知道!

简介:
只需要一段语音样本+你的文案,就能直接生成克隆后的语音。比起CosyVoice还得额外输入语音对应的文本,Index-TTS直接省掉这一步,简单到飞起,操作更人性化。
官方定位是:工业级可控高效零样本文本转语音系统。

亮点:
超强技术:基于XTTS和Tortoise打造的GPT风格TTS模型,融合拼音纠错(汉字发音更准)、标点停顿控制(节奏随心调)。
升级模块:优化了说话人特征表示,集成BigVGAN2提升音质,经过数万小时数据训练,性能吊打XTTS、CosyVoice2、Fish-Speech和F5-TTS。
中文适配:汉字+拼音混合建模,快速修复发音问题;顺应条件编码器+BigVGAN2解码器,音色相似度拉满,音质更稳。

本地部署教程:
需要提前准备好Miniconda和git工具

克隆代码

git clone https://github.com/index-tts/index-tts.git

cd index-tts

创建虚拟环境
conda create -n index-tts python=3.10
conda activate index-tts

打开requirements.txt文件,注释掉WeTextProcessing
WeTextProcessing会报错,后面再来单独安装它。
pip install -r requirements.txt

安装torch以及cuda支持的轮子
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

再来安装WeTextProcessing
pip install WeTextProcessing --no-deps

pip install ffmpeg-python

提示可能缺少模块importlib_resources的话
pip install importlib_resources

下载模型到当前目录的checkpoints目录下
linux系统指令
wget https://huggingface.co/IndexTeam/Index-TTS/resolve/main/bigvgan_discriminator.pth -P checkpoints
wget https://huggingface.co/IndexTeam/Index-TTS/resolve/main/bigvgan_generator.pth -P checkpoints
wget https://huggingface.co/IndexTeam/Index-TTS/resolve/main/bpe.model -P checkpoints
wget https://huggingface.co/IndexTeam/Index-TTS/resolve/main/dvae.pth -P checkpoints
wget https://huggingface.co/IndexTeam/Index-TTS/resolve/main/gpt.pth -P checkpoints
wget https://huggingface.co/IndexTeam/Index-TTS/resolve/main/unigram_12000.vocab -P checkpoints

Windows系统指令
curl -L https://huggingface.co/IndexTeam/Index-TTS/resolve/main/bigvgan_discriminator.pth -o checkpoints\bigvgan_discriminator.pth
curl -L https://huggingface.co/IndexTeam/Index-TTS/resolve/main/bigvgan_generator.pth -o checkpoints\bigvgan_generator.pth
curl -L https://huggingface.co/IndexTeam/Index-TTS/resolve/main/bpe.model -o checkpoints\bpe.model
curl -L https://huggingface.co/IndexTeam/Index-TTS/resolve/main/dvae.pth -o checkpoints\dvae.pth
curl -L https://huggingface.co/IndexTeam/Index-TTS/resolve/main/gpt.pth -o checkpoints\gpt.pth
curl -L https://huggingface.co/IndexTeam/Index-TTS/resolve/main/unigram_12000.vocab -o checkpoints\unigram_12000.vocab

最后运行gradio网页
python webui.py

实际执行的时候报错
ModuleNotFoundError: No module named 'pynini'

执行pip install pynini时又会报错:
cl: 命令行 error D8021 :无效的数值参数“/Wno-register”

先执行这个再安装,会等很长一段时间:

conda install -c conda-forge pynini

食用教程:

①上传一段想要克隆音色的参考音频,②上传文案。③生成语音即可

  1. MegaTTS3:官方限制太多,劝退体验
    我兴冲冲地把MegaTTS3部署到本地,结果发现官方直接锁死了npy音色文件。想用?得先把参考音频发给他们,他们生成npy文件给你才能用。这操作简直是“脱裤子放屁”,项目发展基本上被限制得死死的。
    部署测试浪费了我不少时间,教程写了一半直接作废。直接pass。
  1. Spark-TTS:高效+高质量的语音克隆新星
    简介:
    Spark-TTS是基于大型语言模型(LLM)的文本转语音系统,简单高效又自然,兼顾研究和生产需求。

亮点:
极简架构:基于Qwen2.5打造,无需流匹配等复杂模型,直接从LLM预测代码重建音频,效率拉满。
零样本克隆:无需特定训练数据,就能复制说话者音色,支持跨语言和代码切换,灵活性爆棚。
双语支持:中英文无缝切换,合成自然度超高。
可控生成:支持调整性别、音调、语速,轻松打造虚拟说话人。

本地部署教程:

克隆代码到本地

git clone https://github.com/SparkAudio/Spark-TTS.git
cd Spark-TTS

创建虚拟环境
conda create -n sparktts -y python=3.10
conda activate sparktts

下载依赖
pip install -r requirements.txt
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

模型下载
通过python下载:
from huggingface_hub import snapshot_download

snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B")

通过 git clone 下载:
mkdir -p pretrained_models

(windows下,直接mkdir pretrained_models)

你需要先去安装git lfs工具 (https://git-lfs.com)

git lfs install

git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B

调用gradio运行网页界面
python webui.py --device 0

食用教程:

①上传一段想要克隆音色的参考音频,②上传参考音频的文本内容,③输入你的文案内容,④生成音频。 操作过程和CosyVoice类似,都是需要输入参考音频文本内容

一键整合包
想要省去繁琐步骤?公众号回复以下关键词即可获取对应一键包:

index-tts 或 indexTTS
Spark-TTS 或 SparkTTS
下载即用,解压就能跑,无任何限制、不需激活,6G显存轻松驾驭,放心开搞!

这三款AI语音克隆技术各有千秋,Index-TTS省心高效,Spark-TTS灵活强大,MegaTTS3……嗯,自求多福吧。快动手试试,打造属于你的专属语音吧!有任何问题都可以在星球留言快速得到支持,公众号信息太多看不过来。

另外附上之前的语音克隆文章

CosyVoice

https://mp.weixin.qq.com/s/9jkz-HUAcl3ywTI9PKv9yQ

GPT-SoVITS V2

https://mp.weixin.qq.com/s/9M3v3fkP7TDd19MiRjJ8Nw