maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [eSpeakCaller] Say who is calling (https://talk.maemo.org/showthread.php?t=34982)

clooak 2010-03-29 20:49

Re: "Say who is calling"
 
I guess u can install the deb file, but is that really the right way to do it?

benny1967 2010-03-29 20:54

Re: "Say who is calling"
 
well, it's not *right* to install from extras-devil in the first place, so............. :)


otoh, i'd rather understand what's going on here. first time i see a package not appearing in the app manager although it's there.

clooak 2010-03-29 21:03

Re: "Say who is calling"
 
True well i updated mine now through the x-terminal now. Just by installing the deb. If anyone wants further info give me a shout

Yeh it is strange why it is not appearing in devels

jesuska 2010-03-29 21:27

Re: "Say who is calling"
 
hey guys ! cool project !
how can i set the voice to sound female ? triedmthe high pitch but sounded stupid and high on drugs...!
tx

benny1967 2010-03-29 21:29

Re: "Say who is calling"
 
jesuska, as far as i understand, you'd need to check if a female voice is available at all for your language.

i checked for german, but german female voices are mbrola-voices and i never got them to work. neither with espeakcaller nor with espeak from the command line.

radiosw 2010-03-29 22:58

Re: "Say who is calling"
 
Sorted cool app well done

hollow 2010-03-29 23:31

Re: "Say who is calling"
 
where do i get python evolution from ? app wont install without this first

jesuska 2010-03-30 06:20

Re: "Say who is calling"
 
Quote:

Originally Posted by benny1967 (Post 587329)
jesuska, as far as i understand, you'd need to check if a female voice is available at all for your language.

i checked for german, but german female voices are mbrola-voices and i never got them to work. neither with espeakcaller nor with espeak from the command line.

my language is french.
where can i check female voice availability ?
gonna google it...

benny1967 2010-03-30 06:25

Re: "Say who is calling"
 
Quote:

Originally Posted by jesuska (Post 587692)
my language is french.
where can i check female voice availability ?
gonna google it...

on the command line, type:
espeak --voices=fr

jesuska 2010-03-30 06:34

Re: "Say who is calling"
 
Quote:

Originally Posted by benny1967 (Post 587696)
on the command line, type:
espeak --voices=fr

do i have to add
+f1 , +f2 etc....
on the additional parameters line ?
it just says "+f1" lol

there is a female voice, mbrola

mb/mb-fr4

but i dont know where to add what in espeakcaller gui

benny1967 2010-03-30 07:24

Re: "Say who is calling"
 
i don't think you can use mbrola voices; setting mbrola voices will only produce data on the command line that, in turn, is a valid input for the mbrola application. at least that's how i understand it. i could never use an mbrola voice directly from espeak.

jesuska 2010-03-30 09:14

Re: "Say who is calling"
 
would be cool if mbrola voices were implemented in espeakcaller... i just hate this robot voice! so aggressive...

benny1967 2010-03-30 09:34

Re: "Say who is calling"
 
well, must be the french language then... sounds well in german.

no, actually it doesn't ;)
but it's a reasonable compromise.
i'm used to it as it's pretty much what i have in my S60 devices. as long as i understand it, it's OK.

somebody once told me mbrola sounds nicer, but is more difficult to understand at higher speeds. don't know if that's true...

jesuska 2010-03-30 11:14

Re: "Say who is calling"
 
http://tcts.fpms.ac.be/synthesis/mbrola.html

If u click on a flag u have an audio preview.

Definitely sounds better than basic espeak voice. in french at least !

ndi 2010-03-30 11:40

Re: "Say who is calling"
 
If espeak can't use mb/ voices then there are no female voices I see? At all?

Also, are there any for f-English in general and need porting/importing or is espeak devoid of female tones?

benny1967 2010-03-30 16:26

Re: "Say who is calling"
 
Quote:

Originally Posted by clooak (Post 587112)
How do I install these freshly new files aka the updates :) I can't seem to find it in devels catalogue.


