HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
simonw
ospeak
Python2023–2024
simonw / ospeak

ospeak

CLI tool for running text through OpenAI Text to speech

3Distinct people
4Mentions
0Explicit recommenders
170GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

CLI tool for running text through OpenAI Text to speech

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week4 dated mentions

Observed mentions: 2023-11-13 14:22:29 UTC to 2024-01-25 17:58:59 UTC. Weeks start Monday, UTC.

0122023-11-13 00:00:00 UTC to 2023-11-20 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsNov 132023-11-20 00:00:00 UTC to 2023-11-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-27 00:00:00 UTC to 2023-12-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-12-04 00:00:00 UTC to 2023-12-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-12-11 00:00:00 UTC to 2023-12-18 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-12-18 00:00:00 UTC to 2023-12-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsDec 182023-12-25 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2024-01-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-08 00:00:00 UTC to 2024-01-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-15 00:00:00 UTC to 2024-01-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-22 00:00:00 UTC to 2024-01-29 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJan 22

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Nov 132023-11-13 00:00:00 UTC2023-11-20 00:00:00 UTC110
Nov 202023-11-20 00:00:00 UTC2023-11-27 00:00:00 UTC000
Nov 272023-11-27 00:00:00 UTC2023-12-04 00:00:00 UTC000
Dec 42023-12-04 00:00:00 UTC2023-12-11 00:00:00 UTC000
Dec 112023-12-11 00:00:00 UTC2023-12-18 00:00:00 UTC202
Dec 182023-12-18 00:00:00 UTC2023-12-25 00:00:00 UTC000
Dec 252023-12-25 00:00:00 UTC2024-01-01 00:00:00 UTC000
Jan 12024-01-01 00:00:00 UTC2024-01-08 00:00:00 UTC000
Jan 82024-01-08 00:00:00 UTC2024-01-15 00:00:00 UTC000
Jan 152024-01-15 00:00:00 UTC2024-01-22 00:00:00 UTC000
Jan 222024-01-22 00:00:00 UTC2024-01-29 00:00:00 UTC101

What Hacker News says

4 sources
Big fan of Simon Willison's `llm`[1] client. We did something similar recently with our multi-modal inference server that can be called directly from the `llm` CLI (c.f. "Serving LLMs on a budget" [2]). There's also `ospeak` [3] which we'll probably try to integrate to talk to your LLM from console. Great to see tools that radically simplify the developer-experience for local LLMs/foundation models. [1] https://github.com/simonw/llm [2] https://docs.nos.run/docs/blog/serving-llms-on-a-budget.html... [3] https://github.com/simonw/ospeak
In Ollama releases Python and JavaScript Libraries
I've been gleefully exploring the intersection of LLMs and CLI utilities for a few months now - they are such a great fit for each other! The unix philosophy of piping things together is a perfect fit for how LLMs work. I've mostly been exploring this with my https://llm.datasette.io/ CLI tool, but I have a few other one-off tools as well: https://github.com/simonw/blip-caption and https://github.com/simonw/ospeak I'm puzzled that more people aren't loudly exploring this space (LLM+CLI) - it's really fun.
In Bash one-liners for LLMs
I discovered Cog a couple of years ago and I use it on dozens of my own projects now. It's a really neat thing to have around. One trick I use a lot is including the output of the "--help" command in the README files for CLI tools that I release. Here's an example: https://github.com/simonw/ospeak/blob/main/README.md#ospeak-... View source on that file and you'll see this: ## ospeak --help <!-- [[[cog import cog from ospeak import cli from click.testing import CliRunner runner = CliRunner() result = runner.invoke(cli.cli, ["--help"]) help = result.output.replace("Usage: cli", "Usage: ospeak") cog.out( "```\n{}\n```".format(help) ) ]]] --> ``` Usage: ospeak [OPTIONS] [TEXT] CLI tool for running text through OpenAI Text to speech Set the OPENAI_API_KEY environment va
Read the rest
riable to your OpenAI API key to avoid using the --token option every time. Example usage: ospeak "Everyone deserves a pelican" --voice alloy -x 1.5 Options: --version Show the version and exit. -v, --voice [alloy|echo|fable|onyx|nova|shimmer|all] Voice to use -o, --output FILE Save audio to this file on disk -x, --speed FLOAT RANGE Speed of the voice [0.25<=x<=4.0] -s, --speak Speak the text even when saving to a file --token TEXT OpenAI API key --help Show this message and exit. ``` <!-- [[[end]]] --> I can now run "cog -r README.md" any time I want to update that block of text in the README. I also have this line in my GitHub Actions test.yml workflow: https://github.com/simonw/ospeak/blob/73a449d3f006737e72e7a0... cog --check README.md That way my tests will fail if I make a change to the help and forget to update the README. I like reflecting my help output in my documentation mainly because it's a useful way to review if the help makes sense without having to actually run the command. I maintain these much larger pages using Cog in a similar way: - https://docs.datasette.io/en/stable/cli-reference.html - https://sqlite-utils.datasette.io/en/stable/cli-reference.ht... - https://llm.datasette.io/en/stable/help.html I wrote a bit more about this pattern here: https://til.simonwillison.net/python/cog-to-update-help-in-r...
In Cog: Use Python in your source files to generate pieces of code (2021)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.