Wikispeech is an extension for MediaWiki that reads the content of a page out loud. It is currently under development and features will change and be added before the project is finalized.

The playerEdit

The player can be found at the bottom of the page and looks like the picture below. With the player, you can start and stop listening to the text. You can also navigate by skipping back and forward in the text.



Here follows a description of what each button does. The keyboard shortcuts for the actions are in square brackets.

Play [Alt + Shift + Space]
Starts playing from the top of the page. Changes the button to Stop.
Stop [Alt + Shift + Space]
Stops playing. Changes the button to Play.
Skip back one sentence [Alt + Shift + Left arrow]
Starts playing the previous sentence. If the current sentence has played for more than three seconds, rewinds to the start of the sentence instead.
Skip forward one sentence [Alt + Shift + Right arrow]
Starts playing the next sentence.
Skip back one word [Alt + Shift + Up arrow]
Rewinds to the previous word.
Skip forward one word [Alt + Shift + Down arrow]
Fast forward to the next word.
Go to the help page.
Go to the page for leaving feedback.

Selection PlayerEdit

When you select text in the page, a smaller selection player will show up at the end of the selection. This player only contains the play/stop button, which works the same way as it does in the regular player. You can still use the regular player and the keyboard shortcuts to control the playback. When you deselect the text, the selection player will disappear.

Text HighlightingEdit

Wikispeech highlights parts of the text as they are read. Both the current word and the sentence containing that word get highlighted, with different colours.

You can customize the look of the highlighting by editing your common.css or global.css. Links to these can be found under Preferences -> Appearance. Below is example code for changing the sentence highlighting colour (to green) and removing the word highlighting colour, and instead highlighting words by making them bold. Note that it may be a good idea to add rules that change the size of text (such as font size or bold), as it will cause the text to move around.

.ext-wikispeech-highlight-sentence {
	background-color: rgb( 150, 255, 100 );

.ext-wikispeech-highlight-word {
	all: unset;
	text-decoration: underline;

For more help on editing CSS, see the user style help.

Known limitationsEdit

The server that generates the speech audio is also under development. This means that there may be delays when a new sentence is read. This is in part due to not wanting to load too much audio before knowing if the user wants to listen to it; this would be unnecessary taxing, both for the server and the users network. There are some plans for mitigating this, including caching generated audio and smarter buffering.

Some things aren't read, like images and tables. This is because it's not obvious how these should be read, e.g. in what order should the cells in a table be read?