I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.
I'm currently thinking that a ring modulator would work well for this, and it uses minimal CPU. Can anyone think of a way to reverse the ring modulation? I attached my quick sketch.
.hc
On Wed, Sep 21, 2011 at 10:44 PM, Hans-Christoph Steiner hans@at.or.atwrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.
I'm currently thinking that a ring modulator would work well for this, and it uses minimal CPU. Can anyone think of a way to reverse the ring modulation? I attached my quick sketch.
That's a nice challenge. If I were CIA, I'd try to descramble like this: demodulate (division instead of multiplication) with a sine sweep while analyzing the spectrum. At the sweep frequency where the spectrum is a harmonic recipe: bingo, a human voice. Then you could demodulate that 0.1 second of sound with the found frequency. Not something to quickly do in a Pd patch though.
If your scrambler would modulate the modulation frequency continuously, with a noise signal, speech is still intelligible, but descrambling in the above described way would no longer be possible, as you can't find a harmonic recipe from a one sample fourier transform.
Katja
From: katja katjavetter@gmail.com To: pd-list@iem.at Sent: Wednesday, September 21, 2011 5:29 PM Subject: Re: [PD] obscuring voices while maintaining intelligibility
On Wed, Sep 21, 2011 at 10:44 PM, Hans-Christoph Steiner hans@at.or.at wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.
I'm currently thinking that a ring modulator would work well for this, and it uses minimal CPU. Can anyone think of a way to reverse the ring modulation? I attached my quick sketch.
That's a nice challenge. If I were CIA, I'd try to descramble like this: demodulate (division instead of multiplication) with a sine sweep while analyzing the spectrum. At the sweep frequency where the spectrum is a harmonic recipe: bingo, a human voice. Then you could demodulate that 0.1 second of sound with the found frequency. Not something to quickly do in a Pd patch though.
If your scrambler would modulate the modulation frequency continuously, with a noise signal, speech is still intelligible, but descrambling in the above described way would no longer be possible, as you can't find a harmonic recipe from a one sample fourier transform.
For the first [random] that you instantiate in a fresh Pd instance:
[bang( | [random 20] | [print Ladies_and_gentlemen--_the_random_number_14]
Similarly, the output from each instantiation of [noise~] will always be the same across
platforms.
What about maybe using Linux's dev/random?
-Jonathan
Katja _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Le 2011-09-21 à 16:44:00, Hans-Christoph Steiner a écrit :
I'm currently thinking that a ring modulator would work well for this, and it uses minimal CPU. Can anyone think of a way to reverse the ring modulation? I attached my quick sketch.
When the frequency and the phase of the [osc~] are known, then you can [/~] by the [osc~]. If not, you need to discover the frequency and phase.
If you send a DC as the input, then the output will be the modulator with the correct phase and frequency. Then you can [fiddle~] it.
If you can't produce a DC input for some reason, then... if you produce a tone as the input, you can divide the output by your tone, and obtain the modulator.
But if there's a delay and/or other filter (such as a speaker-mic pair) in the system, then you need to find the phase difference for your tone. That is, if the invertor is a separate device that you carry around to invert ring modulations, you will need to find the phase difference.
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.
Ineresting. Also these possible approaches come to mind:
recognisable is the software which produced it.
easily reversible this would be.
A fun thing might be mix the two: that is start from a TTS and then feed it into the granular... Here a silly example made with Festival TTS and granulation in Granita (the first sentence is the 'original' produced by Fesival) with different settings and degrees of recognisability:
http://lorenzosu.altervista.org/temp/dump/voice01.ogg
Lorenzo
I'm currently thinking that a ring modulator would work well for this, and it uses minimal CPU. Can anyone think of a way to reverse the ring modulation? I attached my quick sketch.
.hc
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote:
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key
part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.Ineresting. Also these possible approaches come to mind:
- Trivial, probably off-topic: use a TTS. Only thing that is
recognisable is the software which produced it.
- Use some sort of granulation with random pitch-shifting. Not sure
how easily reversible this would be.
A fun thing might be mix the two: that is start from a TTS and then
feed it into the granular... Here a silly example made with Festival
TTS and granulation in Granita (the first sentence is the 'original'
produced by Fesival) with different settings and degrees of
recognisability:
That sound has a lot of nice examples, can you share the patch for
that? text-to-speech is interesting, but that requires speech-to-
text, which is error prone and not something you can easily run in
realtime on a phone while processing video. Granular can be heavy too,
but I suppose I could try a lightweight version.
.hc
Lorenzo
I'm currently thinking that a ring modulator would work well for
this, and it uses minimal CPU. Can anyone think of a way to reverse the
ring modulation? I attached my quick sketch..hc
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
"We have nothing to fear from love and commitment." - New York Senator
Diane Savino, trying to convince the NY Senate to pass a gay marriage
bill
On 09/22/2011 07:15 PM, Hans-Christoph Steiner wrote:
On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote:
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.
Ineresting. Also these possible approaches come to mind:
- Trivial, probably off-topic: use a TTS. Only thing that is
recognisable is the software which produced it.
- Use some sort of granulation with random pitch-shifting. Not sure
how easily reversible this would be.
A fun thing might be mix the two: that is start from a TTS and then feed it into the granular... Here a silly example made with Festival TTS and granulation in Granita (the first sentence is the 'original' produced by Fesival) with different settings and degrees of recognisability:
That sound has a lot of nice examples, can you share the patch for that?
I was using my own Granita [1] which also has a "play" gadget.
text-to-speech is interesting, but that requires speech-to-text, which is error prone and not something you can easily run in realtime on a phone while processing video. Granular can be heavy too,
True, I hadn't thought you were on resources budget, but indeed you had mentioned CPU usage, Granita for ex.. is quite hungry, although you can lower it's demands (see README). I don't think it would run on a phone.. never tried though.
Lorenzo.
[1] http://lorenzosu.altervista.org/pd/granita/
but I suppose I
could try a lightweight version.
.hc
Lorenzo
I'm currently thinking that a ring modulator would work well for this, and it uses minimal CPU. Can anyone think of a way to reverse the ring modulation? I attached my quick sketch.
.hc
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
"We have nothing to fear from love and commitment." - New York Senator Diane Savino, trying to convince the NY Senate to pass a gay marriage bill
On Sep 22, 2011, at 2:19 PM, Lorenzo Sutton wrote:
On 09/22/2011 07:15 PM, Hans-Christoph Steiner wrote:
On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote:
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A
key part of this is to make it very hard to reverse the scrambling to make
the voice more recognizable.Ineresting. Also these possible approaches come to mind:
- Trivial, probably off-topic: use a TTS. Only thing that is
recognisable is the software which produced it.
- Use some sort of granulation with random pitch-shifting. Not sure
how easily reversible this would be.
A fun thing might be mix the two: that is start from a TTS and then feed it into the granular... Here a silly example made with Festival TTS and granulation in Granita (the first sentence is the 'original' produced by Fesival) with different settings and degrees of recognisability:
That sound has a lot of nice examples, can you share the patch for
that?I was using my own Granita [1] which also has a "play" gadget.
text-to-speech is interesting, but that requires speech-to-text,
which is error prone and not something you can easily run in realtime on a phone while processing video. Granular can be heavy too,True, I hadn't thought you were on resources budget, but indeed you
had mentioned CPU usage, Granita for ex.. is quite hungry, although
you can lower it's demands (see README). I don't think it would run
on a phone.. never tried though.Lorenzo.
Granita looks quite nice and polished. You should add it to the
puredata.info downloads as an app. Here's how:
http://puredata.info/docs/sitedocs/AddingYourProjectToDownloads
.hc
I hate it when they say, "He gave his life for his country." Nobody
gives their life for anything. We steal the lives of these kids. -
Admiral Gene LeRocque
On 22/09/2011 20:32, Hans-Christoph Steiner wrote:
On Sep 22, 2011, at 2:19 PM, Lorenzo Sutton wrote:
On 09/22/2011 07:15 PM, Hans-Christoph Steiner wrote:
On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote:
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable
[...]
That sound has a lot of nice examples, can you share the patch for that?
I was using my own Granita [1] which also has a "play" gadget.
text-to-speech is interesting, but that requires speech-to-text, which is error prone and not something you can easily run in realtime on a phone while processing video. Granular can be heavy too,
True, I hadn't thought you were on resources budget, but indeed you had mentioned CPU usage, Granita for ex.. is quite hungry, although you can lower it's demands (see README). I don't think it would run on a phone.. never tried though.
Lorenzo.
Granita looks quite nice and polished. You should add it to the puredata.info downloads as an app. Here's how:
http://puredata.info/docs/sitedocs/AddingYourProjectToDownloads
Finally got round to doing it (correcting some minor things). It's here: http://puredata.info/community/projects/software/granita-minimalist-granular...
Also put everything on Gitorious, here: https://gitorious.org/granita/granita
Lorenzo.
.hc
I hate it when they say, "He gave his life for his country." Nobody gives their life for anything. We steal the lives of these kids. -Admiral Gene LeRocque
the 2nd hand price of this simple voice changer has gone through the roof, because it is used by private investigators and people who want their voice to be disguised:
boss vt-1 http://www.bossus.com/gear/productdetails.php?ProductId=414
On Sun, Oct 30, 2011 at 6:27 AM, Lorenzo Sutton lsutton@libero.it wrote:
On 22/09/2011 20:32, Hans-Christoph Steiner wrote:
On Sep 22, 2011, at 2:19 PM, Lorenzo Sutton wrote:
On 09/22/2011 07:15 PM, Hans-Christoph Steiner wrote:
On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote:
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable
[...]
http://lorenzosu.altervista.**org/temp/dump/voice01.ogghttp://lorenzosu.altervista.org/temp/dump/voice01.ogg
That sound has a lot of nice examples, can you share the patch for that?
I was using my own Granita [1] which also has a "play" gadget.
text-to-speech is interesting, but that requires speech-to-text, which
is error prone and not something you can easily run in realtime on a phone while processing video. Granular can be heavy too,
True, I hadn't thought you were on resources budget, but indeed you had mentioned CPU usage, Granita for ex.. is quite hungry, although you can lower it's demands (see README). I don't think it would run on a phone.. never tried though.
Lorenzo.
[1] http://lorenzosu.altervista.**org/pd/granita/%5C<http://lorenzosu.altervista.org/pd/granita/%5C%3E
Granita looks quite nice and polished. You should add it to the puredata.info downloads as an app. Here's how:
http://puredata.info/docs/**sitedocs/**AddingYourProjectToDownloadshttp://puredata.info/docs/sitedocs/AddingYourProjectToDownloads
Finally got round to doing it (correcting some minor things). It's here: http://puredata.info/**community/projects/software/** granita-minimalist-granular-**synthesis-1http://puredata.info/community/projects/software/granita-minimalist-granular-synthesis-1
Also put everything on Gitorious, here: https://gitorious.org/granita/**granitahttps://gitorious.org/granita/granita
Lorenzo.
.hc
------------------------------**------------------------------**
I hate it when they say, "He gave his life for his country." Nobody gives their life for anything. We steal the lives of these kids. -Admiral Gene LeRocque
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
Probably my bad not to change the subject, but Granita is not a voice changer application, but a granular synth
Just to make things clear.
Lorenzo.
On 30/10/2011 02:51, i go bananas wrote:
the 2nd hand price of this simple voice changer has gone through the roof, because it is used by private investigators and people who want their voice to be disguised:
boss vt-1 http://www.bossus.com/gear/productdetails.php?ProductId=414
On Sun, Oct 30, 2011 at 6:27 AM, Lorenzo Sutton <lsutton@libero.it mailto:lsutton@libero.it> wrote:
On 22/09/2011 20:32, Hans-Christoph Steiner wrote: On Sep 22, 2011, at 2:19 PM, Lorenzo Sutton wrote: On 09/22/2011 07:15 PM, Hans-Christoph Steiner wrote: On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote: On 21/09/2011 22:44, Hans-Christoph Steiner wrote: I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key part of this is to make it very hard to reverse the scrambling to make the voice more recognizable [...] http://lorenzosu.altervista.__org/temp/dump/voice01.ogg <http://lorenzosu.altervista.org/temp/dump/voice01.ogg> That sound has a lot of nice examples, can you share the patch for that? I was using my own Granita [1] which also has a "play" gadget. text-to-speech is interesting, but that requires speech-to-text, which is error prone and not something you can easily run in realtime on a phone while processing video. Granular can be heavy too, True, I hadn't thought you were on resources budget, but indeed you had mentioned CPU usage, Granita for ex.. is quite hungry, although you can lower it's demands (see README). I don't think it would run on a phone.. never tried though. Lorenzo. [1] http://lorenzosu.altervista.__org/pd/granita/\ <http://lorenzosu.altervista.org/pd/granita/%5C> Granita looks quite nice and polished. You should add it to the puredata.info <http://puredata.info> downloads as an app. Here's how: http://puredata.info/docs/__sitedocs/__AddingYourProjectToDownloads <http://puredata.info/docs/sitedocs/AddingYourProjectToDownloads> Finally got round to doing it (correcting some minor things). It's here: http://puredata.info/__community/projects/software/__granita-minimalist-granular-__synthesis-1 <http://puredata.info/community/projects/software/granita-minimalist-granular-synthesis-1> Also put everything on Gitorious, here: https://gitorious.org/granita/__granita <https://gitorious.org/granita/granita> Lorenzo. .hc ------------------------------__------------------------------__---------------- I hate it when they say, "He gave his life for his country." Nobody gives their life for anything. We steal the lives of these kids. -Admiral Gene LeRocque _________________________________________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/__listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
On Sep 22, 2011, at 5:29 AM, Lorenzo Sutton wrote:
On 21/09/2011 22:44, Hans-Christoph Steiner wrote:
I'm trying to come up with a simple voice scrambling technique that leaves voices understandable, but makes them unrecognizable. A key
part of this is to make it very hard to reverse the scrambling to make the voice more recognizable.Ineresting. Also these possible approaches come to mind:
- Trivial, probably off-topic: use a TTS. Only thing that is
recognisable is the software which produced it.
- Use some sort of granulation with random pitch-shifting. Not sure
how easily reversible this would be.
A fun thing might be mix the two: that is start from a TTS and then
feed it into the granular... Here a silly example made with Festival
TTS and granulation in Granita (the first sentence is the 'original'
produced by Fesival) with different settings and degrees of
recognisability:
This paper has some good discussion on the technique:
http://www.efjohnsontechnologies.com/resources/dyn/files/75835/_fn/Selected_...
The hard thing to defeat would be statistical analysis techniques.
Perhaps the idea is to try to modify to voice to sound as much as
possible like a standard voice, like make them all have the same base
pitch, then add a random warble.
.hc
¡El pueblo unido jamás será vencido!