Verificar a marca por si

A chatFlow marca vozes de IA com o AudioSeal, um método aberto da Meta (licença MIT). É assim que verifica um ficheiro no seu computador, sem o nosso site.

1. Instalar a ferramenta (Python 3):

pip install "audioseal>=0.2.0" soundfile

2. Converter a gravação para mono a 16 kHz:

ffmpeg -i aufnahme.mp3 -ac 1 -ar 16000 pruefen.wav

3. Verificar:

import sys, soundfile as sf, torch
from audioseal import AudioSeal

CHATFLOW = "1011001011100101"
wav, sr = sf.read(sys.argv[1], dtype="float32")
x = torch.from_numpy(wav)[None, None, :]
detector = AudioSeal.load_detector("audioseal_detector_16bits")

for d in range(0, 320, 4):
    anteil, bits = detector.detect_watermark(x[..., d:], sample_rate=sr)
    nachricht = "".join(str(b) for b in (bits[0] > 0.5).int().tolist())
    if float(anteil) > 0.5 and nachricht == CHATFLOW:
        print(f"chatFlow ({float(anteil):.2f}, {d})")
        break
else:
    print("-")
python pruefen.py pruefen.wav

A nossa marca tem sempre a mesma mensagem de 16 bits: 1011001011100101. Considera-se encontrada se mais de metade das tramas estiver acima de 0,5 e os 16 bits coincidirem.

Porquê o ciclo: a rede calcula em passos de 320 amostras. Um excerto cortado livremente costuma ficar ao lado dessa grelha; sem deslocamento, muitas vezes não é detetado.

← Voltar à página de verificação