Swahili Audio Extension for Google Chrome
Hamjambo to my fellow Swahili learners!
It is with great joy after several weeks of hard work that I can finally announce that I have nearly finished a browser extension for Google Chrome that will output audio during Swahili exercises in nearly identical fashion to the other courses!
It will be free on the Google Chrome extension store and should be fully functional within the next several days. As I have completed it as almost entirely a solo project, there will inevitably be several bugs at first (from subtle audio irregularities to actual performance issues), so it will be originally released as more of a Beta release with several tons of patches likely to follow quickly after its initial release.
Nonetheless, I am quite excited for it to become a reality! Audio is truly worth its weight in gold in learning a new language, and although the audio won't be perfectly pronounced by a native speaker (in fact, the underlying engine is me working some sorcery on the Google Chrome Indonesian text-to-speech service to properly pronounce Swahili words - sounds insane at first, but it actually does a very good job!), it WILL be consistently 80-95% accurate speech that will help to solidify in memory by associating the new words with how they sound (studies show again and again that this is critical to getting new words to solidify in long term memory). Until the official audio eventually gets uploaded, I hope (and expect) this extension to prove invaluable to all those going through the Swahili course.
I have been testing the extension on my own computer for the past 2 weeks and I have already noticed a steep improvement in my ability to remember new words - I can't wait for it to help others as well :D
Cheers, and stay tuned - I will update this thread when I release the extension in the next several days!
UPDATE #1: Wow, what a response! It is so great to see so much excitement for the extension; it reminds me that the work was and is worth it! With the outpouring of support, I decided to REALLY test it and, aside from a few audio irregularities on very specific words I can truly say it is (very, very close to being) ready for deployment!
It is worth noting that by far the biggest problem I am seeing is that the TTS differs wildly across browsers and operating systems. For example, on macOS (High Sierra), it seems to be supported on Firefox, Safari, Opera and Chrome, albeit not as well as on Windows. However, on Windows it seems to only be supported on Chrome and not Firefox, Opera or Edge. Linux, interestingly, has by far the best support for it but it is, of course, the least used by far of the 3 major operating systems so this is little consolation. To make matters even more complicated, I am not even sure if it will ALWAYS be supported on Windows Chrome; I have only tested it on Windows 10 and I have a nagging suspicion that it could behave weirdly or not at all on Windows 8.1 or older. All this to say, I am at a weird place where I know I can't necessarily count on it working for everybody, but yet it is far too late to turn back since the tool I am using to make it work "under the hood" is really the only solution that will ever come close to producing TTS without me needing to design an entire new TTS system, which would take months.
I will likely release it on all major browsers at the same time now so that if it doesn't work with your computer on one, you could try another in a pinch. It is not the best solution, but at least it will (hopefully) deliver long-awaited audio to those who need it.
With all that being said, I expect to release it on all major browser stores by mid-week next week. Stay tuned for more updates, and hopefully the next update will be a link to the finalized product :)
UPDATE #2: I have published it to chrome, but currently only myself can access it as a tester (which is good, because a handful of issues only decided to show themselves now!). What this means is its release, at least on Chrome, is a click of a button away from being accessible to users all over the world. Unfortunately, the bugs I found are noticeably performance-hindering and require my attention right now before I can fully release it. Bottom line: it will, barring any enormous set-backs, be up and running by the end of the weekend!!! I am so excited for it to become real and for real users to be able to try it out. Stay tuned for the next several days as its link to the Chrome web-store will be going up very soon :)
UPDATE #3: IT. IS. OUT!!! The link to the web-store is at the bottom.
Before downloading, here are some important things to note:
This is a Beta release!! It will NOT be bug-free; I opted to make the Duolingo community be able to effectively Beta test. As a result, there will still be irregularities. Please report any bugs and I will try to fix them as soon as I can.
If you rate it negatively due to a bug, please consider improving your rating if I can fix the issue. Good reviews mean a lot to me since I intend to use this project in my portfolio showcasing my passion for language & language-learning software :)
It is not perfect and it might never be perfect. But as long as it helps Swahili learners to learn even a bit better, it is a success for me!
USERS OF OTHER BROWSERS - hang in there, it will be released on Firefox and Opera in the next week. It behaves often bizarrely on browsers other than Chrome, though, so it may be more prone to bugs than this release.
Best-use practices for now:
Refreshing the test page before each lesson has proved to be a hugely effective way of getting rid of any weird audio bugs. Consider making it a ritual until I can get to the bottom of why this helps as much as it does.
The audio voice is best on Windows 10 Chrome, although the voice is still acceptable on macOS and Linux.
Final note: To my fellow aspiring polygots and software developers: I probably should have mentioned this earlier, but this is an entirely open-source project. Source code is available at the following link: https://github.com/seanmiller9/duolingo-swahili-extension
That's it! It has been a hugely rewarding journey to create something for the amazing Duolingo community. We all have a part to play in making language-learning as widely available and efficient as possible :D
Without further ado, here is the link. Enjoy!
The course creators said they finished recoding audio about this time last year ... and Duolingo simply hasn't implemented it. Recordings by real people would definitely be preferable to a robot. DON'T LET DUOLINGO COP OUT! They've got the recordings somewhere and if they've lost them, they can pay some native speakers to do them again!
Excellent question - to be honest, I actually have not practiced speaking the language with anybody before or after developing the extension. I did my best to try to model how a native speaker would speak the words by listening to Swahili recordings of various syllables and sounds, checking out the IPA for the various consonant sounds, etc. In a perfect world I would get Swahili native speakers to Alpha test the extension first, but I think I am going to have to use early feedback as the best pointers to enhance the audio quality. I think the biggest problem is the accent - since the underlying engine that powers the extension is that I am essentially playing with the Chrome Indonesian TTS service to pronounce the words, the proper pronunciations will almost always be present, but the accent will be noticeable. Basically, I think the improvements for user's speech will be anywhere from being greatly enhanced to the conservative limit of being easily understood by a native speaker, albeit without a truly perfect accent. Practice with a native speaker will still be key to reaching true speech mastery :)
Your help would be priceless - it would be HUGE to get some feedback from a native speaker before releasing it to others! I have a few coding changes I want to make to it first, but perhaps afterwards if you would be available to give it some Alpha testing that would be fantastic!!
Great news I discovered today is that Firefox supposedly DOES have support for Indonesian TTS (and supposedly so does Safari!), meaning, in theory, it should be releasable over Firefox (and Safari) as soon as Chrome is ready too! I will test this out a bit more first and report back with any updated progress.
Unfortunately it looks to me that Edge does not support it, at least not on my computer. As I had mentioned browser consistency has been an incredibly brutal challenge for this project, but the bright side of browser inconsistency is that there is theoretically a chance that it would be supported on other computers. I will look into testing it on other Windows computers. Nonetheless, it will be released on Chrome/Firefox first and then if it comes to work on Edge, it will be released on Edge later!
I very much look forward to feedback from native speakers!! One thing I definitely would like to include is stress (i.e. emphasising generally the second last syllable of a word). Other than that, most sounds should be decently accurate. Again, can't wait to hear from a native speaker to confirm :)
I tested it out with one exercise, and other than a few intonations being a bit off it's pretty decent! The most common error with pronunciation is with words that have consonants following 'm', i.e. when 'm' is a syllable in a word, like 'm-to-to' (it's pronounced 'mmmh'). But yeah, awesome job!
Yeah, unfortunately that's where using the Indonesian TTS has its limitations, they don't have that proper m- or n- sound to start a word. There's a couple other examples like that too of sounds that don't have a real equivalent in Indonesian. Trying hard to find a better solution, though!