clooak, do you have "ignoring version from wrong domain"-messages in the log file of the application-manager?

hollow 2010-03-30 17:37

Re: "Say who is calling"
 
could someone please tell me where to get python evolution from ????

the app wont install without this ,and if it isnt in the app whats the point of it ?


really want to try this but cannot get python evolution from anywhere

benny1967 2010-03-30 18:10

Re: "Say who is calling"
 
new problem:

deleted .espeakcaller directory, then re-configured.... works in principle, but say wrong name! i call from my landline phone and espeakcaller says the name of a person that doesn't even have a phone number stored in the contacts database.

zail 2010-03-30 21:50

Re: "Say who is calling"
 
Great app! Been playing around with it since installing this morning...

Couple of issues (i've got v 0.4):

1/ If you put ' (Apostrophe) in the phrase in the unknown caller field (eg who's) it won't say the phrase (think this same as special characters bug?)

2/ Doesn't restart on reboot

3/ Caller name is said as the one previous (or possibly after?) in the phone contacts database (not previous as in alphabetical order but the record that was physically entered for storage either before or after) - this is the same issue as Benny1967 outlines above i think... I had a similar probelm with one of the versions of fMMS I installed - it was a known bug at the time so it might be worth contacting frals (fMMS author) to see how he fixed it....

Thanks for the app and keep up the good work :)

Kyaner 2010-03-31 12:53

Re: "Say who is calling"
 
I found an interesting and funny bug today, got a call from my mother as i had the phone in my hands so i answered right away before it had a chance to say the callers name, after i hung up, it got into a loop saying the callers name all the time untill i had enough and restarted the phone.
The funny thing was that i was looking at my phone and it kept going "mom...mom...mom...mom...mom" lol

Hush little N900...

giannoug 2010-03-31 14:42

Re: "Say who is calling"
 
Nice application! I've been testing it for some hours and I found 2 bugs. Firstly, it doesn't start after rebooting, also stated by other users. It also doesn't support Greek characters (UTF8 encoding maybe?).

This is what I did. I edited the private number phrase to a greek phrase ("Άγνωστος καλεί" in case you want to test :p). It works until you close the app. then the Greek letters are changed to question marks and it refuses to read it :p

The problem must be the config file. I think if you change the encoding to UTF-8 it will be fine, but I'm a little bored right now :p

Arto 2010-03-31 21:28

Re: "Say who is calling"
 
