10 ms·
Show HN: Instantly listen to any URL
- foxfluff 5y ago"No video with supported format and MIME type found." Apparently it's serving zero-byte mp3s?
- soheil 5y agoIf you want a bookmark: javascript:audio=document.createElement('audio');audio.controls=true;audio.autoplay=true;audio.src='https://per.quest/'+document.location.href;audio.style='position:fixed;right:0;top:0;height:revert;z-index:10000;';document.body.appendChild(audio);
- ASTP001 5y agoYour code did not work for me, here is what worked: javascript:(function(){audio=document.createElement('audio');audio.controls=true;audio.autoplay=true;audio.src='https://per.quest/'+document.location.href; https://per.quest/'+document.location.href; audio.style='position:fixed;right:0;top:0;height:revert;z-index:10000;';document.body.appendChild(audio);})();
- darkstar999 5y agoI also had to engage in an arms race with z-index:999999 to keep it above a website's sticky header.
- tantalor 5y ago"bookmarklet"
- deleted 5y ago[deleted]
- legrande 5y agoThis works perfectly: https://jamesclear.com/five-step-creative-process https://jamesclear.com/five-step-creative-process
- spapas82 5y agoVery useful for me to download the filfre articles as mp3 so I will be able to listen to them off line! Thank you!
- donclark 5y agoNeat! Could you add speed controls, a download audio option, download audio as mp3/webm/etc, and options for different voices? Why is there no donation option for this project? Why not add a email signup for updates/news? What are your options for micro monetization?
- croes 5y agoA download option could lead to copyright violation claims.
- dreadlordbone 5y agoThat makes zero sense. It is already being downloaded to the browser.
- croes 5y agoYou mean into the local cache like youtube videos? Try making a youtube to mp3 site and wait for the content industry to recognize it.
- hopesthoughts 5y agoAlso, if you don't do anything with it afterwards, what kind of claims does anyone have?
- anonymouse008 5y agoRight?! This is honestly a service I would pay for and it’s… up for free? There must be some type of cost on their end. Heck I’m happy to invest!
- debarshri 5y agoThis is one of the best ideas I have seen this year. This is beautiful.
- eyelidlessness 5y agoThis is cool! I recently tried to use VoiceOver on my iPhone and it’s… astonishingly difficult to use for just text to speech! One minor request: I realize the form page itself is very minimal, but this would be much more usable on a phone if you set the font-size of the input to at least 16px, and a reasonable viewport meta tag eg `<meta name="viewport" content="width=device-width, initial-scale=1">`
- 3pt14159 5y agoThe bigger the better for this type of page, given that some people that use it may have faulty eyesight.
- fairytale 5y agoI don't think that the ", initial-scale=1" would be necessary. Nowadays, <meta name="viewport" content="width=device-width"> works just fine.
- chrismorgan 5y agoNot certain, I hear some saying it still has an effect on at least iOS Safari <https://news.ycombinator.com/item?id=25629377 https://news.ycombinator.com/item?id=25629377>, though I’m not sure whether that’s true of current iOS Safari any more, or just slightly older versions that are still in use. I’d love to have someone test carefully and spell out exactly what it achieves, and for what versions.
- hopesthoughts 5y agoSo yeah I use VoiceOver to navigate my phone on a daily basis, but I'm not a fan of reading things with it. If I'm going on a trip or something, I'll put the Kindle app on my phone. Otherwise I use NVDA on my desktop for that. It's much more efficient for reading long things.
- sntran 5y agoThis is timing. I was just looking for a solution for a friend who has very bad eyesight due to accident. They want to be able to listen to news articles and such. It would be nice if we can choose languages other than English.
- hopesthoughts 5y agoThey may want to look into using a screen reader to avoid eye strain, or headaches depending on what their condition is. Everything has one built-in at this point. Windows has Narrator, the Mac and iPhone both have VoiceOver, and Android uses Talkback. For something extra, and more advanced, I definitely recommend NVDA. https://www.nvaccess.org/ https://www.nvaccess.org/
- indigodaddy 5y agoVery cool but only seemed to catch the first couple of sentences or paragraph for my test URL.. URL used: https://www.bbc.com/news/world-asia-india-43581122 https://www.bbc.com/news/world-asia-india-43581122
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- diplodocusaur 5y agohow is this made?
- unraveller 5y agoThe better sounding ones use a paid service API, you can set one up yourself. https://github.com/waldenn/playthis.link https://github.com/waldenn/playthis.link
- jcun4128 5y agoscraper gets data, send it to a TTS server or it could be just using browser's TTS feature edit: tried it out it makes an MP3 file so yeah, one way to do it is with a service like AWS Polly that is not free.
- freediver 5y agoStep 1. Page to Text (Eg. Mozilla readability.js) Step 2. Text to Speech (eg. Mozilla DeepVoice) Both libraries open-source and free.
- deleted 5y ago[deleted]
- hemloc_io 5y agoVery cool! I've made a small prototype of something like this before, but what's always gotten me is the limitations of text to speech. Hopefully some point soon we will have options for more natural speech.
- hopesthoughts 5y agoWhat people who use TTS on a regular basis usually want is something that gets the job done quickly. This is why natural-sounding TTS isn't generally a good thing. That being said, there are some people who like it. I'm definitely not one of those people.
- flanbiscuit 5y agoOnce in a while I use the speech feature of Chrome on my MacOS to have it read articles to me while I work. It's clunky though, it only works (AFAIK) on highlighted text which gets annoying on really long articles, and there's no pause so if I want to "pause" I need to stop it and then redo the highlight starting from where I paused (again, annoying with long articles). I think I'll be using your service from now on! Browser/OS agnostic, no highlighting, and pausing! Nice to haves: - ability to pick a different voice - playback speed controls - maybe load the original article in an iframe below the player to be able to follow along
- soheil 5y agoAdded speed controls by hovering the mouse over the player: javascript:audio=document.createElement('audio');audio.controls=true;audio.autoplay=true;audio.src='https://per.quest/'+document.location.href;audio.style='position:fixed;right:0;top:0;height:revert;z-index:10000;';audio.onmousemove=(e)=>{audio.playbackRate=e.layerX>150?(e.layerX>250?0.55:0.75):(e.layerX<10?1.3:1);};document.body.appendChild(audio);
- smbv 5y agoVery nice! I tried it out on one of my articles[0] and it worked very well. The only issue I had was that the code samples were spoken. Perhaps ignore <pre> sections? [0] https://sambhav.saggis.com/en/blog/hashing-data-with-chess https://sambhav.saggis.com/en/blog/hashing-data-with-chess
- stcorbett 5y agoWow, thanks, I have tried hacking together something that would work like this for playing text posts while I'm driving or working out. Awesome! :)
- lambdaba 5y agocommand-line version: curl -L https://per.quest/$URL | mpv - # or aplay etc.
- soheil 5y agoffplay https://per.quest/$URL
- shorting24x7 5y agoGreat free service by the OP btw. We have a feature similar to this in https://narrationbox.com https://narrationbox.com if you are willing to sign up. Almost all URLs work plus we have more than 300 voices to choose from. Disclosure: I am a cofounder.
- egfx 5y agoI became aware of a chrome extension that does this. Is there anything that the extension does that this can’t do? https://chrome.google.com/webstore/detail/speechify-for-chrome/ljflmlehinmoeknoonhibbjpldiijjmm?hl=en-US https://chrome.google.com/webstore/detail/speechify-for-chro...
- yunusabd 5y agoIt costs money? Also isn't your question kinda backwards?
- donatj 5y agoSo this had the very useful feature of finding two separate typos in a post that I had spent many hours proofreading. I'll need to remember this.
- fairytale 5y agoI feel like this is a great idea, honestly. But in my opinion I think that you should make the website fully work without the use of client-side JavaScript. Not that I dislike JavaScript, in fact, I love it. And it's great! But there are several reasons I think that this would make sense doing. Here is a detailed explanation for "why": The website already works without the use of client-side JavaScript, only not the index. If you for example go to: https://per.quest/https://example.com https://per.quest/https://example.com it will work just fine and redirect you to the generated MP3 file. But if you put https://example.com https://example.com inside of that input on the website index and have JavaScript disabled it simply won't work. There also is no notice that it does not work without JavaScript enabled. The solution to this is simple and I think that it would not be hard to change the way you are getting the user given URL from your back-end. What I think would make more sense doing is to just make it work using a URL query parameter. For example: https://per.quest?url=https://example.com https://per.quest?url=https://example.com ... which would then allow you to make use of HTML forms, and simply add the "name" attribute to the input with the value set to "url". So, this would then work in both cases: when the user hit enter and/or pressed a button inside of the form. Hope that you will agree with me on this!
- eat_veggies 5y agoIs this somehow using the waybackmachine to scrape pages? When I try some of the classic ssrf paths like file:/// or http://localhost:8080 http://localhost:8080, I get audio about the internet archive. When I put in https://localhost:443 https://localhost:443, I get audio for the default nginx page, which matches what the internet archive has for that url: https://web.archive.org/web/20210620003533/http://localhost/ https://web.archive.org/web/20210620003533/http://localhost/ But putting http://localhost http://localhost returns the audio from per.quest's home page.
- busymom0 5y agoNot sure about OP but I just implemented this in my Hacker News android client (thanks for the idea OP). This is how I implemented it. I had already achieved article to "reader mode" extraction by heavily customizing the Kotlin port of Mozilla‘s Readability: https://github.com/dankito/Readability4J https://github.com/dankito/Readability4J From the extracted "reader mode" text, I had to do further extraction to get rid of things like image captions, author names, article publish timestamps etc. Also links had to be removed to not let the TTS engine speaking out links. Then I pass the text via Android's TextToSpeech library and it works very well: fun trySpeaking(str:String){ fun speak(){ tts?.speak(str, TextToSpeech.QUEUE_FLUSH, null, null) } tts?.also { it.stop() speak() } ?: run { tts = TextToSpeech(appContext) { status -> println("Speak: $status") if (status == TextToSpeech.SUCCESS) { speak() } }.apply { language = Locale.US } } } If someone wants to do a tl;dr on the article text, they could pass it through SMMRY api (which the Reddit's TL;DR bot uses): https://smmry.com https://smmry.com On Desktop, one can do text to speech conversion using mozilla TTS: https://github.com/mozilla/TTS https://github.com/mozilla/TTS Or Amazon Polly: https://aws.amazon.com/polly/ https://aws.amazon.com/polly/ For anyone wanting to give it a try, this "article to audio" will be available in tomorrow's update in my app. The reader mode is already available: https://play.google.com/store/apps/details?id=com.pranapps.hack https://play.google.com/store/apps/details?id=com.pranapps.h... Full disclaimer: I am the developer of the app and the Android version is brand new (released at 4am this morning).
- arthurcolle 5y agostallman.org sounds even better read aloud
- kumarm 5y agoNice. You can do the same in our iOS App: https://apps.apple.com/us/app/id1535903742 https://apps.apple.com/us/app/id1535903742 Browse to any page and click on "Listen Now" in the app (including logged in page)
- sarajevo 5y agoYour app is great and has been doing the trick for me... It is reliable and straightforward... Thanks :-)
- axegon_ 5y agoI have something pretty similar that I built some time ago for personal use: listen to articles while I am working on things and can't dedicate my attention to anything else. I've been wondering if I should open source it(shove it all into a docker container that people can use locally). I would have loved to be able to publish it as a service but two things are stopping me: 1 is cost to run this and 2 is potential licensing issues I might face with it. But open source... And it runs pretty smoothly on a CPU(albeit a 14-core xeon and an 11-th gen i7).
- yunusabd 5y agoSame here, we built a scraper to (more or less) intelligently extract text from websites, I think adding TTS to it would be trivial. I'm guessing the hardware requirements are for the TTS engine? Could the Web Speech API be used to generate the audio locally to bring down costs? Even though you'd lose support for IE and FF.
- axegon_ 5y agoExactly what I did, simple web interface I run inside rambox along with all chats and email clients and whatnot, paste a url and it scrapes it and generates the audio to be played in browser(rambox in this case). OK, I do keep a copy of the audio and the text and some other metadata but that's completely optional. As far as tts, while the cloud speech is unmatched, it's still proprietary and not free. However there are plenty of really good open source solutions which work extremely well(sample from the one I'm using: https://storage.googleapis.com/adocs_g/example.wav https://storage.googleapis.com/adocs_g/example.wav). I use it all the time and in terms of resource usage it's completely unnoticeable. But again, I'm the sole user and on pretty powerful hardware so...
- yunusabd 5y agoThat sample does sound pretty convincing. Just out of curiosity, that spec'd out machine is sitting idle most of the time, only to generate some TTS occasionally?
- SMAAART 5y agothis is pretty cool. Moore's law, I can't wait what it will be like in 18 months.
- TroisM 5y agoI tried this URL to try to create an audio book but no luck (http://31.42.184.140/main/339000/a6671bdbea139f784cd985a11ab6d10c/Isaac%20asimov%20-%20The%20Collapsing%20Universe_%20The%20Story%20of%20Black%20Holes-Pocket%20Books%20%281978%29.djvu http://31.42.184.140/main/339000/a6671bdbea139f784cd985a11ab...) got this error: https://i.imgur.com/bESQdJp.png https://i.imgur.com/bESQdJp.png
- hopesthoughts 5y agoWhat if I wanted to listen to say a dynamically updating web page? Of course my screen reader will do that for me, but I'd like to try that with the service just for kicks.
- getwhatelse 5y agoA browser plugin with this feature would be awesome :)
- ekulianova 5y agoWorked quite well with an article. Good job!