audioseal

audioseal

创新语音水印技术 提升音频安全性能

AudioSeal是一种创新的语音水印技术,在音频中嵌入难以察觉的水印,并能快速准确地检测。该技术具有出色的抗篡改能力,可在编辑后的长音频中识别水印片段。AudioSeal实现了高精度的样本级检测,同时保持音质,适用于大规模和实时应用场景。其检测速度比现有方法快近百倍,为音频安全和版权保护提供了强有力的工具。

AudioSeal语音水印AI模型开源项目音频处理Github

:loud_sound: AudioSeal: 主动本地化水印

<a href="https://www.python.org/"><img alt="Python" src="https://img.shields.io/badge/-Python 3.8+-blue?style=for-the-badge&logo=python&logoColor=white"></a> <a href="https://black.readthedocs.io/en/stable/"><img alt="代码风格: black" src="https://yellow-cdn.veclightyear.com/835a84d5/b9374d18-b585-4f2f-84ee-011d6fd87d01.svg?style=for-the-badge&labelColor=gray"></a>

AudioSeal的推理代码,一种用于语音本地化水印的方法,具有最先进的稳健性和检测器速度(训练代码即将推出)。 更多详情可以在论文中找到。

[arXiv] [🤗Hugging Face] [Colab笔记本] [网页] [博客] [新闻]

图片

更新:

  • 2024-06-17:训练代码现已可用。查看说明!!!
  • 2024-05-31:我们的论文被ICML'24接受 :)
  • 2024-04-02:我们已将许可证更新为完整的MIT许可证(包括模型权重的许可证)!现在您也可以在商业应用中使用AudioSeal!
  • 2024-02-29:AudioSeal 0.1.2发布,修复了更多重采样音频的错误并更新了笔记本

摘要

我们介绍了AudioSeal,一种用于语音本地化水印的方法,具有最先进的稳健性和检测器速度。它联合训练了一个在音频中嵌入水印的生成器,和一个在较长音频中检测水印片段的检测器,即使在存在编辑的情况下也能检测。 Audioseal在样本级别(1/16k秒分辨率)上实现了自然和合成语音的最先进检测性能,它对信号质量的改变有限,并且对多种音频编辑类型具有稳健性。 Audioseal设计了一个快速的单通道检测器,在速度上显著超越了现有模型——实现了高达两个数量级的更快检测,使其非常适合大规模和实时应用。

:mate: 安装

AudioSeal需要Python >=3.8,Pytorch >= 1.13.0,omegaconfjulius和numpy。从PyPI安装:

pip install audioseal

从源代码安装:克隆此仓库并以可编辑模式安装:

git clone https://github.com/facebookresearch/audioseal
cd audioseal
pip install -e .

:gear: 模型

你可以在Hugging Face Hub上找到所有的模型检查点。我们提供以下模型的检查点:

  • AudioSeal生成器。 它接收音频信号(作为波形)作为输入,并输出与输入大小相同的水印,可以添加到输入中以进行水印处理。 可选地,它还可以接收16位的秘密消息作为输入,该消息将被编码在水印中。
  • AudioSeal检测器。 它接收音频信号(作为波形)作为输入,并输出音频中每个样本(每1/16k秒)包含水印的概率。 可选地,它还可以输出水印中编码的秘密消息。

注意,消息是可选的,对检测输出没有影响。它可以用来识别模型版本,例如(最多有$2**16=65536$种可能的选择)。

注意:我们正在努力发布训练代码,供任何想要构建自己的水印器的人使用。敬请期待!

:abacus: 使用

Audioseal提供了一个简单的API来为音频样本添加水印和检测水印。使用示例:

from audioseal import AudioSeal # 模型名称对应于audioseal/cards中找到的YAML卡片文件名 model = AudioSeal.load_generator("audioseal_wm_16bits") # 另一种方法是直接从检查点加载 # model = Watermarker.from_pretrained(checkpoint_path, device = wav.device) # 一个形状为(batch, channels, samples)的torch张量和一个采样率 # 重要的是要将音频处理为与模型预期相同的采样率 # 在我们的情况下,我们支持16khz音频 wav, sr = ..., 16000 watermark = model.get_watermark(wav, sr) # 可选:你可以添加一个16位的消息嵌入到水印中 # msg = torch.randint(0, 2, (wav.shape(0), model.msg_processor.nbits), device=wav.device) # watermark = model.get_watermark(wav, message = msg) watermarked_audio = wav + watermark detector = AudioSeal.load_detector("audioseal_detector_16bits") # 在高级别检测消息。 result, message = detector.detect_watermark(watermarked_audio, sr) print(result) # result是一个浮点数,表示音频被水印处理的概率 print(message) # message是一个16位的二进制向量 # 在低级别检测消息。 result, message = detector(watermarked_audio, sr) # result是一个大小为batch x 2 x frames的张量,表示每个帧的水印处理的概率(正面和负面) # 被水印处理的音频应该有result[:, 1, :] > 0.5 print(result[:, 1 , :]) # Message是一个大小为batch x 16的张量,表示每个位为1的概率。 # 如果检测器从音频中没有检测到水印,message将是一个随机张量 print(message)

训练你自己的水印模型

有关如何训练你自己的水印模型的详细信息,请参见这里

想要贡献?

我们欢迎带有改进或建议的拉取请求。 如果你想标记一个问题或提出改进建议,但不知道如何实现,请创建一个GitHub问题。

故障排除

  • 如果你遇到错误ValueError: not enough values to unpack (expected 3, got 2),这是因为我们期望输入是一批音频张量。在你的输入中添加一个 虚拟的批次维度(例如wav.unsqueeze(0),参见入门示例笔记本)。

  • 在Windows机器上,如果你遇到错误KeyError raised while resolving interpolation: "Environment variable 'USER' not found":这是由于上传到模型中心的旧检查点 在Windows中不兼容。尝试通过删除C:\Users\<USER>\.cache\audioseal中的文件来使缓存失效 并重新运行。

  • 如果你使用torchaudio来处理你的音频并遇到错误Couldn't find appropriate backend to handle uri ...,这是由于较新版本的 torchaudio不能很好地处理默认后端。要么将你的torchaudio降级到2.1.0或更早版本,要么安装soundfile作为你的音频后端。

许可证

  • 本仓库中的代码根据LICENSE文件中的MIT许可证发布。

维护者:

引用

如果你发现这个仓库有用,请考虑给一个星标 :star: 并请引用:

@article{sanroman2024proactive,
  title={Proactive Detection of Voice Cloning with Localized Watermarking},
  author={San Roman, Robin and Fernandez, Pierre and Elsahar, Hady and D´efossez, Alexandre and Furon, Teddy and Tran, Tuan},
  journal={ICML},
  year={2024}
}

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多