Project Icon

audioseal

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

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

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

Python 代码风格: black

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}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号