Domanda:
Cambiare tono è sufficiente per rendere anonima la voce di una persona?
reed
2020-03-11 19:32:06 UTC
view on stackexchange narkive permalink

In ogni programma TV in cui c'è una persona che vuole rimanere anonima, cambia la sua voce in un modo che a me sembra un semplice aumento o diminuzione del tono (frequenze). Quello che mi chiedo è:

  • è il solito metodo di anonimizzazione in realtà basato su un semplice cambiamento di tono, o è una trasformazione più complessa utilizzata dalla maggior parte dei televisori / media / ecc.
  • è sufficiente un semplice cambio di intonazione per rendere impossibile, o comunque molto difficile, recuperare la voce originale? Penso che se una voce è stata modificata per avere un tono più alto, abbassando il tono potrei provare a ottenere la voce originale, ma non sono sicuro di quanto possa essere difficile o affidabile.

Tieni presente che sto parlando solo della qualità della voce, non di altre caratteristiche che ovviamente potrebbero deanonimizzare immediatamente una persona (come accento, dialetto, vocabolario personale e slang, ecc.)

Inoltre, i chiamanti di solito non sono identificati dalle loro voci ma dal fatto che in sottofondo si sentono il caratteristico fischio di un certo treno e il suono di una specie estremamente rara di picchio ...
Cinque risposte:
Polynomial
2020-03-11 21:49:10 UTC
view on stackexchange narkive permalink

Un semplice cambio di intonazione non è sufficiente per mascherare una voce, poiché un avversario potrebbe semplicemente rimandare indietro l'audio per recuperare l'audio originale.

La maggior parte dei modulatori di voce utilizza un vocoder, non un semplice cambio di intonazione. Il termine "vocoder" è purtroppo piuttosto sovraccarico in questi giorni, quindi per chiarire intendo il tipo più generalmente utilizzato nella musica, piuttosto che un vocoder di fase, un remapper del tono o un codec vocale.

Il modo in cui questo funziona come segue:

  1. L'audio in ingresso della voce (chiamato segnale di modulazione) viene suddiviso in intervalli di tempo e il suo contenuto spettrale viene analizzato. In DSP questo viene solitamente implementato utilizzando una FFT, che traduce efficacemente un segnale dal dominio del tempo - una sequenza di ampiezze nel tempo - nel dominio della frequenza - una raccolta di segnali di frequenza crescente che, se combinati , rappresentano il segnale. In pratica le implementazioni producono un valore di grandezza e fase per ciascuno di un numero fisso di "bucket", dove ogni bucket rappresenta una frequenza. Se dovessi generare un'onda sinusoidale per ciascun bucket, all'ampiezza e all'offset di fase in uscita dall'FFT, quindi sommare tutte quelle onde sinusoidali insieme, otterrai un'approssimazione molto vicina del segnale originale.
  2. Viene generato un segnale portante. Questo è il suono sintetizzato a cui vuoi che suoni il tuo modulatore vocale, ma una regola generale è che dovrebbe essere a banda abbastanza larga. Un approccio comune consiste nell'utilizzare tipi di sintetizzatore con molte armoniche (ad es. A dente di sega o onde quadre) e aggiungere rumore e distorsione.
  3. Il segnale portante viene fatto passare attraverso un banco di filtri le cui frequenze centrali corrispondono a quelle dell'FFT secchi. I parametri di ogni filtro sono guidati dal valore del bucket associato. Ad esempio, si potrebbe applicare un filtro notch con un fattore Q elevato e modulare il guadagno del filtro con l'uscita FFT.
  4. Il segnale modulato risultante è l'uscita.

Un diagramma piuttosto grezzo di un approccio analogico è il seguente:

Channel vocoder

L'ingresso audio è suddiviso in un certo numero di bande di frequenza utilizzando filtri passa banda, ciascuno dei quali passa solo attraverso un intervallo di frequenza ristretto. I blocchi di "processo" prendono i risultati ed eseguono una sorta di rilevamento dell'ampiezza, che diventa quindi un segnale di controllo per gli amplificatori controllati in tensione (VCA). Il percorso in alto genera la forma d'onda portante, solitamente eseguendo il rilevamento dell'inviluppo sull'ingresso e utilizzandolo per pilotare un oscillatore controllato in tensione (VCO). La portante viene quindi filtrata in bande di frequenza individuali dai filtri passa-banda sulla destra, che vengono quindi guidati attraverso i VCA e combinati nel segnale di uscita. L'intero approccio è molto simile all'approccio DSP descritto sopra.

Possono essere applicati anche effetti aggiuntivi, come pre e post-filtraggio, rumore e distorsione, LFO, ecc., Per ottenere l'effetto desiderato.