Just uploaded version 0.5 to extras-devel & garage.
Changelog:
Code:

  * UI changes:
  * - Added: Support for first name (%first%) and last name (%last%)
  *
  * Daemon changes:
  * - Fixed: "eSpeak starts shouting things after call has ended or answered"-bug
  *
  * - Fixed: "Another non-ascii characters not working"-bug (again...) :(
  *
  * - Fixed: "Can't find caller name if phonebook number contains brackets()"-bug
  *


Quote:

Originally Posted by fred123 (Post 587001)
The app is not auto started on bootup.

@Arto
you could try this

in /etc/event.d/

create file espeakcaller-daemon

I did try this approach and got big problems as this starts daemon as root. This version still doesn't start at bootup but I'm looking to get this working in next version. (fMMS has pretty interesting code about this...)

Quote:

Originally Posted by benny1967 (Post 587256)
I don't 'see' it either, although it's clearly there when you access the repository from your browser. - strange. might be one of the things that come with the new PR 1.2 infrastructure that's already implemented in the autobuilder, who knows... or else the packe is just broken ;)

I really don't know why last release didn't show up on devel. Let's see if new version gets there. (takes about 30 mins to autobuilder to compile after this post.)


Quote:

Originally Posted by benny1967 (Post 588649)
new problem:

deleted .espeakcaller directory, then re-configured.... works in principle, but say wrong name! i call from my landline phone and espeakcaller says the name of a person that doesn't even have a phone number stored in the contacts database.

Im not sure what causes this. I made couple of small changes to contacts handling in new version. Throw a post if this one works better.


Arto

foobar 2010-03-31 22:18

Re: "Say who is calling"
 
great update, thanks!

I just noticed something strange: when I use the (nokia-supplied) wired head-set and eSpeakCaller is enabled, both the ringing as well as the eSpeak output are routed to the phone's speakers, too. not good :)
no idea why that is or how it could be fixed, though :(

zail 2010-03-31 22:35

Re: "Say who is calling"
 
Quote:

Originally Posted by foobar (Post 590485)
great update, thanks!

I just noticed something strange: when I use the (nokia-supplied) wired head-set and eSpeakCaller is enabled, both the ringing as well as the eSpeak output are routed to the phone's speakers, too.

Yep I'm getting this too with the most recent version...

benny1967 2010-04-01 16:29

Re: "Say who is calling"
 
Quote:

Originally Posted by Arto (Post 590441)
Im not sure what causes this. I made couple of small changes to contacts handling in new version. Throw a post if this one works better.

same issue still :(

coolice 2010-04-02 09:49

Re: "Say who is calling"
 
Hi Arto,

Great update, now it is working well for me, except 1 thing :

- espeakcaller keep saying the callers name, even IF:

1. I push the speaker off button while somebody calling in case i don't want to pick it up but don't want to reject the call.

OR

2., Phone is on SILENT profile.

Could you have a chance to fix these 2 issues please ?

Many many many thanks for your time and help,

Andrew

coolice 2010-04-05 08:39

Re: "Say who is calling"
 
Hi Arto,

May I ask you a big favour ?

Could you implement a simple whiteboard/blackboard functionality ?

I mean nothing more than a list, where you can add contacts from the the phone contact list and for all those contacts had been added to the list, eSpeak caller DO NOT say their name, like daemon disabled. why for all other contacts eSpeak caller DO say the name as it should.

Could you ? I know it is a big favor, but would be so important to have this feature, for some special contacts where privacy/confidentiality needed.

Many many thanks for your time and help,

Andrew

DALSAFEEN 2010-04-05 21:01

Re: "Say who is calling"
 
Will You Please help me

I have Installed the latest version but its not working

What to do ?

Kyaner 2010-04-06 14:18

Re: "Say who is calling"
 
Got a new problem now, it refuses to speak any of the caller names on my contacts but it does say the text i have typed in when i get an unknown caller ie witheld/private number.
I tried all the usual like uninstalling/rebooting/reinstalling but still nothing....

Any ideas ?
Thanks in advance.

DALSAFEEN 2010-04-06 21:01

Re: "Say who is calling"
 
Can I ask how I can make the operator level in colors like this one red yellow and green ?!




Arto 2010-04-10 00:45

Re: "Say who is calling"
 
I just posted version 0.6 to extras-devel so it is time to do more bug hunting :)

Changelog:
Code:

  * UI changes:
  * - Added: Allows now setting options per contact :)
  *
  * - Added: Option to silence speakers when using headphones
  *
  * Daemon changes:
  * - Added: Start daemon on bootup
  *  Thanks to fred123 @ http://talk.maemo.org/showthread.php?t=34982&page=8 for pointing me to right direction :)
  *
  * - Added: Logging to file ~/.espeakcaller/espeakcaller.log
  *
  * - Fixed: "eSpeak is shouting in silent profile"-bug
  *
  * - Fixed: "Daemon not restarted when updating to newer version"-bug
  *


Quote:

Originally Posted by coolice (Post 592375)
espeakcaller keep saying the callers name, even IF:

1. I push the speaker off button while somebody calling in case i don't want to pick it up but don't want to reject the call.

2., Phone is on SILENT profile.

1. For this I haven't still found any solution. If anyone knows how to hook that speaker off button let me know.
2. This should be fixed in new version :)


