Jump to content


Photo
- - - - -

Asterisk Real Time Pitch Changer


  • Please log in to reply
27 replies to this topic

#1 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 21 November 2005 - 01:59 AM

http://www.lobsterte...m/voicechanger/

This works with Asterisk 1.2 . His walkthrough has the pitch shifted to -6, although my testing shows anything lower than -3 is unintelligible.

Here's the wiki link, with a bit more clarity on syntax.

http://www.voip-info...e Pitch Changer

My settings are as follows:

[vocoder]
exten => _81NXXNXXXXXX,1,Answer
exten => _81NXXNXXXXXX,n,VoiceChangeDial(IAX2/trunk/${EXTEN:1}|-3.0|20|hr)

I dial 8+1+NPA-NXX-XXXX and voila! I'm making ransom demands.

Edited by stonersavant, 21 November 2005 - 02:29 AM.


#2 lucky225

lucky225

    Mack Daddy 31337

  • Banned
  • 213 posts
  • Location:PO BOX 1111 Guasti, California 91743-1111

Posted 21 November 2005 - 03:15 AM

this would be a great greatcalling.com feature, i.e. 66# or something, *WINK WINK* JOHN are you reading? :D

#3 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 22 November 2005 - 03:39 AM

this would be a great greatcalling.com feature, i.e. 66# or something, *WINK WINK* JOHN are you reading? :D

View Post


Ratchet, I bet you could ninjacode up something real fast... make an agi that automatically alters the pitch based on pressing # and *, or perhaps a toggle for on/off.

in fact, I'll paypal someone beer money as a bounty to get this done.

Any takers?

#4 lucky225

lucky225

    Mack Daddy 31337

  • Banned
  • 213 posts
  • Location:PO BOX 1111 Guasti, California 91743-1111

Posted 22 November 2005 - 03:57 AM

Asterisk = owning everything

Next on the list:

Voice encryption/scrambling over asterisk

any takers?

#5 greyarea

greyarea

    Dangerous free thinker

  • Banned
  • 886 posts
  • Location:xhp 602

Posted 22 November 2005 - 04:57 AM

HAHA lucky you have been fearing over this for a couple of days now.

#6 JmanA9

JmanA9

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 438 posts
  • Location:NPA 724

Posted 22 November 2005 - 06:32 PM

I'm having some trouble patching asterisk. Here's the error I'm getting:

debian:/usr/src/asterisk# patch -p1 <../asterisk-1.2.0-voicechanger-0.2.patch
patching file apps/app_voicechanger.c
patching file apps/Makefile
Hunk #1 FAILED at 29.
Hunk #2 succeeded at 70 with fuzz 2 (offset -24 lines).
1 out of 2 hunks FAILED -- saving rejects to file apps/Makefile.rej

I tried finishing the process anyway and this is what I get when I dial the context:

