rhdunn / espeak

eSpeak NG is an open source speech synthesizer that supports 101 languages and accents.
http://reecedunn.co.uk/espeak-for-android
GNU General Public License v3.0
386 stars 16 forks source link

XAudio2_8.dll is missing error on Windows 7 #98

Open mizutechvoip opened 7 years ago

mizutechvoip commented 7 years ago

The application fails to start on Windows 7 with the following message box:

espeak-ng.exe - System Error: The program can't start because XAudio2_8.dll is missing from your computer. Try reinstalling to fix this problem.

Windows 7 Ultimate 64 bit Service Pack 1 with all the windows updates installed.

Maybe these helps:

If I am right, you are using this for playback only. If this issue can't be fixed then it would help a lot if these (libraries required for playback) could be loaded on demand, so at least we could use eSpeak to generate wave files ...that is the hard part which needs to be solved. playback can be done with any audio player.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41502822-xaudio2_8-dll-is-missing-error-on-windows-7?utm_campaign=plugin&utm_content=tracker%2F254964&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F254964&utm_medium=issues&utm_source=github).
dputler commented 7 years ago

Yes, I'm only trying this on playback. The last release of eSpeak (1.48.04) does work on Windows 7, so it may make sense to indicate that Windows 8 and above is required for eSpeak NG, and point users to the last release of eSpeak if the issue cannot be addressed in the eSpeak NG code base.

mizutechvoip commented 7 years ago

The last release of eSpeak (1.48.04) does work on Windows 7

"Does work" or "Does NOT work"?

There is an "eSpeak" and a "eSpeak NG" which are different?

Can you point me to some downloadable executable or installer which works also on Windows 7? (eSpeak or eSpeak NG, even if it is an old version)

Sorry, I am a bit lost. I just meet this software last week and seems to be useful for one of our partners.

rhdunn commented 7 years ago

The eSpeak official releases are available at http://espeak.sourceforge.net/download.html and the latest development release at http://espeak.sourceforge.net/test/latest.html. I don't know if/how well this supports Windows 7.

rhdunn commented 7 years ago

"eSpeak" is the original program developed by Jonathan Duddington, who has not updated eSpeak for over 2 years. "eSpeak NG" is the effort to continue making improvements to the original eSpeak codebase, keeping those versions separate from eSpeak should Jonathan want to continue developing the original eSpeak in the future.

dputler commented 7 years ago

I'm having no problems running the last official release of eSpeak (1.48.04) on Win 7, including with the use of MBROLA voice files.

mizutechvoip commented 7 years ago

Thank you for the quick answer. I think that the conclusion here for you is that

dputler commented 7 years ago

My opinion, with the caveat I'm a user, and not a developer, of this project is that it is a bit too soon to deprecate Windows 7. I think you and I submitted the same issue within hours of one another, and it hadn't been raised before, so my sense is this issue is fairly new.

gherson commented 7 years ago

Running https://github.com/espeak-ng/espeak-ng/releases/download/1.49.1/espeak-ng-x64.msi on my Windows 7 (with recent Windows Updates applied; "Build 7601: Service Pack 1") resulted in only "XAudio2_8.dll is missing from your computer".
Attempts to correct:

  1. Installing "DirectX End-User Runtimes (June 2010)" didn't make a difference.
  2. Putting this XAudio2_8.dll into my C:\Windows\System32 folder changed eSpeak NG's error to "The application was unable to start correctly (0xc000007b). Click OK to close the application."

So I don't think Windows 7 is currently supported by eSpeak NG.
I would like to use eSpeak NG for playback only.

gherson commented 7 years ago

When I went to try a download of https://github.com/espeak-ng/espeak-ng/releases/download/1.49.1/[espeak-ng-x86.msi](https://github.com/espeak-ng/espeak-ng/releases/download/1.49.1/espeak-ng-x86.msi) just now, Google Chrome objects with "Deceptive site ahead Attackers on github-production-release-asset-2e65be.s3.amazonaws.com may trick you into doing something dangerous like installing software or revealing your personal information (for example, passwords, phone numbers, or credit cards)."

knudvaneeden commented 6 years ago
  1. I would really very much like to run eSpeak-NG on Microsoft Windows version 7.
  2. I tried with different versions of eSpeak-NG https://github.com/espeak-ng/espeak-ng/releases
  3. But you always get this error: a) "The program can't start because XAudio2_8.dll is missing from your computer. Try reinstalling the program to fix this problem." b) To fix it, I downloaded XAudio2_8.dll from http://www.dll-found.com/download/x/XAudio2_8.dll and unzipped it. Then copied the file to c:\windows\system32\ Then did run eSpeak-NG again. c) But then a new error occurred after running espeak-ng.exe: "The procedure entry point WaitForSingleObject could not be located in the dynamic link library api-ms-win-core-synch-l1-2-0.dll" d) So when checking if I found this DLL in c:\windows\system32 it showed it was already there by default in Microsoft Windows 7. It means that it can not find 'WaitForSingleObject' in that DLL. So not much to try anymore to resolve it, as that DLL is already given and present there. 4) So it looks like that issue with the DLL is not resolved: Thus downloading (e.g. from Microsoft DirectX SDK (a 500 megabytes download by the way) or from other sources) that xaudio2_8.dll issue is not resolved. See also:

https://github.com/rhdunn/pcaudiolib/issues/9

Thanks very much in advance for any advice to let it run on Microsoft Windows 7 and or to create a fix for it on Microsoft Windows 7.

mse2 commented 6 years ago

