Pyannote -Lautsprecherüberprüfung: Alle Redner erhalten perfekte 1.000 ÄhnlichkeitswertePython

Python-Programme
Anonymous
 Pyannote -Lautsprecherüberprüfung: Alle Redner erhalten perfekte 1.000 Ähnlichkeitswerte

Post by Anonymous »

Ich habe ein Problem mit Pyannotes Lautsprecherüberprüfung, bei dem alle Sprecher perfekte Ähnlichkeitsbewertungen erhalten (1.000), selbst wenn sie eindeutig unterschiedliche Stimmen sind.
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
Frage < /strong> < /p>
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post