Il motivo per cui questo è difficile da invertire è che l'audio originale non viene mai effettivamente trasmesso all'uscita. Invece, le informazioni vengono estratte dall'audio originale, quindi utilizzate per generare un nuovo segnale. Il processo è intrinsecamente abbastanza con perdite da renderlo abbastanza proibitivo da invertire.

Il polinomio è corretto.Solo per espandere, però, l'alterazione del "tono" sta semplicemente spostando l'intero segnale vocale su o giù nel dominio della frequenza.Quindi, in realtà non altera il segnale in nessun altro modo e per recuperare l'originale, devi semplicemente spostarlo indietro.Certo, devi indovinare dove potrebbe essere stata originariamente quella frequenza centrale, ma il linguaggio umano non varia molto da questo punto di vista, e si può semplicemente indovinare cosa suona bene alle loro orecchie.Quindi, un passo sicuramente non è sufficiente.
Esistono teoremi matematici che stabiliscono che l'output è difficile da invertire (comunque sia formalizzato)?
@comfreek 1) Il processo è Lossy.Le informazioni vengono eliminate.* "... solo una gamma di frequenze ristretta ..." * Questo è come i vecchi telefoni che tagliavano le frequenze sopra e sotto un certo limite.2) Viene iniettato del rumore casuale.Buona fortuna per rimuoverlo.3) Alcune armoniche vengono perse.Queste sono le chiavi per costruire il timbro vocale.https://en.wikipedia.org/wiki/Human_voice
@Mindwin Questi sono tutti buoni argomenti pragmatici.Ero più alla ricerca di un teorema rigorosamente comprovato, nello stesso spirito con cui la crittografia garantisce la sicurezza di intercettazioni / CPA / CCA per alcuni algoritmi di crittografia a chiave simmetrica.Forse la riconoscibilità della voce umana è troppo complessa per essere facilmente modellata.
@ComFreek "l'informazione è persa" è sufficiente per dimostrare rigorosamente che la voce originale non può essere * perfettamente * ricostruita.Quindi ora è solo una questione di quanto vuoi che la "ricostruzione più vicina possibile" sia alla voce originale, e questo dipende dal tuo modello di minaccia.L'avversario ha già ristretto le possibilità a due persone dal suono molto diverso?O sta cercando di identificare una voce completamente sconosciuta tra tutti gli umani?Sono necessari livelli di imperfezione molto diversi tra questi casi.
@ComFreek Non abbiamo prove CCA / CPA per la crittografia con l'eccezione del codice di Vernam per quanto ne so.Abbiamo tutti i tipi di prove di equivalenza, ecc. Ma niente come AES o RSA o simili si è mai dimostrato sicuro.A volte le cose che vengono dimostrate equivalenti sono potenti e tendiamo a credere che i precursori siano difficili, ovviamente, ma ogni prova di CPA / CCA praticamente qualsiasi altro risultato crittografico inizia con l'assunzione di A possiamo dimostrare che B ha qualche proprietà.
Penso che tu voglia modificare anche la cadenza del discorso.Fraseggi, pause, ecc. Possono essere distintivi.
Se un cambio di tono è banale da invertire ma un modulatore vocale non lo è, perché il parlato viene reso anonimo usando quest'ultimo così spesso suonato a un tono molto più basso del discorso di una persona normale?
@Will L'effetto vocoder stesso non ha alcun effetto specifico sull'intonazione.Quel tono basso è diventato un po 'un tropo nei film, probabilmente perché un tono innaturalmente basso suona minaccioso.Forse ha anche alcuni vantaggi minori in termini di udibilità su una linea telefonica poiché il taglio della frequenza superiore nella maggior parte dei sistemi di telefonia è di circa 3,4 KHz, anche se è più un'ipotesi plausibile di qualcosa che posso sostenere concretamente.
@shoover Le frasi caratteristiche e gli errori di pronuncia / ortografia sono molto spesso usati come prove circostanziali nei casi in cui un investigatore sta cercando di attribuire comunicazioni (voce o testo) a una persona specifica.Quei tipi di tratti persistono certamente attraverso i sistemi di modifica vocale ed è praticamente impossibile per una persona nasconderli in modo efficace.La sintesi vocale riduce la possibilità di far trapelare un tratto identificabile, ma è comunque suscettibile di rivelare informazioni su di te tramite particolari giri di parole o l'uso di idiomi culturali.
Ovviamente, per ottenere i migliori effetti, il processo può essere leggermente randomizzato nel tempo per rendere più difficile la demodulazione.
@comfreek la tua richiesta è valida e valida.Tuttavia, va oltre lo scopo di questa particolare domanda e risposta.Dovresti aprire una nuova domanda chiedendo esattamente questo.Lo voterei a favore.
Cerca SIGSALY per l'applicazione di questo alla crittografia vocale nella seconda guerra mondiale.Il PCM completo all'epoca era poco pratico e le tecniche analogiche lasciavano sempre qualcosa di intelligibile (praticamente per lo stesso motivo per cui puoi ancora vedere Tux in quella bitmap crittografata con ECB: ridondanza), quindi hanno usato un vocoder, lo hanno eseguito con un campione abbastanza bassovalutare che l'output potrebbe essere codificato MFSK e sopravvivere alla trasmissione per telefono, aggiungere la crittografia a questo e ri-sintetizzare il discorso sul ricevitore.
Nat
2020-03-15 02:03:19 UTC
view on stackexchange narkive permalink

