Command-line tool to convert webpages of any size to speech. Uses
tts-cli and an automated Chrome browser behind the scenes.
You can then install the package globally:
$ npm install web-tts -g
$ web-tts commandfile outputfile [options]
# Reads commands from commands.txt and saves the speech in test.mp3 $ web-tts commands.txt test.mp3 # Sets the browser window to 3000 x 2000 pixels (default is 2000 x 1000) $ web-tts commands.txt test.mp3 --width 3000 --height 2000 # Any additional options are passed to tts-cli as-is $ web-tts commands.txt test.mp3 --engine neural
commandfileis a file that describes how to crawl and scrape the webpages. See the command file docs for details.
outfileis the filename to save the audio to.
--debug [true|false]-- Shows debugging info: the browser console logs are printed, and the devtools are opened when not headless (default
--delay TIME-- Amount of delay between executing browser commands (in milliseconds) (default
--headless [true|false]-- Runs the browser hidden in the background (
true, the default) or opens it up on the desktop (
--height SIZE-- Height of the browser in pixels (default
--width SIZE-- Width of the browser in pixels (default
See the tts-cli docs for text-to-speech options.
- Run the tool with
--debugto see the browser logs. (Note that there will likely be a lot of irrelevant logs included.)
- Run the tool with
--headless falseand, if needed, a delay (e.g.
--delay 250) to get a visual of what's happening in the browser.
Although functional, this tool is still unfinished. Pull requests and suggestions are welcome. Create a new issue to report a bug or suggest a new feature.
Please add tests and maintain the existing styling when adding and updating the code. Run
npm run lint to lint the code.
Copyright 2020 Eric Heikes.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.