Filters: SimpleSpeak text-to-speech

Maintained by Nick a few years ago, in a leather jacket Nick Freear
A Moodle filter to provide speech synthesis (text-to-speech/ TTS) services for arbitrary text.
28 sites
5 fans

A filter to provide speech synthesis (text-to-speech/ TTS) services for arbitrary text. Text such as [Speak] Hello world! [/Speak] is replaced with a button with the text as a label. Press the button, and the text is spoken!

This is beneficial, for example, when teaching younger children. And for accessibility to those with disabilities.

Requirements: tested with Moodle 1.9.7 and 2.0.2 (all Moodle 1.9.x and 2.0.x should work). Requires Javascript. Requires a TTS service - see Readme.

Uses:  jQuery (v1.3.2).


  1. Download and unzip the code files. Copy to the directory on the server, eg.
  2. Log in to Moodle as admin, visit `Site Administration | Modules | Filters | Manage Filters`. Scroll down and click on the icon for Simplespeak to enable it.
  3. Choose SimpleSpeak under Filters, and add a TTS service. Or set in config.php, eg.
    $CFG->simplespeak_service_url =
    The string can contain two placeholders, !TEXT and optionally !LANG (language). This service can be local, or third-party - see Readme.
  4. Ensure that the directory $CFG->datarootis writeable by the Apache user, or create a writeable cache directory,


Simple example. Enable the filter (admin). Then, type the following in a Moodle resource:

  [Speak] Hello world! [/Speak]


Screenshot #0


Nick a few years ago, in a leather jacket
Nick Freear (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Frankie's the name, Moodle's my game!
    Fri, 28 Jun 2013, 7:38 AM
    Hi Nick
    Very strange. The same filter which works on Moodle 1.9.15, with the setting text of:!TEXT
    doesn't work in Moodle 2.5. I can't figure out why. Any ideas?
  • Picture of Matthew Brewer
    Mon, 6 Jan 2014, 7:03 PM
    Is there a way to change the font from what appears to be green comic sans to what appears on the rest of the page? I've been looking through the code, and I'm not seeing anything that jumps out at me for changing it. Any help would be appreciated!
  • Picture of Suresh Dhanakotti
    Tue, 7 Jan 2014, 12:52 AM
    currently it supports only 100 chars with tag if it exceeds it not working. Is there any way to increase the chars?
  • CPER logo
    Thu, 18 Dec 2014, 10:39 PM
    Hallo Nick,
    Does this plugin work in Moodle version 2.8?
  • Picture of kong lan
    Mon, 22 Dec 2014, 4:12 PM
    I test this plugin. It cannot work in moodle 2.7. When I input [speak] apple [/speak] in html, the voice label doesn't show.
  • Picture of Cristian Sima
    Mon, 16 May 2016, 12:03 AM
    Doesn't work in Moodle 2.6
  • Picture of Krisha Moeller
    Tue, 5 Dec 2017, 6:23 AM
    Hello! I'm having trouble installing this to Moodle 3.3. When I do, I get the following error message:

    Install plugin from ZIP file
    Validating filter_simplespeak ... Error
    [Error] Plugin does not declare its component name [null]
    Installation aborted due to validation failure

    Do you know what I should do? Thank you for your help!
Please login to post comments