Phone Parrot
August 29, 2006
![]() PhoneParrot is an IVR application for Asterisk that will repeat everything a person says in to the phone. exten => 666,1,Parrot()For example, you could have PhoneParrot call your mother in the middle of the night. She will pick up the phone and say "moshi moshi", the phone parrot will then say "moshi moshi". Your mother, confused will then probably say, "who is you playa?" to which the phone parrot will respond, "who is you playa?". I think you get the idea. But phone parrot can do more than just repeat what a person says! Here are some of the cool features:
Download
InstallationOn your functioning Linux machine running Asterisk with the header files installed to /usr/include/asterisk, run the following commands to install phoneparrot: # install phoneparrot
cd /usr/src
wget http://www.lobstertech.com/code/phoneparrot/releases/phoneparrot-0.1.tar.gz
tar -xzvf phoneparrot-0.1.tar.gz
cd phoneparrot-0.1
make
make install
# load it in to asterisk
make startDocumentation*CLI> show application Parrot
-= Info about application 'Parrot' =-
[Synopsis]
Repeats back to caller what they say like a God damn child
[Description]
Parrot(options)
Description:
When this application is invoked, it will record to memory what
the caller is saying. When the caller stops talking, recording
buffer of what s?he just said is played back.
You may also chose to add a voice pitch change effect to what
the caller just said with the P() option. Pitch is specified
in semi-tones. -5.0 is good for making the voice lower and
5.0 is good for making the voice higher.
Options:
T(...) - Silence Threshold, default 256
W(...) - Milliseconds of silence before repeat. Default 1000
N(...) - Minimum time in milliseconds the caller needs to talk
for voice to be echo'd back. Default 400
M(...) - Max milliseconds of talk to buffer. Default 6000
S(...) - If caller rambles for more than length of call buffer,
play a random one of these sound clips instead. List
is delimited by '^'. Maximum of 16. These may not be
interrupted.
G(...) - Play greeting clip in response to initial thing caller
says. In my testing I noticed that people get a little
confused and just keep saying hello if you start them
off in plain old parrot mode. Here, you can specify a
list of sound clips from which to randomly choose just
like with S() here.
H(...) - Hangup after a certain number of seconds
I(...) - Repeat may be interrupted if caller speaks for '...'
milliseconds. Default is 400, 0 turns off
P(...) - New pitch of voice echo'd back. Default 0.0Legal
Phone Parrot The program found on this page is free software and may be used, distributed, and modified under the terms of the GNU General Public License version 2.0. This software is distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. |
Tag Cloudaccounting assembly asterisk c django erlang games hacking i18n python speaking travel tutorial web Archive
June 2009 Popular Content
Asterisk Voice Changer
(4020 Views) Recent Comments
Asterisk Voice Changer
on Jun 8 by jart |
![Parrot :D [Photo of a parrot]](/media/img/parrot.jpg)

Comments
John on October 27, 2008 [Permalink]
Great Work!!!
whats on the works? ;-)
William on February 3, 2009 [Permalink]
Not able to compile Parrot app. I compiled the voicechanger on the same box just fine.
/usr/src/phoneparrot-0.1# make
./mkdep -O -g -Wall -fpic -shared -D_GNU_SOURCE -D_LIBSOUNDTOUCH4C_ app_parrot.c
cc -O -g -Wall -fpic -shared -D_GNU_SOURCE -D_LIBSOUNDTOUCH4C_ -c -o app_parrot.o app_parrot.c
app_parrot.c:38: warning: data definition has no type or storage class
app_parrot.c:38: warning: type defaults to ‘int’ in declaration of ‘STANDARD_LOCAL_USER’
app_parrot.c:39: warning: data definition has no type or storage class
app_parrot.c:39: warning: type defaults to ‘int’ in declaration of ‘LOCAL_USER_DECL’
app_parrot.c: In function ‘parrot’:
app_parrot.c:422: warning: implicit declaration of function ‘LOCAL_USER_ADD’
app_parrot.c:426: warning: implicit declaration of function ‘LOCAL_USER_REMOVE’
app_parrot.c: In function ‘unload_module’:
app_parrot.c:528: error: ‘STANDARD_HANGUP_LOCALUSERS’ undeclared (first use in this function)
app_parrot.c:528: error: (Each undeclared identifier is reported only once
app_parrot.c:528: error: for each function it appears in.)
app_parrot.c: In function ‘usecount’:
app_parrot.c:545: warning: implicit declaration of function ‘STANDARD_USECOUNT’
make: *** [app_parrot.o] Error 1
jart on February 7, 2009 [Permalink]
Try the new 0.1.1 release. That should support Asterisk 1.4.x
Bob on February 17, 2009 [Permalink]
This is awesome! Thanks a lot!!!!
Post Comment