tl; dr - Generalmente non è reversibile, ma nella pratica potrebbe comunque essere invertito.


Analogia: reversibilità del ridurre un nome alla sua lunghezza.

Considera un metodo di riduzione che prenda il nome di una persona e dia il numero di lettere in esso. Ad esempio, "Alice" viene trasformato in 5.

Questo è un processo con perdita di dati, quindi in genere non può essere annullato. Cioè, in genere non possiamo dire che 5 sia necessariamente associato a "Alice" , poiché potrebbe anche mappare, ad esempio, a "David" .

Detto questo, sapendo che la trasformazione è 5 contiene ancora molte informazioni in quanto possiamo escludere qualsiasi nome che non si trasforma in 5 codice>. Ad esempio, ovviamente non è "Christina".

Quindi ora dì che sei un detective della polizia, che cerca di risolvere un caso. Hai ristretto i sospetti ad Alice e Bob e sai che il nome anonimo del colpevole era 5 . Sicuramente non puoi generalmente invertire 5 , ma questo punto teorico aiuta davvero Alice in questo caso?


Punto: Perdente le trasformazioni vocali in genere non sono reversibili, ma perdono comunque informazioni.

Nei bei vecchi tempi, prima dei computer e simili, poteva essere sufficiente per trasformare la propria voce in modo con perdita di dati. Quindi, se una terza parte voleva recuperare la voce dell'oratore originale, non poteva - cosa che, allora, probabilmente sarebbe stata.

