[webkit-changes] [WebKit/WebKit] 10381a: [WPE][GTK] Speech synthesis using libspiel

Philippe Normand noreply at github.com
Wed Oct 30 02:22:51 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 10381a8de938024f31935184af470ccbce0b22d9
      https://github.com/WebKit/WebKit/commit/10381a8de938024f31935184af470ccbce0b22d9
  Author: Philippe Normand <philn at igalia.com>
  Date:   2024-10-30 (Wed, 30 Oct 2024)

  Changed paths:
    M Source/WebCore/PlatformGTK.cmake
    M Source/WebCore/PlatformWPE.cmake
    M Source/WebCore/platform/GStreamer.cmake
    M Source/WebCore/platform/PlatformSpeechSynthesizer.h
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
    M Source/WebCore/platform/gstreamer/GUniquePtrFlite.h
    M Source/WebCore/platform/gstreamer/PlatformSpeechSynthesizerGStreamer.cpp
    M Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.cpp
    M Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.h
    A Source/WebCore/platform/spiel/PlatformSpeechSynthesizerSpiel.cpp
    A Source/cmake/FindLibSpiel.cmake
    M Source/cmake/GStreamerDependencies.cmake
    M Source/cmake/OptionsGTK.cmake
    M Source/cmake/OptionsWPE.cmake

  Log Message:
  -----------
  [WPE][GTK] Speech synthesis using libspiel
https://bugs.webkit.org/show_bug.cgi?id=270742

Reviewed by Xabier Rodriguez-Calvar and Miguel Gomez.

Spiel's API is much nicer than Flite's, being directly inspired from WebSpeech. This new backend can
be enabled by setting USE_SPIEL=ON and USE_FLITE=OFF with cmake. The flite backend remains enabled
by default until Spiel becomes widly available in the various distributions.

* Source/WebCore/PlatformGTK.cmake:
* Source/WebCore/PlatformWPE.cmake:
* Source/WebCore/platform/PlatformSpeechSynthesizer.h:
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::registerWebKitGStreamerElements):
* Source/WebCore/platform/gstreamer/GUniquePtrFlite.h:
* Source/WebCore/platform/gstreamer/PlatformSpeechSynthesizerGStreamer.cpp:
* Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.cpp:
* Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.h:
* Source/WebCore/platform/spiel/PlatformSpeechSynthesizerSpiel.cpp: Added.
(WebCore::SpielSpeechWrapper::SpielSpeechWrapper):
(WebCore::SpielSpeechWrapper::finishSpeakerInitialization):
(WebCore::SpielSpeechWrapper::~SpielSpeechWrapper):
(WebCore::SpielSpeechWrapper::generateVoiceURI):
(WebCore::SpielSpeechWrapper::initializeVoiceList):
(WebCore::SpielSpeechWrapper::pause):
(WebCore::SpielSpeechWrapper::resume):
(WebCore::SpielSpeechWrapper::speakUtterance):
(WebCore::SpielSpeechWrapper::cancel):
(WebCore::SpielSpeechWrapper::clearUtterance):
(WebCore::PlatformSpeechSynthesizer::create):
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::cancel):
(WebCore::PlatformSpeechSynthesizer::resetState):
* Source/cmake/FindLibSpiel.cmake: Added.
* Source/cmake/GStreamerDependencies.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

Canonical link: https://commits.webkit.org/285891@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list