This module integrates the ResponsiveVoice Text-to-Speech (TTS) (https://responsivevoice.org/) service with Drupal, allowing users to add TTS functionality to any content type. It provides a block with a play button, enabling users to listen to the text on the page in various voices, especially useful for visually impaired users.

The module offers:

A keyboard shortcut for quick access to play/pause functionality (Shift + P to play, Shift + S to pause or resume).
It supports multiple voices, including languages and accents.
Admins can select which content types should display the TTS button.
Configurable text for the play button and voice selection.

Project link

https://www.drupal.org/project/responsive_voice_tts

CommentFileSizeAuthor
screenshot-2.jpg171.68 KBcrabsoul
screenshot-1.jpg94.94 KBcrabsoul

Comments

crabsoul created an issue. See original summary.

avpaderno’s picture

Issue summary: View changes

Thank you for applying!

Please read Review process for security advisory coverage: What to expect for more details and Security advisory coverage application checklist to understand what reviewers look for. Tips for ensuring a smooth review gives some hints for a smoother review.

The important notes are the following.

  • If you have not done it yet, you should run phpcs --standard=Drupal,DrupalPractice on the project, which alone fixes most of what reviewers would report.
  • For the time this application is open, only your commits are allowed.
  • The purpose of this application is giving you a new drupal.org role that allows you to opt projects into security advisory coverage, either projects you already created, or projects you will create. The project status will not be changed by this application; once this application is closed, you will be able to change the project status from Not covered to Opt into security advisory coverage. This is possible only 14 days after the project is created.
    Keep in mind that once the project is opted into security advisory coverage, only Security Team members may change coverage.
  • Only the person who created the application will get the permission to opt projects into security advisory coverage. No other person will get the same permission from the same application; that applies also to co-maintainers/maintainers of the project used for the application.
  • We only accept an application per user. If you change your mind about the project to use for this application, or it is necessary to use a different project for the application, please update the issue summary with the link to the correct project and the issue title with the project name and the branch to review.

To the reviewers

Please read How to review security advisory coverage applications, Application workflow, What to cover in an application review, and Tools to use for reviews.

The important notes are the following.

  • It is preferable to wait for a project moderator before posting the first comment on newly created applications. Project moderators will do some preliminary checks that are necessary before any change on the project files is suggested.
  • Reviewers should show the output of a CLI tool only once per application.
  • It may be best to have the applicant fix things before further review.

For new reviewers, I would also suggest to first read In which way the issue queue for coverage applications is different from other project queues.

vishal.kadam’s picture

Title: [1.0.0] Responsive Voice Text To Speech » [1.0.x] Responsive Voice Text To Speech
vishal.kadam’s picture

Status: Needs review » Needs work

1. Fix phpcs issues.

phpcs --standard=Drupal,DrupalPractice --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml responsive_voice_tts/

FILE: responsive_voice_tts/responsive_voice_tts.module
------------------------------------------------------------------------
FOUND 5 ERRORS AND 1 WARNING AFFECTING 4 LINES
------------------------------------------------------------------------
  6 | ERROR   | [x] There must be exactly one blank line after the file comment
  7 | WARNING | [x] Unused use statement
  7 | ERROR   | [x] There must be one blank line after the last USE statement; 2 found;
 10 | ERROR   | [x] Missing function doc comment
 10 | ERROR   | [x] Expected 1 blank line before function; 2 found
 21 | ERROR   | [x] Expected 1 newline at end of file; 3 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 6 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/responsive_voice_tts.links.menu.yml
------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------
 7 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/responsive_voice_tts.permissions.yml
------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------
 4 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/README.md
------------------------------------------------------------------------
FOUND 1 ERROR AND 6 WARNINGS AFFECTING 7 LINES
------------------------------------------------------------------------
  3 | WARNING | [ ] Line exceeds 80 characters; contains 391 characters
  5 | WARNING | [ ] Line exceeds 80 characters; contains 296 characters
  9 | WARNING | [ ] Line exceeds 80 characters; contains 170 characters
 11 | WARNING | [ ] Line exceeds 80 characters; contains 90 characters
 13 | WARNING | [ ] Line exceeds 80 characters; contains 138 characters
 15 | WARNING | [ ] Line exceeds 80 characters; contains 129 characters
 33 | ERROR   | [x] Expected 1 newline at end of file; 2 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/responsive_voice_tts.services.yml
------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------
 4 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/responsive_voice_tts.routing.yml
------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------
 7 | ERROR | [x] Expected 1 newline at end of file; 0 found
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/responsive_voice_tts.info.yml
------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
------------------------------------------------------------------------
 1 | WARNING | Remove "version" from the info file, it will be added by drupal.org packaging automatically
 7 | WARNING | All dependencies must be prefixed with the project name, for example "drupal:"
------------------------------------------------------------------------

FILE: responsive_voice_tts/src/SpeakerService.php
------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------
 27 | ERROR | [x] Missing function doc comment
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/src/Plugin/Block/ResponsiveVoiceTtsBlock.php
------------------------------------------------------------------------
FOUND 1 ERROR AND 1 WARNING AFFECTING 2 LINES
------------------------------------------------------------------------
 44 | ERROR   | [x] Missing function doc comment
 69 | WARNING | [ ] \Drupal calls should be avoided in classes, use dependency injection instead
------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------

FILE: responsive_voice_tts/src/Form/ResponsiveVoiceTtsConfigForm.php
------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------
 56 | WARNING | NodeType::loadMultiple calls should be avoided in classes, use dependency injection instead
------------------------------------------------------------------------

2. FILE: README.txt

Remove README.txt since README.md is present.

3. FILE: responsive_voice_tts.info.yml

package: Custom

This line is used by custom modules created for specific sites. It is not a package name used for projects hosted on drupal.org.

4. FILE: responsive_voice_tts.module

/**
 * @file
 * Primary module hooks for Responsive Voice Text to Audio module.
 */

Drupal does not have primary and secondary hooks. Instead of that, it is preferable to use the usual description: Hook implementations for the [module name] module. where [module name] is the name of the module given in its .info.yml file.

rushikesh raval’s picture

Remove readme.txt and make Readme.md as per README.md template.

Project name and introduction (required)

rushikesh raval’s picture

Priority: Normal » Minor

I am changing priority as per Issue priorities.

avpaderno’s picture

This thread has been idle, in the needs work state with no activity for several months. Therefore, I am assuming that you are no longer pursuing this application.

May you confirm you are still pursuing this application? If this is the case, and you made commits basing on what previously reported, or you can answer the questions previously asked, please change the status to Needs review.

avpaderno’s picture

Status: Needs work » Closed (won't fix)

This thread has been idle, in the Needs work state with no activity for about six months or more; the application has been created about 11 months ago or more. Therefore, I marked it as Closed (won't fix).

If this is incorrect, and you are still pursuing this application, please feel free to re-open it and set the issue status to Needs work or Needs review, depending on the current status of your code.

Now that this issue is closed, please review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, please credit people who helped resolve this issue.