Skip to content

A small browser extension providing playback controls for some of the challenges on Duolingo.

License

Notifications You must be signed in to change notification settings

blmage/duolingo-tts-controls

Repository files navigation

Duolingo TTS Controls

DeepScan grade ESLint FOSSA Status Chrome Web Store Mozilla Add-on

A small browser extension providing playback controls for the listening / speaking / translation challenges on Duolingo.

Table of contents

Download

Features

  • Adds controls to each sound of the listening / speaking / translation challenges:

  • Full controls are available by hovering over the buttons or using the keyboard shortcuts, and feature:

    • a rate (speed) slider,

    • a volume slider,

    • a seek bar,

    • a play / pause button,

    • a stop button,

    • a "pin" button (to define the current position as the new starting position).

  • Strives to blend seamlessly in Duolingo's UI, and to be compatible with custom themes such as Darklingo++:

Keyboard shortcuts

The selected control panel is identifiable by the keyboard icon that is added next to its buttons:

In order to use the keyboard shortcuts, the selected control panel must be focused by pressing Ctrl.

Once focused, the keyboard icon becomes highlighted.. :

.. and you can use:

  • Ctrl to focus back the answer input,

  • Tab to select (and focus) the next control panel,

  • < / > (or Ctrl + / ) to decrease / increase the playback rate (speed),

  • / to decrease / increase the playback volume,

  • / to move the position backward / forward,

  • 0 .. 9 to set the position at 0 .. 90% of the duration,

  • Home to set the position at the start,

  • End to set the position at the end (think of it more or less as a stop button),

  • Space / k (or Ctrl + ) to play / pause the sound,

  • p (or Ctrl + ) to "pin" the current position (the sound will now start from there each time it is played).

Shortcuts behind parentheses are provided as alternatives for when the main ones are not available.

This can happen for example when a "keyboard-aware" word bank is available for the current challenge.

Limitations

  • The extension is deeply tied to the inner workings of Duolingo, meaning that significant changes on their side could (temporarily) break it. If that happens, you can either:

  • Due to hard limitations with the underlying technology (sounds are not accessible via Ajax requests, preventing us from using the Web Audio API), the volume can not be raised over 100%.

Bug reports and feature requests

If you encounter a bug, or if you have a suggestion regarding a new feature, don't hesitate to open a related issue!