davidacm / NVDA-IBMTTS-Driver

This project is aimed at developing and maintaining the NVDA IBMTTS driver. IBMTTS is a synthesizer similar to Eloquence. Please send your ideas and contributions here!
GNU General Public License v2.0
56 stars 23 forks source link

Aliasing from WavePlayer with 22.05kHz #72

Closed tmthywynn8 closed 2 years ago

tmthywynn8 commented 2 years ago

STR:

  1. Use IBM ECI DLL, e.g., ViaVoice 6.7.3.2.
  2. Under NVDA's Speech Settings, set change the Sample Rate to 22 kHz.

Expected: WavePlayer (nvwave) should not be aliasing.

Actual: Aliasing is heard.

I then switched to the SAPI4 driver, and I noticed that the aliasing is not there. I even verified sample rate sent by synth by using Balabolka to generate a wave file (see attached audio samples).

Is SAPI4/Balabolka using a different mechanism to switch to the 22.05kHz sample rate that doesn't exhibit the aliasing? The reason why I ask this is that I recall SpeechWorks Eloquence 6.1, e.g., from Kurzweil K1000 demo, was also 22.05kHz when used with SAPI4. If Windows is upsampling the 11.025kHz to 22.05kHz, maybe that's why the NVWave driver output sounds so different.

Mohamed00 commented 2 years ago

I think that's from ibmeci itself, it even happens with a test app I have. ibmeci.dll versions 6.6.1.0 and older don't have that problem. The driver sets eciParam.eciSampleRate to 2, and I'm not sure if the upsampling from SAPI 4 is coming from ibmeci using a different method, or if it's from the speech server itself.

On 7/9/2022 7:19 PM, Timothy Wynn wrote:

STR:

  1. Use IBM ECI DLL, e.g., ViaVoice 6.7.3.2.
  2. Under NVDA's Speech Settings, set change the Sample Rate to 22 kHz.

Expected: WavePlayer (nvwave) should not be aliasing.

Actual: Aliasing is heard.

I then switched to the SAPI4 driver, and I noticed that the aliasing is not there. I even verified sample rate sent by synth by using Balabolka to generate a wave file (see attached audio samples https://github.com/davidacm/NVDA-IBMTTS-Driver/files/9078048/IBM22kHZSamples.zip).

Is SAPI4/Balabolka using a different mechanism to switch to the 22.05kHz sample rate that doesn't exhibit the aliasing? The reason why I ask this is that I recall SpeechWorks Eloquence 6.1, e.g., from Kurzweil K1000 demo, was also 22.05kHz when used with SAPI4. If Windows is upsampling the 11.025kHz to 22.05kHz, maybe that's why the NVWave driver output sounds so different.

— Reply to this email directly, view it on GitHub https://github.com/davidacm/NVDA-IBMTTS-Driver/issues/72, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADY4AYEP2UYHFECWBCJJLUTVTICJDANCNFSM53ECN4NA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

lbk2907 commented 2 years ago

@Mohamed00 Are you get the IBM binary 6.6.1.0 from the same site? I mean the IBM FTP site. Or where can I get the version 6.6.1.0.

tmthywynn8 commented 2 years ago

Understood. I will close this ticket then, as this has to do with an external process that neither NVWave nor the IBM TTS driver is causing. Thank you for taking the time to respond.