Oggi possiamo usare i computer:

  • Stabilisci l'insieme di possibilità con le loro probabilità precedenti contrassegnate.

  • Esegui simbolicamente il software di anonimizzazione vocale per generare un insieme probabilistico di voci.

  • Prendi il prodotto interno di quell'insieme, diciamo, con un insieme di sospetti per generare un insieme informato di probabilità.

  • Questo metodo è generico per qualsiasi trasformazione che non sia completamente con perdita di dati. Tuttavia, l'utilità delle informazioni risultanti varierà con il grado di perdita del metodo di anonimizzazione; una trasformazione leggermente con perdita può ancora essere ampiamente reversibile in pratica nonostante non sia generalmente reversibile, mentre una trasformazione con perdita pesante può fornire così poche informazioni utili da essere praticamente irreversibile.

    Shiv
    2020-04-08 09:33:38 UTC
    view on stackexchange narkive permalink

    No, di certo non è sicuro.

    Se dovessi farlo, userei la sintesi vocale e poi detterei usando una voce comune come quella di Stephen Hawking. Ciò elimina completamente qualsiasi informazione vocale effettiva.

    L'unica cosa rimasta sarebbe rendere anonimo il tuo stile di dialetto formalizzando / normalizzando il tuo vocabolario / frasi.

    Onestamente quest'ultima fase è estremamente difficile . Normalizzare un pensiero è estremamente complesso. Tuttavia, senza di esse divulgheresti informazioni di identificazione personale.

    Petro
    2020-04-13 08:25:14 UTC
    view on stackexchange narkive permalink

    Come in tutte le cose InfoSec, dipende dalle tue minacce e dalle risorse dei tuoi avversari.

    Se stai cercando di fare uno scherzo pratico a tuo fratello maggiore, è sufficiente un accento falso. Se stai cercando di ingannare tua moglie è più difficile.

    Se stai cercando di condurre una conversazione complessa contro un avversario con risorse tecniche sufficienti, a seconda del contesto, sarà quasi impossibile senza un'assistenza significativa, a meno che tu non sia d'accordo con loro che ti conoscono Stai nascondendo la tua voce.

    Il problema non è la presentazione, saranno ogni sorta di cose che fai inconsciamente. Hai "frasi di cattura", cose che dici. Hai una cadenza nel parlare, nell'uso delle parole e, soprattutto, in parole specifiche che usi costantemente in modo improprio. Avrai poche parole che pronunci in modo diverso dalla maggior parte delle persone, o un accento regionale, ecc. È quasi come un'impronta digitale.

    Puoi allenarti da un po 'di questo dove lo prendi, ma poi QUELLO diventa la tua impronta digitale.

    Potresti (se sei un bravo attore) "Adottare il ruolo" e cambiare deliberatamente molte di queste cose "solo per il ruolo" e poi abbandonarlo quando hai finito. Ciò ingannerà molti tipi di analisi, ma è MOLTO lavoro e devi essere attivo ogni volta.

    P i
    2020-03-13 09:42:51 UTC
    view on stackexchange narkive permalink

    Siamo ora nell'era del machine learning.

    Qualsiasi offuscamento ottenuto attraverso la trasformazione delle informazioni non deve essere considerato sicuro. Non adesso. Certamente non contro la tecnologia del futuro. ML è in grado di invertire la trasformazione.

    Puoi pensare a questo in termini di topologia manifold. Supponiamo che l'immagine di un gattino sia distorta, proiettata su un collettore. Diciamo un cilindro. Proprio come un cervello umano può percepire la varietà e scartare l'immagine, così può ML.

    Per ottenere un vero offuscamento, il CONTENUTO delle informazioni deve essere separato dallo STILE delle informazioni. Ciò può essere ottenuto anche tramite ML.

    Puoi guardare le immagini da https://towardsdatascience.com/a-neural-algorithm-of-artistic-style-a-modern-form -of-creation-d39a6ac7e715 per avere un'idea visiva di questo.

    Un anonimizzatore vocale vecchia scuola potrebbe suddividere l'audio in entrata in vettori di funzionalità MFCC e ricostruire i vettori in audio.

    Se è un po 'più avanzato, potrebbe suddividere questi MFCC in fonemi temporizzati e quindi ricostruire l'audio da questo.

    L'approccio più sicuro sarebbe utilizzare le tecnologie STT-> TTS esistenti .

    Ma il semplice spostamento del tono non è meglio che avvolgere una foto di un gattino attorno a un cilindro. Puoi ancora capire se è il tuo gattino o no.

    1. "Perché la magia (ML) potrebbe sconfiggerlo" non è una risposta.2. Hai equiparato l'immagine del gattino all'anonimizzazione della voce, ma non hai dimostrato o spiegato come siano effettivamente riconoscibili.Puoi spiegare o espandere cosa intendi per "vettori di caratteristiche MFCC" e "tecnologie STT-> TTS"?Questi sembrano essere i veri punti validi per la tua risposta, ma non fornisci abbastanza per essere in grado di dar loro un senso.
    Sarei curioso anche di questo.Le tecniche di apprendimento automatico, come le reti neurali, sono funzioni composite addestrate su un set di dati.Se utilizzi tecniche di offuscamento che effettivamente rimuovono i dati e potenzialmente aggiungono un po 'di casualità, possono comunque essere compresi dalle persone come una voce.Tuttavia, se dovessi provare ad addestrare un NN a ricostruire l'originale, dovrebbe indovinare e interpolare per cercare di recuperare i dati persi e spostati casualmente ... questa probabilmente non può essere dimostrata come una versione invertita al 100% deloffuscamento, mai.
    L'obiettivo di @JarrodChristman non è invertire perfettamente la trasformazione, ma recuperare la "impronta digitale" della voce in modo tale da consentire l'identificazione del parlante.Questa risposta potrebbe essere migliorata, ma fa un ottimo punto sul fatto che le moderne tecniche di apprendimento automatico (ad esempio gli autoencoder) possono invertire in modo molto efficace le trasformazioni di conservazione delle informazioni.L'obiettivo di un anonimizzatore, quindi, è distruggere le informazioni che identificano il parlante senza distruggere la capacità dell'ascoltatore di discernere il contenuto linguistico.
    @reo, dipende dalla minaccia che ti preoccupa.Se è una minaccia legale, penso che avresti un'ottima difesa per scartare la voce ricostruita come prova.
    Strano che questo sia votato così pesantemente.È corretto al 100%.È facile sintetizzare artificialmente un centinaio di ore di audio con pitch shift e trasmetterlo a un ML.Imparerà come annullare lo spostamento dell'audio.Gli MFCC sono davvero una trasformazione audio molto comune utilizzata in STT, proprio perché la trasformazione rimuove la variazione dell'altoparlante.Ciò rende STT più facile e per lo stesso motivo lo rende una scelta ragionevole nell'anonimizzazione vocale.


    Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
    Loading...