-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix:catalan_offline_tts #162
Conversation
change to Matxa, piper makes many pronounciation mistakes, initial benchmarks show matxa has a good RTF
WalkthroughThe changes introduced in this pull request include the addition of new configuration files for text-to-speech (TTS) functionality and modifications to existing configuration files across various languages. New files specify the TTS module as Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## dev #162 +/- ##
=====================================
Coverage ? 0.00%
=====================================
Files ? 10
Lines ? 877
Branches ? 0
=====================================
Hits ? 0
Misses ? 877
Partials ? 0 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (3)
ovos_config/recommends/offline_male/ca-es.conf (1)
4-6
: LGTM! Consider documenting voice options.The new voice setting "central/grau" is appropriately configured for the Matxa TTS module. This likely refers to a central Catalan dialect with a speaker named Grau.
Consider adding a comment or updating the documentation to list the available voice options for this TTS module. This would be helpful for future maintenance and customization.
ovos_config/recommends/offline_female/ca-es.conf (1)
4-6
: LGTM! Consider documenting voice options.The new configuration block for the Matxa plugin is correctly structured. The voice setting "central/elia" appears to be a female voice option, which is consistent with this being the configuration for offline female TTS.
Consider adding a comment or updating the documentation to list all available voice options for the Matxa plugin. This will help future maintainers understand the available choices.
ovos_config/recommends/offline_female/ca-va.conf (1)
4-6
: Voice configuration looks goodThe voice configuration "valencia/gina" is appropriately set and aligns with the file's purpose (offline female Valencian Catalan TTS).
Consider adding a comment or documentation listing all available voices for this TTS module to help future maintainers.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (54)
- ovos_config/recommends/offline_female/ca-ba.conf (1 hunks)
- ovos_config/recommends/offline_female/ca-es.conf (1 hunks)
- ovos_config/recommends/offline_female/ca-nw.conf (1 hunks)
- ovos_config/recommends/offline_female/ca-va.conf (1 hunks)
- ovos_config/recommends/offline_female/de-de.conf (0 hunks)
- ovos_config/recommends/offline_female/en-gb.conf (0 hunks)
- ovos_config/recommends/offline_female/en-us.conf (0 hunks)
- ovos_config/recommends/offline_female/es-es.conf (0 hunks)
- ovos_config/recommends/offline_female/fr-fr.conf (0 hunks)
- ovos_config/recommends/offline_female/gl-es.conf (0 hunks)
- ovos_config/recommends/offline_female/it-it.conf (0 hunks)
- ovos_config/recommends/offline_female/nl-nl.conf (0 hunks)
- ovos_config/recommends/offline_male/ca-ba.conf (1 hunks)
- ovos_config/recommends/offline_male/ca-es.conf (1 hunks)
- ovos_config/recommends/offline_male/ca-nw.conf (1 hunks)
- ovos_config/recommends/offline_male/ca-va.conf (1 hunks)
- ovos_config/recommends/offline_male/de-de.conf (0 hunks)
- ovos_config/recommends/offline_male/en-gb.conf (0 hunks)
- ovos_config/recommends/offline_male/en-us.conf (0 hunks)
- ovos_config/recommends/offline_male/es-es.conf (0 hunks)
- ovos_config/recommends/offline_male/fr-fr.conf (0 hunks)
- ovos_config/recommends/offline_male/gl-es.conf (0 hunks)
- ovos_config/recommends/offline_male/it-it.conf (0 hunks)
- ovos_config/recommends/offline_male/nl-nl.conf (0 hunks)
- ovos_config/recommends/offline_male/pt-br.conf (0 hunks)
- ovos_config/recommends/offline_male/pt-pt.conf (0 hunks)
- ovos_config/recommends/online_female/ca-ba.conf (0 hunks)
- ovos_config/recommends/online_female/ca-es.conf (0 hunks)
- ovos_config/recommends/online_female/ca-nw.conf (0 hunks)
- ovos_config/recommends/online_female/ca-va.conf (0 hunks)
- ovos_config/recommends/online_female/de-de.conf (0 hunks)
- ovos_config/recommends/online_female/en-gb.conf (0 hunks)
- ovos_config/recommends/online_female/en-us.conf (0 hunks)
- ovos_config/recommends/online_female/es-es.conf (0 hunks)
- ovos_config/recommends/online_female/es-mx.conf (0 hunks)
- ovos_config/recommends/online_female/es-us.conf (0 hunks)
- ovos_config/recommends/online_female/fr-fr.conf (0 hunks)
- ovos_config/recommends/online_female/it-it.conf (0 hunks)
- ovos_config/recommends/online_female/nl-nl.conf (0 hunks)
- ovos_config/recommends/online_female/pt-br.conf (0 hunks)
- ovos_config/recommends/online_female/pt-pt.conf (0 hunks)
- ovos_config/recommends/online_male/ca-ba.conf (0 hunks)
- ovos_config/recommends/online_male/ca-es.conf (0 hunks)
- ovos_config/recommends/online_male/ca-nw.conf (0 hunks)
- ovos_config/recommends/online_male/ca-va.conf (0 hunks)
- ovos_config/recommends/online_male/de-de.conf (0 hunks)
- ovos_config/recommends/online_male/en-gb.conf (0 hunks)
- ovos_config/recommends/online_male/en-us.conf (0 hunks)
- ovos_config/recommends/online_male/es-es.conf (0 hunks)
- ovos_config/recommends/online_male/fr-fr.conf (0 hunks)
- ovos_config/recommends/online_male/it-it.conf (0 hunks)
- ovos_config/recommends/online_male/nl-nl.conf (0 hunks)
- ovos_config/recommends/online_male/pt-br.conf (0 hunks)
- ovos_config/recommends/online_male/pt-pt.conf (0 hunks)
💤 Files with no reviewable changes (46)
- ovos_config/recommends/offline_female/de-de.conf
- ovos_config/recommends/offline_female/en-gb.conf
- ovos_config/recommends/offline_female/en-us.conf
- ovos_config/recommends/offline_female/es-es.conf
- ovos_config/recommends/offline_female/fr-fr.conf
- ovos_config/recommends/offline_female/gl-es.conf
- ovos_config/recommends/offline_female/it-it.conf
- ovos_config/recommends/offline_female/nl-nl.conf
- ovos_config/recommends/offline_male/de-de.conf
- ovos_config/recommends/offline_male/en-gb.conf
- ovos_config/recommends/offline_male/en-us.conf
- ovos_config/recommends/offline_male/es-es.conf
- ovos_config/recommends/offline_male/fr-fr.conf
- ovos_config/recommends/offline_male/gl-es.conf
- ovos_config/recommends/offline_male/it-it.conf
- ovos_config/recommends/offline_male/nl-nl.conf
- ovos_config/recommends/offline_male/pt-br.conf
- ovos_config/recommends/offline_male/pt-pt.conf
- ovos_config/recommends/online_female/ca-ba.conf
- ovos_config/recommends/online_female/ca-es.conf
- ovos_config/recommends/online_female/ca-nw.conf
- ovos_config/recommends/online_female/ca-va.conf
- ovos_config/recommends/online_female/de-de.conf
- ovos_config/recommends/online_female/en-gb.conf
- ovos_config/recommends/online_female/en-us.conf
- ovos_config/recommends/online_female/es-es.conf
- ovos_config/recommends/online_female/es-mx.conf
- ovos_config/recommends/online_female/es-us.conf
- ovos_config/recommends/online_female/fr-fr.conf
- ovos_config/recommends/online_female/it-it.conf
- ovos_config/recommends/online_female/nl-nl.conf
- ovos_config/recommends/online_female/pt-br.conf
- ovos_config/recommends/online_female/pt-pt.conf
- ovos_config/recommends/online_male/ca-ba.conf
- ovos_config/recommends/online_male/ca-es.conf
- ovos_config/recommends/online_male/ca-nw.conf
- ovos_config/recommends/online_male/ca-va.conf
- ovos_config/recommends/online_male/de-de.conf
- ovos_config/recommends/online_male/en-gb.conf
- ovos_config/recommends/online_male/en-us.conf
- ovos_config/recommends/online_male/es-es.conf
- ovos_config/recommends/online_male/fr-fr.conf
- ovos_config/recommends/online_male/it-it.conf
- ovos_config/recommends/online_male/nl-nl.conf
- ovos_config/recommends/online_male/pt-br.conf
- ovos_config/recommends/online_male/pt-pt.conf
🧰 Additional context used
🔇 Additional comments (15)
ovos_config/recommends/offline_male/ca-es.conf (1)
1-8
: Clarify fallback behavior after removal.The fallback module entry has been removed from the configuration. While this simplifies the setup, it may impact system behavior if the primary TTS module fails.
Could you please clarify:
- Is the removal of the fallback module intentional?
- How will the system handle TTS failures without a fallback?
If this change is intentional, consider documenting it in the PR description or relevant documentation to explain the new behavior.
To verify the impact of this change, you can run the following script to check for any remaining fallback configurations:
✅ Verification successful
Fallback module removal confirmed.
No fallback configurations found in the main codebase. Existing fallback settings in test files do not affect system behavior.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for any remaining fallback TTS configurations. # Test: Search for fallback TTS configurations in all relevant config files. rg --type json '"fallback_module"' ovos_config/Length of output: 49
Script:
#!/bin/bash # Description: Comprehensive search for fallback TTS configurations across the entire codebase. # Search for "fallback_module" in all JSON and YAML configuration files. rg '"fallback_module"' --type json --type yaml . # Search for related fallback terms to ensure no alternative configurations exist. rg 'fallback|fallbacks|backup|default' --type json --type yaml .Length of output: 1791
ovos_config/recommends/offline_female/ca-es.conf (2)
1-8
: Summary: Successful implementation of Matxa TTS for CatalanThe changes in this file successfully implement the switch from Piper to Matxa for Catalan TTS, as outlined in the PR objectives. The removal of the fallback module suggests increased confidence in Matxa's capabilities. These changes should address the pronunciation issues mentioned in the PR description.
To ensure the changes work as expected, consider running tests specifically for Catalan TTS using various text inputs. This will help verify that the pronunciation improvements are realized in practice.
3-3
: LGTM! Verify new module availability.The change from "ovos-tts-plugin-piper" to "ovos-tts-plugin-matxa-multispeaker-cat" aligns with the PR objective of switching to Matxa for improved Catalan pronunciation.
Please ensure that the "ovos-tts-plugin-matxa-multispeaker-cat" module is available and properly installed in the system. Run the following command to verify:
ovos_config/recommends/offline_male/ca-ba.conf (1)
1-8
: LGTM! Configuration aligns with PR objectives.The new configuration file correctly implements the switch to the Matxa TTS engine for Catalan, as outlined in the PR objectives. The structure is valid JSON, and the voice selection ('balear/quim') is consistent with the file's location and purpose.
To ensure the configuration is fully functional, please verify:
- The existence and compatibility of the 'ovos-tts-plugin-matxa-multispeaker-cat' module.
- The availability of the 'balear/quim' voice within this module.
You can run the following script to check for the module's presence:
✅ Verification successful
Configuration Verified and Aligned with Project Objectives
The
ovos-tts-plugin-matxa-multispeaker-cat
module is correctly referenced in multiple configuration files, includingca-ba.conf
. This confirms that the integration aligns with the PR's objective to switch to the Matxa TTS engine for Catalan.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for the presence of the Matxa TTS plugin # Test: Search for the Matxa TTS plugin in the project rg --type python "ovos-tts-plugin-matxa-multispeaker-cat" # Note: This script only checks for references to the module in the code. # Manual verification of the module's installation and the voice's availability may still be necessary.Length of output: 88
Script:
#!/bin/bash # Description: Verify the presence of the Matxa TTS plugin in Python files # Test: Search for the Matxa TTS plugin in the project rg --type py "ovos-tts-plugin-matxa-multispeaker-cat" # Note: This script searches only Python files for references to the specified module. # If no output is returned, the module may not be present in the codebase.Length of output: 53
Script:
#!/bin/bash # Description: Search for references to the Matxa TTS plugin across all files # Test: Search for the Matxa TTS plugin in the entire codebase rg "ovos-tts-plugin-matxa-multispeaker-cat" # Note: This script searches all file types for references to the specified module. # If no output is returned, the module may not be present in the codebase.Length of output: 1643
ovos_config/recommends/offline_female/ca-ba.conf (3)
1-8
: LGTM: Well-structured configuration fileThe overall structure of the configuration file is correct and follows proper JSON formatting standards. The file is well-organized with appropriate indentation.
4-6
: Confirm the specified voice optionThe voice setting "balear/olga" is correctly specified and aligns with the file name, indicating a female voice for the Balearic dialect of Catalan.
Let's verify the available voices for this TTS module:
2-3
: Verify the specified TTS moduleThe TTS module "ovos-tts-plugin-matxa-multispeaker-cat" is correctly specified, aligning with the PR objectives to switch to the Matxa TTS engine for Catalan.
Let's verify the existence and version of this module:
ovos_config/recommends/offline_male/ca-va.conf (1)
1-8
: LGTM! Configuration structure is correct.The JSON structure for the TTS configuration is well-formed and follows the expected format for OVOS TTS settings. This new configuration file correctly implements the switch to the Matxa TTS engine for Catalan (Valencian) as described in the PR objectives.
ovos_config/recommends/offline_female/ca-va.conf (3)
1-8
: LGTM: Overall structure is correctThe JSON structure is well-formed and properly indented. The configuration is concise and focused on the TTS settings.
2-3
: Verify the specified TTS moduleThe TTS module "ovos-tts-plugin-matxa-multispeaker-cat" is correctly specified, aligning with the PR objective to switch to the Matxa TTS engine for Catalan.
Let's verify the existence and version of this module:
1-8
: Summary: Configuration aligns with PR objectivesThis new configuration file successfully implements the switch from Piper to Matxa for Catalan TTS, as outlined in the PR objectives. The use of the "ovos-tts-plugin-matxa-multispeaker-cat" module with the "valencia/gina" voice should address the pronunciation issues mentioned with the previous Piper engine.
To ensure consistency across the PR, let's check for similar changes in other Catalan TTS configuration files:
ovos_config/recommends/offline_male/ca-nw.conf (3)
1-8
: LGTM! Configuration structure is correct and aligns with PR objectives.The new configuration file for offline male Catalan (North-Western dialect) TTS is well-structured and concise. It correctly specifies the use of the "ovos-tts-plugin-matxa-multispeaker-cat" module, which aligns with the PR objective of switching to the Matxa TTS engine for Catalan. The voice setting "nord-occidental/pere" appears appropriate for a male North-Western Catalan voice.
5-5
: Confirm the availability of the specified voice.The configuration specifies the voice as "nord-occidental/pere". It's important to verify that this voice is actually available in the Matxa TTS engine for Catalan.
To verify the availability of the specified voice, you can run the following script:
#!/bin/bash # Description: Search for references to the specified voice in the project # Test: Search for "nord-occidental/pere" in all files echo "Searching for references to the voice 'nord-occidental/pere':" rg --type-add 'config:*.{json,yaml,yml,conf}' --type config "nord-occidental/pere" # Note: This script assumes that voice options might be listed in configuration files. # Adjust the search pattern or file types if necessary based on your project structure.This script will help identify any other references to this voice in the project, which could help confirm its availability or find documentation about supported voices.
3-3
: Verify the existence and compatibility of the specified TTS module.Please ensure that the "ovos-tts-plugin-matxa-multispeaker-cat" module is available and compatible with the current system. It's crucial to confirm that this module is properly installed and configured in the project's dependencies.
To verify the module's existence and compatibility, you can run the following script:
This script will help identify if the module is properly included in the project's dependencies and if it's being imported or used in the codebase.
ovos_config/recommends/offline_female/ca-nw.conf (1)
1-8
: LGTM! Configuration aligns with PR objectives.The configuration file is well-structured and correctly specifies the Matxa TTS engine for Catalan, as intended in the PR objectives. The voice setting "nord-occidental/emma" is appropriate for a female voice configuration file.
Let's verify the existence and compatibility of the specified TTS module:
Consider adding a comment at the top of the file to explain its purpose, e.g.:
{ // Configuration for offline female Catalan (Northwestern dialect) TTS using Matxa "tts": { // ... rest of the configuration } }✅ Verification successful
Verified: TTS module references are consistent with existing configurations.
The
ovos-tts-plugin-matxa-multispeaker-cat
module is referenced across multiple configuration files, indicating it is intended for use within the project. The absence of implementation files suggests it is managed as an external dependency, which aligns with typical project structures.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify the existence of the TTS module in the project rg --type python "ovos-tts-plugin-matxa-multispeaker-cat" # Check for any documentation or README files related to this module fd -e md -e txt "matxa|catalan|tts"Length of output: 126
Script:
#!/bin/bash # Search for the TTS module across all files without specifying file type rg "ovos-tts-plugin-matxa-multispeaker-cat" # Search for documentation related to the TTS module across all file types rg "matxa|catalan|tts"Length of output: 17132
Script:
#!/bin/bash # Search for directories or files related to the TTS module fd "ovos-tts-plugin-matxa-multispeaker-cat" # Search for class or function definitions related to the TTS module in Python files ast-grep --lang python --pattern $'class $_ClassName extends $_BaseClass' "ovos-tts-plugin-matxa-multispeaker-cat"Length of output: 588
change to Matxa, piper makes many pronounciation mistakes, initial benchmarks show matxa has a good RTF
Summary by CodeRabbit
New Features
ca-ba.conf
,ca-nw.conf
,ca-va.conf
).Bug Fixes
fallback_module
key from existing TTS configuration files, streamlining settings and potentially enhancing TTS performance.These changes improve the customization and reliability of the TTS experience across multiple languages.