Duolingo TTS Controls

Provides playback controls for some of the challenges on Duolingo.

What is Duolingo TTS Controls?

Duolingo TTS Controls is a Chrome extension developed by blmage, and its main feature is "Provides playback controls for some of the challenges on Duolingo.".

Extension Screenshots

screenshot
screenshot
screenshot
screenshot

Download Duolingo TTS Controls Extension CRX File

Download Duolingo TTS Controls extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.

Extension Usage Instructions

                        For more detailed information, screenshots, or if you have any support request, visit the development page of the extension here:
https://github.com/blmage/duolingo-tts-controls

[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,
    - [ < ] / [ > ]  to decrease / increase the playback rate (speed) (or [ Ctrl ] + [ ← ] / [ → ]),
    - [ ↓ ] / [ ↑ ] 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 ]to play / pause the sound  (or [ Ctrl ] + [ ↑ ]),
    - [ p ] to "pin" the current position (the sound will now start from there each time it is played) (or [ Ctrl ] + [ ↓ ]).

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:
    - wait for me to fix it (you can open an issue on the support page if there is none about it yet),
    - if you're a developer, try to fix it yourself, then open a related PR on the development page.
- 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%.                    

Extension Basic Information

Name Duolingo TTS Controls Duolingo TTS Controls
ID hfgbpmknceenkbljmjlogkmhbpnbiika
Official URL https://chromewebstore.google.com/detail/duolingo-tts-controls/hfgbpmknceenkbljmjlogkmhbpnbiika
Description Provides playback controls for some of the challenges on Duolingo.
File Size 69.67 KB
Installation Count 470
Current Version 2.5.0
Last Updated 2023-10-31
Publish Date 2020-07-09
Rating 5.00/5 Total 4 Ratings
Developer blmage
Email [email protected]
Payment Type free
Extension Website https://github.com/blmage/duolingo-tts-controls
Help Page URL https://github.com/blmage/duolingo-tts-controls/issues
Supported Languages en-US
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "name": "Duolingo TTS Controls",
    "version": "2.5.0",
    "description": "Provides playback controls for some of the challenges on Duolingo.",
    "permissions": [
        "https:\/\/*.duolingo.com\/"
    ],
    "content_scripts": [
        {
            "matches": [
                "https:\/\/*.duolingo.com\/*"
            ],
            "js": [
                "src\/content.js"
            ],
            "run_at": "document_start"
        }
    ],
    "web_accessible_resources": [
        "src\/observer.js",
        "src\/ui.js",
        "assets\/css\/ui.css"
    ],
    "icons": {
        "16": "icons\/icon_16.png",
        "48": "icons\/icon_48.png",
        "128": "icons\/icon_128.png",
        "256": "icons\/icon_256.png",
        "512": "icons\/icon_512.png"
    },
    "manifest_version": 2
}