Quote:

Originally Posted by coolice (Post 595971)
May I ask you a big favour ?

Could you implement a simple whiteboard/blackboard functionality ?

Setting options per contact should do it now :)


Quote:

Originally Posted by DALSAFEEN (Post 596844)
Will You Please help me

I have Installed the latest version but its not working

What to do ?

Quote:

Originally Posted by Kyaner (Post 597734)
Got a new problem now, it refuses to speak any of the caller names on my contacts but it does say the text i have typed in when i get an unknown caller ie witheld/private number.
I tried all the usual like uninstalling/rebooting/reinstalling but still nothing....

New version writes debug logs to (home)/.espeakcaller/espeakcaller.log. Try reading them from console if there is any errors/tracelogs:
Code:

cd .espeakcaller
cat espeakcaller.log


Arto

Kyaner 2010-04-10 15:02

Re: "Say who is calling"
 
I still see version 0.5 in the repos....

benny1967 2010-04-10 15:57

Re: "Say who is calling"
 
Quote:

Originally Posted by Kyaner (Post 604222)
I still see version 0.5 in the repos....

Something seems to be broken (yet again) in the infrastructure... there's an update for fMMS as well that was successfully compiled by the autobuilder but doesn't show up in the application manager. guess we'll have to wait until it's fixed. (whaever 'it' is.)

DALSAFEEN 2010-04-10 18:59

Re: "Say who is calling"
 
thank you indeed
i will try this update when its available


Quote:

Originally Posted by Arto (Post 603670)
I just posted version 0.6 to extras-devel so it is time to do more bug hunting :)

Changelog:
Code:

  * UI changes:
  * - Added: Allows now setting options per contact :)
  *
  * - Added: Option to silence speakers when using headphones
  *
  * Daemon changes:
  * - Added: Start daemon on bootup
  *  Thanks to fred123 @ http://talk.maemo.org/showthread.php?t=34982&page=8 for pointing me to right direction :)
  *
  * - Added: Logging to file ~/.espeakcaller/espeakcaller.log
  *
  * - Fixed: "eSpeak is shouting in silent profile"-bug
  *
  * - Fixed: "Daemon not restarted when updating to newer version"-bug
  *




1. For this I haven't still found any solution. If anyone knows how to hook that speaker off button let me know.
2. This should be fixed in new version :)




Setting options per contact should do it now :)





New version writes debug logs to (home)/.espeakcaller/espeakcaller.log. Try reading them from console if there is any errors/tracelogs:
Code:

cd .espeakcaller
cat espeakcaller.log


Arto


pcsabi 2010-04-11 11:00

Re: "Say who is calling"
 
1 Attachment(s)
Quote:

Originally Posted by Arto (Post 603670)
I just posted version 0.6 to extras-devel so it is time to do more bug hunting :)

Dear Arto,

Thanks for developing this application !

Since its first release it was not working for me.

Today I figured out what was the problem in my configuration.

In the file espeakcaller-daemon.py there is the dirty function get_name_from_number.
At the 85 line there is a split which assumes that the contact card have both first and last name filled in.
If the FIrst name is missing than the line
Code:

tmpFName = tmpStr.split(";")[1]
gives list out of bounds exception.
A quick and dirty solution for this could be:
Code:

                if len(tmpStr.split(";"))>1:         
                        tmpFName = tmpStr.split(";")[1]

Maybe the situation could be the same with other fields also, but this fix is solved my problem.

A source is not in the garage so I am attaching a small patch against the 0.5 version.

Mandibela 2010-04-11 12:46

Re: "Say who is calling"
 
Well, I got the 0.5, no 0.6 in the repos still... decided to try anyways.

Code:

