[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