Umgebung < /p>
-
pyannote.audio: 3.1.1 < /p>
< /li>
< P> Torch: 2.5.1+Cu124 - Plattform: Google Colab (Ubuntu Linux)
Cuda: Ja < /p>
< /li>
GPU: Tesla T4 < /p>
< / li>
Python: 3.11 < /p>
< /li>
Torchaudio: 2.5.1+Cu124 < /p>
Ausgabe
Verwenden Sie Pyannote/Einbettung für den Sprecher Überprüfung, alle Redner erhalten perfekte Ähnlichkeitsbewertungen (1.000) im Vergleich zu einer Referenzprobe, selbst zwischen offensichtlich verschiedenen Lautsprechern in einem professionellen Hörbuch. p>
import torch
import torchaudio
from pyannote.audio import Model
import torch.nn.functional as F
# **Setup**
device = torch.device("cuda")
embedding_model = Model.from_pretrained("pyannote/embedding",
use_auth_token='xxx').to(device)
# **Load and process reference audio**
reference_path = "reference.flac" # 10-minute reference file
reference_waveform, sample_rate = torchaudio.load(reference_path)
reference_waveform = reference_waveform.mean(dim=0, keepdim=True).to(device)
reference_features = embedding_model(reference_waveform.unsqueeze(0))
reference_features = F.normalize(reference_features, p=2, dim=1)
# **Load test audio segment**
test_path = "test.flac" # Different speaker segment
test_waveform, *= torchaudio.load(test_path)*
test_waveform = test_waveform.mean(dim=0, keepdim=True).to(device)
test_embedding = embedding_model(test_waveform.unsqueeze(0))
test_embedding = F.normalize(test_embedding, p=2, dim=1)
# **Calculate similarity**
similarity = F.cosine_similarity(reference_features, test_embedding, dim=1).mean()
print(f"Similarity score: {similarity.item():.6f}")
< /code>
Aktuelles Verhalten < /strong> < /p>
- Jeder Lautsprecher erhält Ähnlichkeitswerte von 0,999+ zu 1.000 < /p>
< /li>
Dies geschieht konsistent über verschiedene Lautsprecher < /p>
< /li>
Referenz- und Sprecher -Einbettungen haben beide Form [1, 512] - Auch deutlich verschiedene Stimmen (männlich/weiblich) erhalten perfekte Übereinstimmungen
< /ul>
Debug -Informationen < /strong> < /p>
Beispiel Ähnlichkeitsbewertungen zwischen verschiedenen Lautsprechern : < /p>
Lautsprecher A VS Referenz: 1.000000 < /p>
Lautsprecher B gegen Referenz: 0.999998 < /p>
Lautsprecher C VS Referenz : 1.000000 < /p>
Tensorformen: < /p>
Referenzwellenformform: [1, 31246073] < /p>
Referenz -Einbettungsform : [1, 512]
TEST -Einbettungsform: [1, 512]
Was ich versucht habe < /p>
Tests mit verschiedenen Audiosegmenten < /p>
< /li>
Tests mit offensichtlich offensichtlich Verschiedene Lautsprecher - Verwenden hochwertiger Audioquellen
Warum erhalten alle Redner perfekte Ähnlichkeitsbewertungen (1.000), unabhängig davon, wie unterschiedlich ihre Stimmen sind? Ist dies ein bekanntes Problem mit der aktuellen Version von Pyannote?