$ python2.5 /opt/espeakcaller/espeakcaller-daemon.py
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.5/dbus/connection.py", line 214, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/opt/espeakcaller/espeakcaller-daemon.py", line 109, in handle_call
    CallerNames = get_name_from_number(callernumber)
  File "/opt/espeakcaller/espeakcaller-daemon.py", line 85, in get_name_from_number
    tmpFName = tmpStr.split(";")[1]
IndexError: list index out of range
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.5/dbus/connection.py", line 214, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/opt/espeakcaller/espeakcaller-daemon.py", line 160, in call_status
    subprocess.Popen("kill -9 " + str(eSpeakProc.pid), shell=True)
AttributeError: 'int' object has no attribute 'pid'
^CTraceback (most recent call last):
  File "/opt/espeakcaller/espeakcaller-daemon.py", line 182, in <module>
    gobject.MainLoop().run()
KeyboardInterrupt
~ $

Not so good, it doesn't work yet. I hope 0.6 gets here soon.

Patola 2010-04-11 13:22

Re: "Say who is calling"
 
Mine doesn't work, and the running espeakcaller-daemon.py spits this error message when a call from my fixed telephone line arrives:

[oce]Phonebook vcard: BEGIN:VCARD
VERSION:3.0
REV:2010-04-08T15:05:26Z
UID:126
TEL;TYPE=HOME,VOICE:01932890644
X-JABBER;TYPE="google-talk";X-OSSO-VALID=yes:patola@gmail.com
NICKNAME:Cláudio Sampaio
TEL;TYPE=CELL:01991163949
END:VCARD
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.5/dbus/connection.py", line 214, in maybe_handle_message
self._handler(*args, **kwargs)
File "/opt/espeakcaller/espeakcaller-daemon.py", line 109, in handle_call
CallerNames = get_name_from_number(callernumber)
File "/opt/espeakcaller/espeakcaller-daemon.py", line 75, in get_name_from_number
print "Found name: " + fname
TypeError: cannot concatenate 'str' and 'NoneType' objects
[/code]

It seems it gets a null string and when trying to print, gives an error. So I change line 75 on /opt/espeakcaller/espeakcaller-daemon.py that is:

Code:

                    print "Found name: " + fname
to:

Code:

                    print "Phonebook vcard: " + "\n".join(vcardlist)
                    if fname is None:
                      print "Name is NULL."
                    else:
                      print "Found name: " + fname

...and it worked. Please consider this a bug report and a patch :)

Patola 2010-04-11 13:24

Re: "Say who is calling"
 
BTW, I noticed that while there is a espeakcaller.preinst script that adds

Code:

[stream]
exe = espeak
group = ringtone

To /usr/share/policy/etc/rx51/pulse/xpolicy.conf, but there is not a script that removes it after espeakcaller is uninstalled.

Patola 2010-04-11 13:25

Re: "Say who is calling"
 
Sorry, forgot to say that my version is 0.5. Is there a 0.6 yet?

Arto 2010-04-11 20:03

Re: "Say who is calling"
 
Quote:

Originally Posted by Patola (Post 605391)
Mine doesn't work, and the running espeakcaller-daemon.py spits this error message when a call from my fixed telephone line arrives:

Quote:

Originally Posted by pcsabi (Post 605237)
In the file espeakcaller-daemon.py there is the dirty function get_name_from_number.
At the 85 line there is a split which assumes that the contact card have both first and last name filled in.
If the FIrst name is missing

Thanks for great bug-reports/patches :D

I just uploaded version 0.6.1 to extras-devel (let's hope this version gets there) and garage (in case it doesn't).

This nasty bug should be now fixed in this version :)

Quote:

Originally Posted by Patola (Post 605396)
BTW, I noticed that while there is a espeakcaller.preinst script that adds
To /usr/share/policy/etc/rx51/pulse/xpolicy.conf, but there is not a script that removes it after espeakcaller is uninstalled.

I try to add script that removes those lines into some future version. Gotta be really careful when messing with this file ;)


Arto


All times are GMT. The time now is 08:45.

vBulletin® Version 3.8.8