[{"data":1,"prerenderedAt":428},["ShallowReactive",2],{"project-38747710":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":42,"post_text":45,"what":46,"said":89,"maker_in_thread":203,"shape":212,"grid":216,"attempts":391,"same_week":392,"maker_shows":245,"maker_hidden":420,"reader_version":421,"card":422},"38747710","Storyteller","An open-source, self-hostable synced narration platform for ebooks","title","Show HN: An open-source, self-hostable synced narration platform for ebooks","https:\u002F\u002Fsmoores.gitlab.io\u002Fstoryteller\u002F","smoores.gitlab.io","smoores",1703362318,2023,338,67,117,3109,4,"legend","productivity","ebook reader and audiobook sync","web_app",[24,25,26,27],"ebook audiobook sync","self-hosted ebook reader","epub media overlay","whispersync alternative","loved",0.353,{"positive":31,"neutral":32,"mixed":33,"critical":34},14,20,0,1,35,{"docs":37,"performance":38,"idea":39,"execution":41},{"positive":33,"critical":33},{"positive":33,"critical":34},{"positive":40,"critical":33},9,{"positive":33,"critical":33},[33,34,43,33,33,43,43,44,43,33,33,44,33,44,43,33,43,44,33,43,33,33,44,43,33,43,44,44,44,43,44,44,33,44,43,44,43,44,44,43],5,3,"Hi, I made a thing! This is by far the most work I've ever sunk into a side project; I've been working on this thing for over two years, and I'm super proud of it, even though there's still a lot more to do!\n\nStoryteller is a self-hosted platform for ebooks with synced narration. This is basically self-hosted WhisperSync, for anyone familiar with that Amazon product.\n\nIt's currently made up of two self-hostable backend systems and a mobile app for reading and listening to the books it produces. Technically it uses an open spec, EPUB 3's \"Media Overlay\", for syncing the narration, but very few ",{"problem":47,"audience":48,"pricing":47,"motivation":60,"time_to_build":69,"stack":73,"openness":86,"stage":87,"team_size":88},null,{"value":49,"source":50,"evidence":51},"People who want self-hosted, DRM-free synced ebook and audiobook reading","inferred",[52,56],{"id":53,"by":54,"text":55},"38753460","zachlatta","This looks absolutely incredible, and like something I’ve been trying to find for years! Thank you so much building this!",{"id":57,"by":58,"text":59},"38755454","chrisweekly","Awesome! Thanks for sharing and working on this! WhisperSync functionality is a game-changer; it's one of the main reasons I'm able to read so much (switching modalities several…",{"value":61,"source":62,"evidence":63},"Wanted to switch between audiobooks and their text versions, like WhisperSync","maker",[64,67],{"id":65,"by":11,"text":66},"38758854","> I've started listening to audiobooks on my commute, but I read at night. This is basically exactly why I started down this road over two years ago. I really wanted to be able…",{"id":68},"post",{"value":70,"source":62,"evidence":71},"over two years",[72],{"id":68},[74,82],{"value":75,"source":76,"evidence":77},"Whisper (via WhisperX) for transcription","commenter",[78],{"id":79,"by":80,"text":81},"38752392","DecoPerson","> Once we have individual tracks to work with, we begin transcription. This is the most resource intensive part of the process. We rely on the Whisper AI transcription model from…",{"value":83,"source":62,"evidence":84},"EPUB 3 Media Overlays",[85],{"id":68},"open_source","launched","unknown",{"praise":90,"objections":102,"requests":121,"questions":152,"alternatives":177},[91,96],{"value":92,"source":76,"evidence":93},"Fills a gap left by Whispersync; wanted for years",[94,95],{"id":53,"by":54,"text":55},{"id":57,"by":58,"text":59},{"value":97,"source":62,"evidence":98},"Good reader experience and sentence highlighting",[99],{"id":100,"by":11,"text":101},"38758785","This is true, but it really limits the ability to highlight the current sentence visually while it's being read, which is great for language learning and for reducing cognitive…",[103,114],{"value":104,"source":76,"evidence":105},"Only works with DRM-free ebooks and audiobooks",[106,110],{"id":107,"by":108,"text":109},"38753024","klakierr","This works only for drm-free ebooks and audiobooks?",{"id":111,"by":112,"text":113},"38754632","NoahKAndrews","That's what the docs say, yes",{"value":115,"source":76,"evidence":116},"Docker-only setup is hard for some users",[117],{"id":118,"by":119,"text":120},"38752181","atmosx","Good job! I'm probably going to use this. Would love to have my collection accessible from mobile. A small \"nit\". Would be great to have non-docker installation instructions…",[122,131,138,148],{"value":123,"source":62,"evidence":124},"Server-side reading progress sync",[125,128],{"id":126,"by":11,"text":127},"38758941","Not yet, but it's on the roadmap (https:\u002F\u002Fgitlab.com\u002Fsmoores\u002Fstoryteller\u002F-\u002Fissues\u002F13)! This one actually ought to be pretty straightforward; the only trick to it is making sure…",{"id":129,"by":11,"text":130},"38758773","Thanks! Server-side position syncing and integration with KOReader are both on the roadmap, actually; you're not the first one to bring this up!",{"value":132,"source":76,"evidence":133},"KOReader and Kobo integration",[134],{"id":135,"by":136,"text":137},"38754432","rpxio","I absolutely love this. However, my wife and kids all read EPUBS on kobo e-readers, so I wish we could somehow sync the last page read from kobo to Storyteller so that we could…",{"value":139,"source":76,"evidence":140},"Text-to-speech narration generation",[141,145],{"id":142,"by":143,"text":144},"38754522","mike986","Super cool project! > even though there's still a lot more to do A few have asked on this thread already, but since you're already using AI to transcibe, it would be super cool…",{"id":146,"by":11,"text":147},"38758860","It's on the list! https:\u002F\u002Fgitlab.com\u002Fsmoores\u002Fstoryteller\u002F-\u002Fissues\u002F9",{"value":149,"source":76,"evidence":150},"Non-Docker installation instructions",[151],{"id":118,"by":119,"text":120},[153,163,170],{"value":154,"source":76,"evidence":155},"How long does syncing a book take",[156,160],{"id":157,"by":158,"text":159},"38753154","r4victor","Amazing! I've made a similar ebooks-audiobooks aligner years ago: https:\u002F\u002Fgithub.com\u002Fr4victor\u002Fsyncabook. At that time, I chose to synthesize the text and align two audio…",{"id":161,"by":112,"text":162},"38754575","The docs say it's usually 1-4 hours depending on the book and the hardware: https:\u002F\u002Fsmoores.gitlab.io\u002Fstoryteller\u002Fdocs\u002Fsyncing-books The docs also have a detailed section about…",{"value":164,"source":76,"evidence":165},"Minimum hardware requirements",[166],{"id":167,"by":168,"text":169},"38771876","pseufaux","This looks awesome. I might be missing it somewhere, but what's the minimum required hardware to run something like this locally?",{"value":171,"source":76,"evidence":172},"Handling audio and text differences",[173,174],{"id":157,"by":158,"text":159},{"id":175,"by":11,"text":176},"38758837","Hello! syncabook is awesome, and indeed Storyteller does take \"the opposite\" approach when it comes to forced alignment. Others have linked to the docs, where I go into detail…",[178,189,196],{"value":179,"source":76,"evidence":180},"Audiobookshelf",[181,185],{"id":182,"by":183,"text":184},"38753068","sphars","This is really neat, it's something I hadn't thought about before. I've started listening to audiobooks on my commute, but I read at night. I currently use audiobookshelf[0] to…",{"id":186,"by":187,"text":188},"38752189","0x073","More information would be nice, a link to the iOS app or screenshots or what features the project have. Is it a ebook\u002Fa book library like audiobookshelf with sync or just sync? (…",{"value":190,"source":76,"evidence":191},"Amazon Whispersync for Voice",[192],{"id":193,"by":194,"text":195},"38759720","Infinitesimus","This has existed for a while, it's called Whispersync for Voice. Not available for all titles but it's there",{"value":197,"source":76,"evidence":198},"Prologue app",[199],{"id":200,"by":201,"text":202},"38768408","orand","As noted elsewhere in the comments, you can use Plex with the Prologue app to literally have Plex for audiobooks. But yes, it seems this will also do what you want.",{"comments":204,"answered":205,"key":206},18,6,[207,208,211],{"id":100,"text":101},{"id":209,"text":210},"38759848","There's an open ticket for languages other than English! https:\u002F\u002Fgitlab.com\u002Fsmoores\u002Fstoryteller\u002F-\u002Fissues\u002F10. If you want to take a look, please do! I don't have any contributing…",{"id":175,"text":176},{"commenters":213,"max_depth":205,"maker_replies":204,"first_comment_mins":214,"lifespan_hours":215},40,711,85,[217,219,221,225,227,230,232,236,238,239,241,244,247,248,251,252,254,257,260,261,264,267,268,269,272,275,278,282,285,289,291,293,297,300,304,306,308,313,317,319,321,323,327,328,331,335,336,339,341,343,345,347,349,352,353,356,360,364,366,369,373,377,381,382,384,385,387],[157,33,33,218,158,33],"commenter\u002Fpositive\u002Fidea",[161,33,44,220,112,33],"project\u002Fneutral\u002Fdocs",[222,33,34,223,224,33],"38757480","project\u002Fcritical\u002Fperformance","cyberax",[100,33,33,226,11,34],"project\u002Fpositive\u002Fdesign",[228,33,43,229,224,33],"38759516","project\u002Fpositive\u002Fidea",[209,33,33,231,11,34],"maker\u002Fneutral\u002Fidea",[233,33,33,234,235,33],"38762355","other\u002Fneutral\u002Fnone","yorwba",[175,33,33,237,11,34],"project\u002Fneutral\u002Fexecution",[182,34,43,229,183,33],[65,34,33,240,11,34],"maker\u002Fpositive\u002Fidea",[242,34,43,243,183,33],"38762648","project\u002Fpositive\u002Fnone",[135,245,44,246,136,33],2,"project\u002Fneutral\u002Fidea",[129,245,33,231,11,34],[249,245,43,229,250,33],"38758853","whycome",[193,245,33,234,194,33],[253,245,33,234,250,33],"38760322",[255,245,33,234,256,33],"38763058","Uvix",[258,44,33,259,11,34],"38758981","maker\u002Fpositive\u002Fnone",[186,18,44,220,187,33],[262,18,44,220,263,33],"38753190","joshstrange",[265,18,33,266,11,34],"38758957","maker\u002Fneutral\u002Fdocs",[142,43,44,246,143,33],[146,43,33,231,11,34],[270,205,43,229,271,33],"38753043","sandreas",[273,205,44,246,274,33],"38755106","vagrantJin",[276,205,33,234,277,33],"38755802","monkeywork",[279,205,33,280,281,33],"38759870","other\u002Fneutral\u002Fidea","aedocw",[283,284,43,229,224,33],"38752104",7,[286,284,33,287,288,33],"38758709","other\u002Fpositive\u002Fnone","AnyTimeTraveler",[290,284,44,246,224,33],"38759444",[292,284,33,231,11,34],"38759856",[294,295,33,280,296,33],"38780295",8,"qwerty456127",[298,40,43,229,299,33],"38752008","bberenberg",[301,40,33,302,303,33],"38752770","commenter\u002Fneutral\u002Fnone","ck_one",[305,40,33,302,299,33],"38752903",[307,40,33,266,11,34],"38758890",[309,310,44,311,312,33],"38761104",10,"project\u002Fneutral\u002Fperformance","timmb",[314,315,44,220,316,33],"38752499",11,"jupiter909",[318,315,33,266,11,34],"38758911",[57,320,43,229,58,33],12,[322,320,33,240,11,34],"38758878",[324,325,43,229,326,33],"38753786",13,"majora2007",[53,31,43,243,54,33],[329,31,33,330,11,34],"38759023","maker\u002Fneutral\u002Fnone",[332,333,44,246,334,33],"38752372",15,"roywashere",[79,333,44,237,80,33],[337,333,44,246,338,33],"38752398","tschumacher",[340,333,33,231,11,34],"38758795",[118,342,43,243,119,33],16,[344,342,33,266,11,34],"38758933",[346,342,44,311,119,33],"38761804",[167,348,44,311,168,33],17,[350,204,44,246,351,33],"38754796","causality0",[200,204,33,234,201,33],[354,204,33,355,351,33],"38776984","other\u002Fcritical\u002Fnone",[357,358,44,220,359,33],"38752295",19,"mosselman",[361,358,33,362,363,33],"38753488","commenter\u002Fneutral\u002Fidea","danparsonson",[365,32,43,243,263,33],"38753200",[367,32,33,368,11,34],"38758918","maker\u002Fneutral\u002Fdesign",[370,371,44,246,372,33],"38773156",21,"t0mk",[374,375,43,259,376,33],"38757369",22,"ZunarJ5",[378,379,44,246,380,33],"38752626",23,"grigio",[126,379,33,246,11,34],[107,383,44,246,108,33],24,[111,383,44,220,112,33],[386,383,33,246,11,34],"38758798",[388,389,43,229,390,33],"38756154",25,"snapplebobapple",[],[393,397,401,406,411,416],{"id":394,"name":395,"points":396,"category":20},"38733968","Heynote",1063,{"id":398,"name":399,"points":400,"category":20},"38787892","Rem",555,{"id":402,"name":403,"points":404,"category":405},"38772382","Whataaabout.com",235,"consumer_social",{"id":407,"name":408,"points":409,"category":410},"38717114","Talk2Arxiv",194,"learning_science",{"id":412,"name":413,"points":414,"category":415},"38730143","Emu2",153,"ai",{"id":417,"name":418,"points":419,"category":20},"38753911","Weeks of Your",145,false,"v2",{"id":423,"name":5,"line":6,"ai":420,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":424,"top":18,"kw":425,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":426,"url":9,"mix":427,"praise":92,"objection":104,"sub":21},38747710,0.35,[24,25,26,27],"0150055350030350530500350533353303535335",[31,32,33,34],1794036646626]