for 1.29
→ You can now import any Youtube Video that has subtitles in any language and it will use the auto generated Youtube translated subs to form the lesson. This will occur if native language subtitles are not available for the video.
Kings and Generals English Civil War translated to Finnish
→ Imports Youtube Playlists as a course and their videos as lessons.
→ Combine subtitle phrases into sentences.
→ Multiple subtitle options (max length, where to split sentences…)
→ Upload any amount of videos
→ Import and Whisper transcribe your playlist (Librarian only)
Just a quick “Wooohooo!!” for Spotify playlists, too!!! I make playlists for Korean, and this would help so much!
Rooting for your hard work!
I’ll edit this reply if I think of any additional ideas!
P.S. Quickish Question: Just thinking about the playlist-to-LingQ-course feature, would there potentially be a way in the future to add lessons to courses (through this feature) or specify specific songs/videos (e.g., popup with a multi-select check box or something to select videos from the playlist) within a playlist if users update their Spotify playlist/Youtube playlist—if it’s an ongoing list?
So, users can import those new additions through the LingQ importer if they don’t have too many, but if they have a bit more, it might be an idea to consider later down the road!
This looks very interesting, can you explain a bit more how this works under the hood?
I believe the official LingQ extension just sends the YouTube URL to the LingQ server, which does all the extraction using yt-dl
is this how you do it or do you extract the audio and subtitles in the extension and upload the results to LingQ?
what is the advantage of using an YT API key?
for my personal use I’m quite happy with yt-dlp which supports all sorts of sites including Google podcasts. Obviously uploading requires another script or manual work.
Thanks for your work.
I had to write a fair bit of custom stuff for this, which is why I am hiding the real script.
Basically. I have only put the API stuff as a limitation so people try the premium version.
The API requests data like, Playlist information, Video title, description. etc…
The real way to get data without sucking up to Google is to GET request the Youtube video and sift through all the garbage that they put in there that obscures the prized information. This is way more manual process and subject to break at any time but you don’t rely on any external library or give Google any money.
I downloaded and looked at the LingQ importer. It’s actually pretty simple scraping of the active tab of your browser.
Not sure what happens on the LingQ server during the import. Can only see the public code.
for 1.15
→ added whisper transcribe (Librarians only)
(This will attempt to transcribe if… There are no native subs available and you have not checked auto generated subs)
for 1.16
→ Now transcribes individually… A lot slower but doesnt break.
for 1.17
→ Added progress box to the display, disabled input button unil job done
for 1.18
→ Now skips unavailable videos instead of crashing…
→ Now retries if transcription is poor quality
for 1.19
→ Now gives up transcribing after 30 mins and goes to next video
for 1.20
→ Waits longer for audio
for 1.21
→ Deletes the dummy audio lessons for transcribing at the end (LingQ was recreating deleted lessons (after full import, i assume))
for 1.22
→ server sometimes sends success with no JSON, we check for this and retry…
for 1.23
→ server sometimes 500, 501, 502 errors, we now retry on that too…
for 1.24
→ Was crashing if transcribe took too long. now properly continues…
→ Increased wait audio time again…
for 1.25
→ now waits 3 hours for audio instead of 30 mins (lol server)
for 1.26
→ Now adds external URL to transcribed videos
for 1.31
→ Fixed bug from 1.29 which only allowed Finnish imports
for 1.30
→ Fixed bug which prevented trancribing if video had possible generated subtitles
for 1.29
→ You can now import any Youtube Video that has subtitles in any language and it will use the auto generated Youtube translated subs to form the lesson. This will occur if native language subtitles are not available for the video.
Kings and Generals English Civil War translated to Finnish
for 1.28
→ Added basic progress menu
→ Added video errors display log
1.27
→ Added Korean Endings support for combined phrases. (If these characters are at end of subtitle phrase it line breaks. You can add/remove from this list in the UI as required.)
→ 다,요,죠,세요,나,네,네요,든지,으세요,이세요,ㄹ까요,을까요,는데요,은데요,자,는다,은다,라,로,냐,니,너라,。
→ Made a temporary fix of removing videoURL and originalRUL from lesson import to workaround current server error while importing to LingQ.
→ No change to premium script will just wait until the server error is cleared up.
For the Youtube tools, I can’t seem to get the Login to LingQ button to ever change to anything else, regardless of whether I’m logged in or not. (See image.) This means the add course and transcription features are not really accessible to me. I’m in Chrome.
With the Youtube import bug persisting i’ve decided to make changes to the premium version of the script.
→ Restructured the import, now Imports basic details and repatches Youtube information after creation.
→ Imports will function like before, with Youtube player integration in the LingQ lesson.
→ For Librarians: → This change means we are unable to import the mp3 and I’ve had to remove the transcribe ability from this addon until the issue has been fixed by LingQ.