[webkit-changes] [WebKit/WebKit] 290d00: [WPE][GTK] Speech synthesis using libspiel

Philippe Normand noreply at github.com
Thu Sep 26 04:38:24 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 290d009f7b35d6af9bf5b5b80d113f5db6a04274
      https://github.com/WebKit/WebKit/commit/290d009f7b35d6af9bf5b5b80d113f5db6a04274
  Author: Philippe Normand <philn at igalia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/PlatformGTK.cmake
    M Source/WebCore/PlatformWPE.cmake
    M Source/WebCore/platform/PlatformSpeechSynthesizer.h
    M Source/WebCore/platform/SourcesGStreamer.txt
    M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
    R Source/WebCore/platform/gstreamer/PlatformSpeechSynthesizerGStreamer.cpp
    R Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.cpp
    R Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.h
    A Source/WebCore/platform/spiel/PlatformSpeechSynthesizerSpiel.cpp
    A Source/cmake/FindLibSpiel.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.

Spiel's API is much nicer than Flite's, being directly inspired from WebSpeech. So the speech
synthesis is now handled with Spiel in the WPE and GTK ports. The feature is also enabled by
default. A couple layout tests relying on the presence of voice providers in the SDK had to be
flagged, because the SDK doesn't ship any voice provider yet.

* Source/WebCore/PlatformGTK.cmake:
* Source/WebCore/PlatformWPE.cmake:
* Source/WebCore/platform/PlatformSpeechSynthesizer.h:
* Source/WebCore/platform/SourcesGStreamer.txt:
* Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::registerWebKitGStreamerElements):
* Source/WebCore/platform/gstreamer/PlatformSpeechSynthesizerGStreamer.cpp: Removed.
* Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.cpp: Removed.
* Source/WebCore/platform/gstreamer/WebKitFliteSourceGStreamer.h: Removed.
* Source/WebCore/platform/spiel/PlatformSpeechSynthesizerSpiel.cpp: Added.
(WebCore::SpielSpeechWrapper::SpielSpeechWrapper):
(WebCore::SpielSpeechWrapper::~SpielSpeechWrapper):
(WebCore::SpielSpeechWrapper::initializeVoiceList):
(WebCore::SpielSpeechWrapper::pause):
(WebCore::SpielSpeechWrapper::resume):
(WebCore::SpielSpeechWrapper::speakUtterance):
(WebCore::SpielSpeechWrapper::cancel):
(WebCore::SpielSpeechWrapper::resetState):
(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/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

Canonical link: https://commits.webkit.org/284276@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