[Nov 22 18:29:06 WARNING[6726]: pbx.c:1294 pbx_extension_helper: No application 'VoiceChangeDial' for extension (default, 318005558355, 1)

I expected this to happen since the patch was never applied. I'm using asterisk 1.2 stable on Debian. Does anybody know what might be wrong?

#7 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 22 November 2005 - 11:50 PM

What exact source are you using? Here are the steps I took...

I had to backup my configs and agis and then completely wipe out my old install for it to play nicely.

Edited by stonersavant, 22 November 2005 - 11:56 PM.


#8 JmanA9

JmanA9

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 438 posts
  • Location:NPA 724

Posted 23 November 2005 - 03:10 PM

I'm using Asterisk 1.2.0 source which I downloaded from the Digium website yesterday. I was previously using Asterisk 1.0, and this voice changer was my excuse to upgrade.

I had to delete the /var/lib/asterisk folder because I got some errors during the install process. For some reason, there was a problem overwriting my sound files. I did not delete /etc/asterisk because I figured that wouldn't be touched.

#9 jart

jart

    Will I break 10 posts?

  • Members
  • 6 posts
  • Location:Connecticut

Posted 23 November 2005 - 05:05 PM

in fact, I'll paypal someone beer money as a bounty to get this done.

Any takers?

View Post

Hi, I wrote the voice changer.

The feature you requested has already been implemented, it will be released in 0.3 within a week or so.

Do my contributors and I still get the beer bounty?

Jman, I believe the hunk that is failing is the part where it adds app_voicechanger.so to the APPS list in apps/Makefile. You can do that manually and it should hopefully work... The patch is REALLY simple.

Edited by jart, 23 November 2005 - 05:11 PM.


#10 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 23 November 2005 - 06:31 PM

in fact, I'll paypal someone beer money as a bounty to get this done.

Any takers?

View Post

Hi, I wrote the voice changer.

The feature you requested has already been implemented, it will be released in 0.3 within a week or so.

Do my contributors and I still get the beer bounty?

Jman, I believe the hunk that is failing is the part where it adds app_voicechanger.so to the APPS list in apps/Makefile. You can do that manually and it should hopefully work... The patch is REALLY simple.

View Post


It will toggle the modulation in real time inside of a call? Shit yeah, you'll get beer money!

How long have you been working on this? Have you done anything with the people looking to implement a "lie detector" based on vocal stress levels?

What would be REALLY cool is if you could invert the audio frequencies, so only someone with a similar setup could hear the sound correctly.

#11 jart

jart

    Will I break 10 posts?

  • Members
  • 6 posts
  • Location:Connecticut

Posted 24 November 2005 - 12:49 AM

It will toggle the modulation in real time inside of a call? Shit yeah, you'll get beer money!

How long have you been working on this? Have you done anything with the people looking to implement a "lie detector" based on vocal stress levels?

What would be REALLY cool is if you could invert the audio frequencies, so only someone with a similar setup could hear the sound correctly.

View Post

In the next day or so, I'm going to setup a beer fund on the website; after all, it's a lot cooler than a just asking for money. I'll probably split the money 50% me, and 25% for each of my two contributors. As a gentleman, you have my word that every dollar you donate will go towards boozehoundery.

I've been working around my demanding day job schedule the past couple weeks to make the voice changer. The motivation to create the voice changer originated from a prank I had been pulling on a friend. It's a long story I'll jot down on the site one of these days.

I plan to begin researching lie detection and other neat ideas once I get a bit more done with the voice changer. Do you think The Acoustics of Crime: The New Science of Forensic Phonetics would be a good place to start? I just hope it won't be too far over my head.

As for inverting frequencies, do you mean having a reverse effect to change someone's voice to normal? Claude and I have been thinking about creating a res module for asterisk that would allow you to enter a command to the CLI to manipulate voice on an existing channel. If you got a phone call from someone using the voice changer, that would allow you to go in CLI and revert their voice, assuming that they're not using the random distortion feature I plan to implement. Right now it's more on the low priority end due to a couple factors:

- It will be impossible to install a voice changer on a voip bridged channel
- It will be difficult; and I'm not sure how to do it without hacking the * core

#12 JmanA9

JmanA9

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 438 posts
  • Location:NPA 724

Posted 24 November 2005 - 12:24 PM

I tried downloading asterisk again, and this time the patch worked right off the bat. I'm not sure what was causing the problem earlier, but it works now. I've had some fun scaring my family members already.

Thanks!

#13 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 24 November 2005 - 08:52 PM

I tried downloading asterisk again, and this time the patch worked right off the bat.  I'm not sure what was causing the problem earlier, but it works now.  I've had some fun scaring my family members already.

Thanks!

View Post


Damn, I don't know if it's the syntax that's changed in the 1.20 upgrade of Asterisk, or else if my declaration of a cid is globally overriding my asterisk setup, but now my cid _always_ says Unknown caller.

Basically I use a

exten => _81NXXNXXXXXX,1,Answer
exten => _81NXXNXXXXXX,2,Set(CallerID(6666666666))
exten => _81NXXNXXXXXX,n,VoiceChangeDial(IAX2/user:pass@trunk/${EXTEN:1}-3.0|hr)

Using voicepulse and/or sixtel, both still come up unknown.

Any ideas? (I say this knowing full well I'm likely just being a noob and doing something dumb...)

josh

#14 JmanA9

JmanA9

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 438 posts
  • Location:NPA 724

Posted 24 November 2005 - 11:25 PM

Try changing

exten => _81NXXNXXXXXX,2,Set(CallerID(6666666666))

to

exten => _81NXXNXXXXXX,2,SetCallerID(6666666666))

Notice that the parthentsis after Set is being removed. Also, be aware that if you have the fromuser field set in your sip.conf file, that will override any caller id that you try to send. Make sure that you can normally set caller id, and its not the voice changer screwing things up.

#15 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 25 November 2005 - 03:46 PM

ok, I've installed the latest patch for the pitch changer, and changed my extensions to look like this:

exten => _81NXXNXXXXXX,1,SetCIDNum(6666666666)
exten => _81NXXNXXXXXX,n,VoiceChangeDial(IAX2/user:pass@trunk/${EXTEN:1}|-3.0|20|hr)
exten => _81NXXNXXXXXX,n,Hangup();

However, when I call my IVR Auto Attendant from my mobile phone to forward through the voicechangedial, it places the call like normal but passes the CPN from my mobile phone as the cid for the call...

Hmmm...

#16 JmanA9

JmanA9

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 438 posts
  • Location:NPA 724

Posted 26 November 2005 - 08:03 AM

I don't have any time to look right now, but I think that you have to set your caller id to null, and then set it as what you'd like to send. I read something about this on voip-info.org, so try checking there.

This does seem a little weird.

#17 jart

jart

    Will I break 10 posts?

  • Members
  • 6 posts
  • Location:Connecticut

Posted 26 November 2005 - 10:47 AM

There's actually a bug with caller id forwarding in 0.2.0 of the voice changer, go to the site and grab the latest 0.2.1 patch.

The correct syntax for setting caller id in 1.2.0 is:

exten => 1,1,Set(CALLERID(number)=13334445555)
exten => 1,2,Set(CALLERID(name)=Citizen\ Kane)

or

exten => 1,2,Set(CALLERID(all)=12345678901)

#18 ntheory

ntheory

    data pillager

  • Agents of the Revolution
  • 1,757 posts

Posted 26 November 2005 - 03:03 PM

As for inverting frequencies, do you mean having a reverse effect to change someone's voice to normal?

View Post


I believe that they're talking about frequency inversion voice scrambling. Essentially you mix the voice (multiply, not add) with a pilot frequency. This has the effect of inverting the component frequencies of an audio sample. If you're familiar with FFTs then imagine doing an FFT, reversing all of the elements of the FFT, and then performing an IFFT.

Several cheap cordless phones do this to keep out the casual scanner listener. With a tiny bit of code it can be defeated.

If my explanation sucks then check out an expanded explanation of simple voice scrambling.

#19 savant

savant

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 368 posts
  • Gender:Male
  • Location:408

Posted 26 November 2005 - 03:08 PM

I believe that they're talking about frequency inversion voice scrambling.  Essentially you mix the voice (multiply, not add) with a pilot frequency.  This has the effect of inverting the component frequencies of an audio sample.  If you're familiar with FFTs then imagine doing an FFT, reversing all of the elements of the FFT, and then performing an IFFT.

Several cheap cordless phones do this to keep out the casual scanner listener.  With a tiny bit of code it can be defeated.

If my explanation sucks then check out an expanded explanation of simple voice scrambling.

View Post



You are correct, sir. Incidently, jart - do you have a link to the .2.1 patch? I only see .2.0.

#20 jart

jart

    Will I break 10 posts?

  • Members
  • 6 posts
  • Location:Connecticut

Posted 28 November 2005 - 01:07 AM

Despite the fact that the patch says 0.2, it is actually 0.2.1. I was too lazy to update the filename.

Wow, voice scrambling is cool! As soon as we get CDR logging in VoiceChangeDial, I will write ScrambleDial. Thanks so much for that link. Any other cool phreaking stuff you guys have up your sleaves that I could write in to Asterisk?




BinRev is hosted by the great people at Lunarpages!