Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to eSpeak NG in NVDA distribution #5651

Closed
michaelDCurran opened this issue Jan 5, 2016 · 23 comments
Closed

Switch to eSpeak NG in NVDA distribution #5651

michaelDCurran opened this issue Jan 5, 2016 · 23 comments
Assignees
Milestone

Comments

@michaelDCurran
Copy link
Member

As further development of eSpeak from http://espeak/sourceforge.net seems to have stopped for one reason or another, a separate fork of eSpeak (eSpeak NG) was created by the community:
http://www.github.com/espeak-ng/espeak-ng

NVDA should bundle eSpeak NG now as this is where active development is now happening.

@michaelDCurran michaelDCurran added this to the 2016.2 milestone Jan 5, 2016
@Brian1Gaff
Copy link

Does anyone know what actually happened? Also, one of the main issues I hear about is that the US accent, erm is not the us accent for many people who live there. Presumably, the only way to get this sorted would be a complete rejig of the samples used.

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal email to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
----- Original Message -----
From: Michael Curran
To: nvaccess/nvda
Sent: Tuesday, January 05, 2016 12:47 AM
Subject: [nvda] Switch to eSpeak NG in NVDA distribution (#5651)

As further development of eSpeak from http://espeak/sourceforge.net seems to have stopped for one reason or another, a separate fork of eSpeak (eSpeak NG) was created by the community:
http://www.github.com/espeak-ng/espeak-ng

NVDA should bundle eSpeak NG now as this is where active development is now happening.


Reply to this email directly or view it on GitHub.

@nvaccessAuto
Copy link

Incubated in be8f9c3.

@rhdunn
Copy link

rhdunn commented Jan 9, 2016

The latest espeak testing release (1.48.15) was on the 16th April 2015 (nearly 9 months ago); the official release is 1.48.04 released on the 6th March 2014. The last email to espeak-general by Jonathan Duddington was on the 23rd May 2015. Jonathan has been known to go for long periods between updates (e.g. 1.48.13 to 1.48.14 took 7 months). The updates tend to be minor, mostly consisting of language updates. It is not clear if anything has happened to Jonathan, or whether he intends to continue to update espeak.

Since the 28th June 2010, I have been maintaining a mirror of espeak on GitHub with modifications to support building it on POSIX systems, keeping in step with espeak releases. This was light on source changes (primarily changes to build phoneme and intonation data from the command-line via espeakedit). Since the 10th December 2012, I have been using this to support an Android port of eSpeak on a separate branch, based on the original eyes-free port, incorporating many fixes and additional features.

From the 4th October 2015 (6 months after the 1.48.15 release), I decided to deviate from the upstream espeak releases. Over that period, I fixed various memory and file leaks in the espeakedit code, incorporating language updates from others in the community and implementing support for SSML <phoneme> tags. On the 5th December, I was contacted by someone about an issue with the Brazillian Portuguese MBROLA voice support, which I started to look into fixing in my GitHub version. At this time, although I was making more changes to my espeak version, they were still relatively light so that merging upstream updates would be relatively straightforward.

On the 8th December 2015, there was a discussion on the espeak-general mailing list about the lack of activity on espeak and the desire to see more activity on espeak. As part of that, I was voted as leading that effort and the espeak-ng project was born. My motivation with making it a proper fork was to make it clear that it is different to espeak and to allow Jonathan to update espeak in the future, should he wish to do so.

Since that time, I have been making significant changes to the original espeak codebase to simplify it, clean it up, make it easier to read and make it easier to port to different systems. The intention is to remain API compatible with eSpeak, while adding new APIs for additional functionality (like the phoneme and intonation compilation APIs NVDA are using).


Regarding the US accent, it is difficult to create a generalized accent that represents everyone in America (just like it is for a British accent to represent everyone in the UK). Thus, it uses features common to American accents in general, like those described by John Wells.

The features MERRRY, MARRY and MARY are not merged in British English and some American accents, while other American accents merge different ones of those depending on the accent, although a complete merger is common among most American accents.

Another difficulty is that the CMU Pronunciation Dictionary does not use a consistent accent (even among variants of the same word), so it is difficult to identify where the splits and mergers are.

It would probably be useful to create different regional American accents, like the Birmingham/West Midlands UK accent (en-wm).

@govsta1981
Copy link

There is something that could be looked into as well. With Hebrew,
Espeak doesn't seem to recognize sofit, or final letters, properly.
there are five of these letters. They always appear at the end of a
word. If this is something that can be remedied, I'll give you more
info, or do whatever I can to help.

On 1/9/2016 5:44 PM, Reece H. Dunn wrote:

The latest espeak testing release (1.48.15) was on the 16th April 2015
(nearly 9 months ago); the official release is 1.48.04 released on the
6th March 2014. The last email to espeak-general by Jonathan Duddington
was on the 23rd May 2015. Jonathan has been known to go for long periods
between updates (e.g. 1.48.13 to 1.48.14 took 7 months). The updates
tend to be minor, mostly consisting of language updates. It is not clear
if anything has happened to Jonathan, or whether he intends to continue
to update espeak.

Since the 28th June 2010, I have been maintaining a mirror of espeak on
GitHub with modifications to support building it on POSIX systems,
keeping in step with espeak releases. This was light on source changes
(primarily changes to build phoneme and intonation data from the
command-line via espeakedit). Since the 10th December 2012, I have been
using this to support an Android port of eSpeak on a separate branch,
based on the original eyes-free port, incorporating many fixes and
additional features.

From the 4th October 2015 (6 months after the 1.48.15 release), I
decided to deviate from the upstream espeak releases. Over that period,
I fixed various memory and file leaks in the espeakedit code,
incorporating language updates from others in the community and
implementing support for SSML || tags. On the 5th December, I
was contacted by someone about an issue with the Brazillian Portuguese
MBROLA voice support, which I started to look into fixing in my GitHub
version. At this time, although I was making more changes to my espeak
version, they were still relatively light so that merging upstream
updates would be relatively straightforward.

On the 8th December 2015, there was a discussion on the espeak-general
mailing list about the lack of activity on espeak and the desire to see
more activity on espeak. As part of that, I was voted as leading that
effort and the espeak-ng project was born. My motivation with making it
a proper fork was to make it clear that it is different to espeak and to
allow Jonathan to update espeak in the future, should he wish to do so.

Since that time, I have been making significant changes to the original
espeak codebase to simplify it, clean it up, make it easier to read and
make it easier to port to different systems. The intention is to remain
API compatible with eSpeak, while adding new APIs for additional
functionality (like the phoneme and intonation compilation APIs NVDA are
using).


Regarding the US accent, it is difficult to create a generalized accent
that represents everyone in America (just like it is for a British
accent to represent everyone in the UK). Thus, it uses features common
to American accents in general, like those described by John Wells
https://en.wikipedia.org/wiki/Lexical_set.

The features MERRRY, MARRY and MARY are not merged in British English
and some American accents, while other American accents merge different
ones of those depending on the accent, although a complete merger is
common among most American accents.

Another difficulty is that the CMU Pronunciation Dictionary does not use
a consistent accent (even among variants of the same word), so it is
difficult to identify where the splits and mergers are.

It would probably be useful to create different regional American
accents, like the Birmingham/West Midlands UK accent (|en-wm|).


Reply to this email directly or view it on GitHub
#5651 (comment).

@Laughingthunder
Copy link

Please join the eSpeak general mailing list on Sourceforge, and ask about this there. I am a member of that list, and there is a lot of active discussion on improvements. I think you'll get a better response there.

On Jan 9, 2016, at 9:36 PM, Governor Staten notifications@github.com wrote:

There is something that could be looked into as well. With Hebrew,
Espeak doesn't seem to recognize sofit, or final letters, properly.
there are five of these letters. They always appear at the end of a
word. If this is something that can be remedied, I'll give you more
info, or do whatever I can to help.

On 1/9/2016 5:44 PM, Reece H. Dunn wrote:

The latest espeak testing release (1.48.15) was on the 16th April 2015
(nearly 9 months ago); the official release is 1.48.04 released on the
6th March 2014. The last email to espeak-general by Jonathan Duddington
was on the 23rd May 2015. Jonathan has been known to go for long periods
between updates (e.g. 1.48.13 to 1.48.14 took 7 months). The updates
tend to be minor, mostly consisting of language updates. It is not clear
if anything has happened to Jonathan, or whether he intends to continue
to update espeak.

Since the 28th June 2010, I have been maintaining a mirror of espeak on
GitHub with modifications to support building it on POSIX systems,
keeping in step with espeak releases. This was light on source changes
(primarily changes to build phoneme and intonation data from the
command-line via espeakedit). Since the 10th December 2012, I have been
using this to support an Android port of eSpeak on a separate branch,
based on the original eyes-free port, incorporating many fixes and
additional features.

From the 4th October 2015 (6 months after the 1.48.15 release), I
decided to deviate from the upstream espeak releases. Over that period,
I fixed various memory and file leaks in the espeakedit code,
incorporating language updates from others in the community and
implementing support for SSML || tags. On the 5th December, I
was contacted by someone about an issue with the Brazillian Portuguese
MBROLA voice support, which I started to look into fixing in my GitHub
version. At this time, although I was making more changes to my espeak
version, they were still relatively light so that merging upstream
updates would be relatively straightforward.

On the 8th December 2015, there was a discussion on the espeak-general
mailing list about the lack of activity on espeak and the desire to see
more activity on espeak. As part of that, I was voted as leading that
effort and the espeak-ng project was born. My motivation with making it
a proper fork was to make it clear that it is different to espeak and to
allow Jonathan to update espeak in the future, should he wish to do so.

Since that time, I have been making significant changes to the original
espeak codebase to simplify it, clean it up, make it easier to read and
make it easier to port to different systems. The intention is to remain
API compatible with eSpeak, while adding new APIs for additional
functionality (like the phoneme and intonation compilation APIs NVDA are
using).


Regarding the US accent, it is difficult to create a generalized accent
that represents everyone in America (just like it is for a British
accent to represent everyone in the UK). Thus, it uses features common
to American accents in general, like those described by John Wells
https://en.wikipedia.org/wiki/Lexical_set.

The features MERRRY, MARRY and MARY are not merged in British English
and some American accents, while other American accents merge different
ones of those depending on the accent, although a complete merger is
common among most American accents.

Another difficulty is that the CMU Pronunciation Dictionary does not use
a consistent accent (even among variants of the same word), so it is
difficult to identify where the splits and mergers are.

It would probably be useful to create different regional American
accents, like the Birmingham/West Midlands UK accent (|en-wm|).


Reply to this email directly or view it on GitHub
#5651 (comment).


Reply to this email directly or view it on GitHub.

@govsta1981
Copy link

How do I join that list?

On 1/9/2016 11:20 PM, Laughingthunder wrote:

Please join the eSpeak general mailing list on Sourceforge, and ask
about this there. I am a member of that list, and there is a lot of
active discussion on improvements. I think you'll get a better response
there.

On Jan 9, 2016, at 9:36 PM, Governor Staten notifications@github.com
wrote:

There is something that could be looked into as well. With Hebrew,
Espeak doesn't seem to recognize sofit, or final letters, properly.
there are five of these letters. They always appear at the end of a
word. If this is something that can be remedied, I'll give you more
info, or do whatever I can to help.

On 1/9/2016 5:44 PM, Reece H. Dunn wrote:

The latest espeak testing release (1.48.15) was on the 16th April 2015
(nearly 9 months ago); the official release is 1.48.04 released on the
6th March 2014. The last email to espeak-general by Jonathan Duddington
was on the 23rd May 2015. Jonathan has been known to go for long periods
between updates (e.g. 1.48.13 to 1.48.14 took 7 months). The updates
tend to be minor, mostly consisting of language updates. It is not clear
if anything has happened to Jonathan, or whether he intends to continue
to update espeak.

Since the 28th June 2010, I have been maintaining a mirror of espeak on
GitHub with modifications to support building it on POSIX systems,
keeping in step with espeak releases. This was light on source changes
(primarily changes to build phoneme and intonation data from the
command-line via espeakedit). Since the 10th December 2012, I have been
using this to support an Android port of eSpeak on a separate branch,
based on the original eyes-free port, incorporating many fixes and
additional features.

From the 4th October 2015 (6 months after the 1.48.15 release), I
decided to deviate from the upstream espeak releases. Over that period,
I fixed various memory and file leaks in the espeakedit code,
incorporating language updates from others in the community and
implementing support for SSML || tags. On the 5th December, I
was contacted by someone about an issue with the Brazillian Portuguese
MBROLA voice support, which I started to look into fixing in my GitHub
version. At this time, although I was making more changes to my espeak
version, they were still relatively light so that merging upstream
updates would be relatively straightforward.

On the 8th December 2015, there was a discussion on the espeak-general
mailing list about the lack of activity on espeak and the desire to see
more activity on espeak. As part of that, I was voted as leading that
effort and the espeak-ng project was born. My motivation with making it
a proper fork was to make it clear that it is different to espeak and to
allow Jonathan to update espeak in the future, should he wish to do so.

Since that time, I have been making significant changes to the original
espeak codebase to simplify it, clean it up, make it easier to read and
make it easier to port to different systems. The intention is to remain
API compatible with eSpeak, while adding new APIs for additional
functionality (like the phoneme and intonation compilation APIs NVDA are
using).


Regarding the US accent, it is difficult to create a generalized accent
that represents everyone in America (just like it is for a British
accent to represent everyone in the UK). Thus, it uses features common
to American accents in general, like those described by John Wells
https://en.wikipedia.org/wiki/Lexical_set.

The features MERRRY, MARRY and MARY are not merged in British English
and some American accents, while other American accents merge different
ones of those depending on the accent, although a complete merger is
common among most American accents.

Another difficulty is that the CMU Pronunciation Dictionary does not use
a consistent accent (even among variants of the same word), so it is
difficult to identify where the splits and mergers are.

It would probably be useful to create different regional American
accents, like the Birmingham/West Midlands UK accent (|en-wm|).


Reply to this email directly or view it on GitHub
#5651 (comment).


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#5651 (comment).

@nvaccessAuto
Copy link

Incubated in 813b55e.

@nvaccessAuto
Copy link

Incubated in 40754f4.

@nvaccessAuto
Copy link

Incubated in 4529751.

@nvaccessAuto
Copy link

Incubated in b00377c.

@nvaccessAuto
Copy link

Incubated in daf2689.

@JamaicanUser
Copy link

How about including the Steph 1 and 2 variants by default in this version?

@jcsteh
Copy link
Contributor

jcsteh commented Feb 17, 2016

Since we're moving to eSpeak NG and it now includes all the variants (rather than including them only in NVDA), you'd need to file this request with eSpeak NG.

@govsta1981
Copy link

Has the transition happened? If so, I don't see much of a difference.
For example, the word h o a x, hoax, doesn't sound right. Does anyone
hear how wrong that word sounds?

On 2/16/2016 9:42 PM, JamaicanUser wrote:

How about including the Steph 1 and 2 variants by default in this version?


Reply to this email directly or view it on GitHub
#5651 (comment).

@jcsteh
Copy link
Contributor

jcsteh commented Feb 17, 2016 via email

@rhdunn
Copy link

rhdunn commented Feb 20, 2016

I have added the Steph voice variants to espeak-ng and have fixed words starting with 'ho' including hoax.

@govsta1981
Copy link

Another thing for you. A word like "Nazarene", isn't correctly sounded.
How can I subscribe to the ESpeak mailing list.

On 2/20/2016 6:00 AM, Reece H. Dunn wrote:

I have added the Steph voice variants to espeak-ng and have fixed words
starting with 'ho' including hoax.


Reply to this email directly or view it on GitHub
#5651 (comment).

@jcsteh
Copy link
Contributor

jcsteh commented Feb 21, 2016

Many thanks to @rhdunn for watching this issue and providing fixes. However, NVDA users, please note that this isn't the correct place to report eSpeak NG issues. Instead, please report them on the eSpeak NG GitHub issues page. Thanks!

@nvaccessAuto
Copy link

Incubated in 0711522.

@nvaccessAuto
Copy link

Incubated in 216188f.

@nvaccessAuto nvaccessAuto assigned michaelDCurran and unassigned jcsteh Apr 6, 2016
@nvaccessAuto
Copy link

Incubated in 507ee23.

@nvaccessAuto
Copy link

Incubated in 9ab7147.

@The-Dark-Man
Copy link

Now, the Problem of ticket #5235 is back. I think, the new eSpeak NG is the cause. Can you repair this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants