Coder Social home page Coder Social logo

blmage / duolingo-tts-controls Goto Github PK

View Code? Open in Web Editor NEW
19.0 19.0 4.0 1.73 MB

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

License: MIT License

JavaScript 91.75% CSS 8.25%
challenges chrome-extension controls duolingo firefox-addon listening playback sounds

duolingo-tts-controls's People

Contributors

blmage avatar dependabot-preview[bot] avatar dependabot[bot] avatar fossabot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

duolingo-tts-controls's Issues

Bug: toggle buttons are sometimes not available under the playback buttons

Old challenge forms may still be present on the page at the time we search for a new wrapper of playback buttons.

If the new listening challenge uses a "cartoon" form, and the previous challenge was a listening challenge using a "normal" form, the old wrapper is detected instead of the new one.

This can be fixed by restricting the search.

Move the controls above the phrase

Sometimes I reach a word in the phrase and when I want to come back to write my answer I accidentally trigger the full control panel, which is a bit annoying.

My idea is that maybe the controls could be placed anywhere else, like above the phrase and buttons.

extended controls display position

Would it be possible to display controls of normal speech to the left and slow speed speech to the left as it is ?
Imho it will avoid confusion.
Is it possible to display both controls simultaneously to allow for fine tuning of playback speed ?
for example
Screen Shot 2020-12-02 at 18 37 13

Question: how to detect / control the sounds of stories?

Hi, sorry for my ignorance, but I'm trying to create a script for duolingo to automatically play stories, but for this to work I should somehow have access to audio that by default is not shown in HTML. I saw that you managed to solve this problem but when I tried to read your code I didn't understand how you did it (I'm still a beginner), could you not explain more directly to me what I should research to be able to solve this problem. Sorry if this isn't the best place to ask questions, but it's the only one I found

New voices override / reset ?

Hi
Any chance you can override / reset new boy / girl voices ? those in english & spanish cources ( and may be others)

BUG: interferes with Brightcove media player on latest version of Firefox

Brightcove Player Version | 6.64.2
Windows 10 Pro (4-bit)

Before adding the Firefox add-on, this media player was working fine.
Added duolingo-tts-controls to FF (latest version of each). No other changes during this time.
Brightcove no longer displaying video, but I could still hear audio. Cannot use a different media player, because the content I need is embedded --using Brightcove-- in an educational website that I need to use.

Disabled this add-on ONLY (left all other FF add-ons enabled).
Brightcove is working fine again, now (with duolingo-tts-controls add-on enabled, no other changes on my PC).

Not a programmer or coder, so I have no idea why this media player and this add-on don't play well together.
Good luck!

Bug: the starting position of TTS sounds is not always correctly reset when switching to the next challenge

There seem to be at least two different cases for this one:

  • the starting position is not reset for the slow TTS, seemingly at the UI level only (the sound actually starts at 0s),
  • the starting position is not reset for the normal TTS, at least at the sound level. This one seems to only happen when the same challenge is proposed for the third time (and after).

In both cases, everything goes back to normal after the first playing of the sound, but this is certainly due to the default startPosition being applied after the end event.

Optimization: improve the UI on "basic" forms (latest UI update)

Now that the playback buttons are placed inside labels, the space around the toggle buttons triggers playing the sound.

Also (but quite less easy to fix), :active and :hover effects for the playback buttons are handled via the label state, meaning that hovering / pressing a toggle button also makes the corresponding playback button appear hovered / pressed.

Not workin in translation challenge

In the course Spanish for German speaker there is one type of questions where the controls are missing:
Bildschirmfoto

According to your explanation in this issue, I extracted the challenge type to be challenge challenge-translate.

Thanks for the addon, finally a way to change the volume for duo!

Bug: investigate the remaining quirks from the underlying audio library

It seems like there are some more quirks coming from the "howler.js" library.

The seek method, for example, also returns wrong results when the sound currently being played is a "clone", and not the original (first) sound: https://github.com/goldfire/howler.js/blob/9117525f0883ddb995f99ee843bba7f6d3442590/src/howler.core.js#L1584.

In fact, all kind of problems start to happen once the library resorted to clone sounds (via _inactiveSound(): https://github.com/goldfire/howler.js/blob/9117525f0883ddb995f99ee843bba7f6d3442590/src/howler.core.js#L2037, because the _playLock flag is set, or because no sound is paused: https://github.com/goldfire/howler.js/blob/9117525f0883ddb995f99ee843bba7f6d3442590/src/howler.core.js#L750). This seems to happen mostly with "non-standard" use, when the network is slow, and much more consistently on Firefox.

Could this be the (one of) the reason(s) why the original playback buttons stop the sounds at first?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.