I am integrating eSpeakNG support to MSEide+MSEgui: https://sourceforge.net/projects/mseide-msegui/ https://gitlab.com/mseide-msegui/mseide-msegui I extended eSpeakNG with the possibility to cancel speech operations in synchronous mode from another thread: https://gitlab.com/mseide-msegui/espeak-ngsync Binaries are here: https://sourceforge.net/projects/mseuniverse/files/eSpeakNG/ libespeak-ngsync7.dll has been compiled for Windows 7. espeak-ng.exe works for me on Windows 7 if the name will be changed to libespeak-ng.dll.

knudvaneeden commented 6 years ago

Hi Martin, Thanks very much. I can confirm that it works here (it is installed on Microsoft Windows 7 Professional (without XAudio2_8.dll present thus)): Steps:

  1. Download and install latest eSpeak-NG 1.49.2 (64 bits)https://github.com/espeak-ng/espeak-ng#binaries

  2. After installation run espeakng.exe

  3. Result: the XAudio2_8.dll error shows as usual

  4. To resolve it: a. goto the directory where eSpeak-NG is installed: cd C:\Program Files\eSpeak NG\

b. you will see a file called  libespeak-ng.dll

c. backup this file, e.g. rename the file: ren libespeak-ng.dll libespeak-ngORIGINAL.dll d. download this dll: https://sourceforge.net/projects/mseuniverse/files/eSpeakNG/win64/libespeak-ngsync7.dll/download

e. replace the old libespeak-ng.dll with this downloaded libespeak-ngsync7.dll (e.g. del libespeak-ng.dll then ren libespeak-ngsync7.dll libespeak-ng.dll) f. restart espeak-ng.exe e.g. espeak-ng.exe -v en "test" g. Result: now it will work as expected 

From: Martin Schreiber I am integrating eSpeakNG support to MSEide+MSEgui: https://sourceforge.net/projects/mseide-msegui/ I extended eSpeakNG with the possibility to cancel speech operations in synchronous mode from > another thread: https://gitlab.com/mseide-msegui/espeak-ngsync Binaries are here: https://sourceforge.net/projects/mseuniverse/files/eSpeakNG/ libespeak-ngsync7.dll has been compiled for Windows 7. espeak-ng.exe works for me on Windows 7 if > the name will be changed to libespeak-ng.dll.—

soilstack commented 6 years ago

@knudvaneeden I tried your suggestion for getting espeak-ng to work on win7. I switched the dll out as advised. Alas, the espeak-ng.exe doesn't throw the dll exception anymore, but it just silently hangs. This is from both launching from the file window, as well as a command terminal: C:\Program Files\eSpeak NG>espeak-ng.exe -v en "test"

mse2 commented 6 years ago

What happens if you run it in terminal by "espeak-ng.exe --voices"? Can you enter several words by pressing the enter-key between the words in terminal if started by "espeak-ng.exe"?

knudvaneeden commented 6 years ago

espeak-ng.exe --voices That is actually about the first command I have triedfrom the console and that works OK.It shows e.g. the total amount of languages available in espeak-NG.

Sent from Yahoo Mail on Samsung Galaxy Note 8 gold 64 gigabytes

On Sun, Jan 28, 2018 at 12:55, Martin Schreibernotifications@github.com wrote:
What happens if you run it in terminal by "espeak-ng.exe --voices"?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

knudvaneeden commented 6 years ago

what is the version of espeak-ng.exe that you are using? when I type this on the command line: espeakng --version it shows: eSpeak NG text-to-speech: 1.49.3-dev  Data at: C:\Program Files\eSpeak NG\/espeak-ng-data Thus if not the same, please download that version.

  From: Michael <notifications@github.com>

To: rhdunn/espeak espeak@noreply.github.com Cc: knudvaneeden knud_van_eeden@yahoo.com; Mention mention@noreply.github.com Sent: Sunday, January 28, 2018 11:39 AM Subject: Re: [rhdunn/espeak] XAudio2_8.dll is missing error on Windows 7 (#98)

@knudvaneeden I tried your suggestion for getting espeak-ng to work on win7. I switched the dll out as advised. Alas, the espeak-ng.exe doesn't throw the dll exception anymore, but it just silently hangs. This is from both launching from the file window, as well as a command terminal: C:\Program Files\eSpeak NG>espeak-ng.exe -v en "test"— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

knudvaneeden commented 6 years ago

if you can not run that command, please make sure on the Internet to download 1.49.3 development thus.

  From: knud van eeden <knud_van_eeden@yahoo.com>

To: rhdunn/espeak reply@reply.github.com; rhdunn/espeak espeak@noreply.github.com Cc: Mention mention@noreply.github.com Sent: Sunday, January 28, 2018 6:51 PM Subject: Re: [rhdunn/espeak] XAudio2_8.dll is missing error on Windows 7 (#98)

what is the version of espeak-ng.exe that you are using? when I type this on the command line: espeakng --version it shows: eSpeak NG text-to-speech: 1.49.3-dev  Data at: C:\Program Files\eSpeak NG\/espeak-ng-data Thus if not the same, please download that version.

  From: Michael <notifications@github.com>

To: rhdunn/espeak espeak@noreply.github.com Cc: knudvaneeden knud_van_eeden@yahoo.com; Mention mention@noreply.github.com Sent: Sunday, January 28, 2018 11:39 AM Subject: Re: [rhdunn/espeak] XAudio2_8.dll is missing error on Windows 7 (#98)

@knudvaneeden I tried your suggestion for getting espeak-ng to work on win7. I switched the dll out as advised. Alas, the espeak-ng.exe doesn't throw the dll exception anymore, but it just silently hangs. This is from both launching from the file window, as well as a command terminal: C:\Program Files\eSpeak NG>espeak-ng.exe -v en "test"— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

mse2 commented 6 years ago

There is a new version (libespeak-ngwo.dll) which uses the waveOut API instead of Xaudio2. It should work on older Windows versions too. https://github.com/espeak-ng/espeak-ng/issues/392