[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