Open-source adoption teardown

Speech-to-Speech:
anatomy of a spike

huggingface/speech-to-speech went from 4,851 stars to 12,847 in eight weeks. Here is what actually moved it, how much of it is real, and why nobody in ML research is talking about it.

Data pulled 25 Aug 2026 Window: 2024-08-07 → 2026-08-25 Sources: GitHub API · Trendshift · PyPI · 989 forker profiles
The short answer

The project stopped being a research demo and became an API-compatibility layer. In spring 2026 it added a self-hosted server that speaks OpenAI's Realtime protocol. That turns it into a one-line URL swap for anyone who already built on OpenAI Realtime and wants to stop paying for it or stop sending audio to a third party. Zero switching cost is the product.

Two events converted that into numbers. A Hugging Face × Cerebras co-marketing post on 1 July, and then GitHub Trending, where it reached #1 overall on 30 July. 62% of all stars this project has ever received arrived in the eight weeks after 26 June.

Roughly a third of the recent forks are not real people. And the durable usage lift is far smaller than the star curve suggests: pip installs settled at +61% over the pre-spike baseline while stars rose 165%.

Your sphere is quiet because there is nothing in it for your sphere. No model, no paper, no benchmark, no new architecture. It is a cascade, and the research conversation moved to end-to-end full-duplex speech LMs two years ago. The people using it are freelancers, indie voice-agent startups, Windows and Mac desktop builders, and 9,000+ Reachy Mini owners.

12,847stars, 25 Aug
7,996of them since 26 Jun
~15kpip installs / month
9,000+robots in production
87%of forks never touched
01

The curve has two engines, not one

For 22 months this repo was flat. It launched in August 2024 with a burst (~3,000 stars in six weeks), then decayed to roughly 100 stars a month and stayed there through May 2026. Then two separate things happened three weeks apart.

Stars added per day
26 June – 25 August 2026. Source: Trendshift daily snapshots.
Engine A (1–11 Jul): the Cerebras launch post plus a rewritten README. ~1,200 stars, peaks at #3 on GitHub Trending for Python. Engine B (27 Jul – 12 Aug): Trending itself. #1 for Python on 29 July, #1 overall on 30 July. ~5,500 stars, peaking at 1,074 in a single day.
22 months of work vs. eight weeks of distribution
Stars accumulated, two eras.
The repo shipped its most important feature, the Realtime-compatible server, in April 2026, and nothing happened for three months. The feature did not move the number; the distribution did.
02

What actually happened, in order

The interesting part is that the technical work and the popularity are separated by a full quarter. The project was rebuilt between February and June, and discovered in July.

Aug 2024
Launch as "an open-sourced, modular GPT-4o"
A research-flavoured demo. ~3,000 stars in six weeks, one small Hacker News post, then a long decline.
Sep 2024 – Jan 2026
Effectively dormant
17 months with fewer than 30 issues and PRs combined. Zero commits in January 2026.
6 Feb 2026
Restart
A catch-up "2025" release is cut, and PR volume goes from 0 to 15/month, then 22, then 41. One maintainer, Andrés Marafioti, does most of it.
10 Mar – 7 Apr 2026
The pivot: OpenAI Realtime Server API support (PR #195)
The repo stops being a pipeline you import and becomes a server you point an existing client at. Everything after this is protocol-conformance work: session events, response lifecycle, content indices, cancellation semantics, WebRTC.
4 May 2026
First PyPI release
pip install speech-to-speech. Before this you had to clone. Installs run ~70/day.
27 May 2026
"Reachy Mini goes fully local"
The HF robot's conversation backend moves off the cloud onto this library. This is where the production credibility comes from, and where a lot of the bug reports come from too.
1 Jul 2026
Hugging Face × Cerebras: Gemma 4 for real-time voice
A partner launch with a quotable stack (Nvidia Parakeet → Gemma 4 on Cerebras → Qwen3-TTS), a quotable number (1,851 tok/s, "35× a GPU endpoint") and a quotable proof point (9,000+ robots). Picked up by tech press. Stars go 2/day → 161/day.
3 Jul 2026
The README is rewritten
Headline becomes "Build voice agents with open-source models," with an animated GIF of an OpenAI Realtime client having its endpoint swapped. The pitch stops being about speech and starts being about substitution.
9–12 Jul 2026
A fork farm arrives
179 forks in four days, at a fork-to-star ratio of 0.70 (normal is 0.10). 62% of those accounts no longer exist. See §04.
26 Jul – 1 Aug 2026
GitHub Trending, #1 overall
Python #6 → #2 → #1; overall #6 → #4 → #1 on 30 July. ~5,500 stars in eight days. This is the flywheel: trending produces stars, stars produce trending.
Aug 2026
The long tail
Stars decay to ~30/day. But pip installs settle at roughly 1.6× the pre-spike baseline, and issue volume from outside users more than doubles, the first sign of real users.
03

The wedge: substitution, not speech

Nothing in this repo is a new capability. Every component is someone else's model. What it sells is the removal of a decision.

The value proposition compresses to four lines in a terminal:

This is why the 2026 engineering effort looks the way it does. Sorting the year's 355 issues and PRs by topic, the largest clusters are backend plumbing and protocol conformance, not modelling:

2026 issue & PR topicItemsWhat it tells you
STT backends79Whisper, Parakeet, Paraformer, MLX. Mostly crashes and language detection
Realtime / OpenAI compatibility76Event ordering, lifecycle, content indices, WebRTC. The actual product.
TTS backends71Qwen3-TTS, Kokoro, Pocket TTS, ChatTTS, OmniVoice, Supertonic
LLM backends66Tool calls, Chat Completions vs Responses API, local servers
Latency & turn-taking36Smart Turn v3.2, speculative STT/LLM, barge-in, interruption
Install & platform36Windows wheels, CUDA versions, macOS/MLX, numpy conflicts
Languages / i18n21Non-English turns failing silently

Multi-label; an item can appear in more than one row. The genuinely hard, genuinely novel work here is in turn-taking and cancellation semantics: deciding whether a pause is the end of a sentence or the middle of a thought, and unwinding a half-spoken response when the user interrupts. That work produces no paper.

04

How much of this is real

Three independent checks, and they disagree with each other by a lot.

Check 1: a third of recent forks come from accounts that are gone or fake

Of 1,179 forks since 26 June, 189 (16%) were made by accounts that no longer exist: deleted or suspended by GitHub in the weeks since. Of the 989 that survive, another 191 match a farm pattern: created in 2026, zero followers, a FirstnameLastname#### login, no company, and bios like "Here for the commits" attached to invented locations ("Ramirezville", "Motala, Mexico").

Forks per day, by whether the account still exists and looks human
26 June – 25 August 2026.
Plausible accounts Deleted, suspended, or farm-pattern
The 9–12 July burst is almost entirely inauthentic: on 10 July the repo took 117 forks against 167 stars, a ratio of 0.70 where this repo normally runs 0.10–0.15. The late-July wave is a different animal. Ratio back to 0.08, farm share down to 15–20%. That one is real people.

Check 2: 87% of forks are never touched

Across all 1,757 forks, only 222 were ever pushed to after creation. For forks made since 1 July the figure is 9%; for the 2024 cohort it was 18%. Forks here are bookmarks, not work. Only 54 forks have attracted a star of their own, and the top two are from 2024.

Check 3: installs tell a much more modest story than stars

PyPI downloads per day (mirrors excluded)
4 May – 24 August 2026.
Pre-spike baseline (16 Jun – 15 Jul): 215/day. Peak week: 621/day. Settled (13–24 Aug): 347/day. The spike added 165% to the star count and 61% to the install rate.
MetricBeforePeakNowDurable lift
Stars (cumulative)4,8511,074/day12,847+165%
pip installs/day215621347+61%
Issues/month from outside the 3 core devs~211+450%
PRs/month from outside contributors~336+1,000%

The last two rows are the ones I would trust most. Filing a bug with a stack trace, or opening a PR, costs real effort. Outside-filed issues ran at 1–3 a month through June, then 11 in July and 11 in the first 25 days of August. Outside PRs went from 2–4 a month to 29 and 36. That is a ten-fold jump in people who ran it, hit something, and cared enough to write it up. A much better signal than the star curve, and much smaller than it.

05

Is 62% normal? No. Here is the baseline.

I ran the identical audit on nine other repositories over the identical window: every fork created between 26 June and 25 August 2026, every owner account resolved through the GitHub GraphQL API, the same farm heuristic. The reference set mixes direct peers, a Hugging Face control, and four repos that were themselves trending this summer.

Share of fork owners that are gone or look synthetic
Forks created 26 Jun – 25 Aug 2026. Same method, same window, all ten repos.
Account deleted or suspended since forking Still exists, matches farm pattern
The reference band is 4–14%. speech-to-speech is at 32%. Being popular does not do this on its own: deepseek-harness took 4,000 forks in the same window and omarchy 807, at 12% and 4%.
RepositoryStarsForks in windowOwner goneFarm patternWorst single day
huggingface/speech-to-speech12,8511,17916.0%16.2%92% (10 Jul, n=116)
Raphire/Win11Debloat56,1774485.6%8.0%29% (14 Jul, n=79)
k2-fsa/sherpa-onnx14,3771524.6%8.6%
deepseek-ai/deepseek-harness194,1884,0001.9%10.5%16% (22 Aug, n=647)
livekit/agents13,1613735.9%5.1%20% (23 Jul, n=10)
kyutai-labs/moshi10,941533.8%5.7%
pipecat-ai/pipecat14,6862953.7%4.4%10% (21 Jul, n=10)
bilawalsidhu/gods-eye-view2,3455181.2%6.8%8% (25 Aug, n=420)
huggingface/trl19,1531524.6%3.3%
basecamp/omarchy30,7188071.1%2.7%11% (18 Aug, n=45)

"Worst single day" only counts days with 10+ forks. Nothing in the reference set comes near 92%. Narrowing to the identical fortnight (forks created 1–15 July 2026, so every account has had the same six weeks to be caught), the spread is: speech-to-speech 58%, Win11Debloat 20%, omarchy 19%, moshi 18%, livekit 14%, sherpa-onnx 12%, gods-eye-view 8%, pipecat 5%, trl 3%.

The obvious objection: older accounts have had longer to be deleted

True, and it does not rescue the number. Run the same check on this repo's own older fork cohorts, which have had far longer to accumulate deletions:

Fork cohortOwnersAgeAccount gone today
Aug–Dec 2024 (the original launch)357~2 years5.9%
All of 2025109~1 year1.8%
Jan–May 2026993–8 months14.1%
Since 26 Jun 20261,179< 2 months16.0%

Two years of attrition on the 2024 cohort produced 5.9%. Eight weeks produced 16%. Deletion rate here is not a function of time; it is a function of who showed up. (The Jan–May 2026 row is 14 accounts out of 99, too small to read anything into.)

06

Can you tell whether GitHub stars are real?

Directly, as of today: no. I checked all three routes and every one of them is closed. Everything below is a proxy, and it is worth knowing which proxies still work.

The three dead ends

Star events in the public GitHub event archive, by month
Both series indexed to January 2026 = 100, so the shapes are comparable. Source: the ClickHouse public github_events dataset.
WatchEvent (a star) PushEvent (a commit push)
Stars in the public feed fell from 2.96M in January 2026 to 311k in June, while pushes over the same months went up, 61M to 95M. So this is not the archive rotting. Fork, pull-request and issue events collapsed alongside stars; push, which carries no third-party social signal, did not. An hourly archive file from 30 July 2026, this repo's biggest star day with 906 of them, contains 34 star events worldwide.

The practical consequence: nobody can currently audit a star list, and any tool that claims to score "star authenticity" is either running a proxy like the one below or serving you numbers from before spring 2026.

The four proxies that still work

What this method cannot tell you

07

The pattern has a name, and a literature

Fake GitHub engagement has been a measured market since about 2022. The 10 July burst matches its fingerprint closely enough that the research reads like a description of it, with one interesting difference.

What the research says

The reference work is "Six Million (Suspected) Fake Stars in GitHub" (Carnegie Mellon, Socket and NC State, ICSE 2026, arXiv:2412.13459). Their tool, StarScout, scanned 20 TB of GitHub metadata: 6.7 billion events and 326 million stars from 2019 to 2024. The findings that bear on this case:

What these particular accounts look like

I pulled the complete public repository list for the 47 farm-pattern accounts from the 9–12 July burst that GitHub has not deleted yet. The forensics are unusually clean:

That last point is the interesting difference from the literature. StarScout's strongest detector is a lockstep signature: groups of accounts hitting the same set of repositories inside a short window. Scattering the noise forks across unrelated evergreen projects breaks that signal while keeping one common target. What still gives the batch away is timing, not co-occurrence: 120 events in 48 hours from accounts created nine days earlier, which then went silent forever.

Which explanation fits

Two readings are available. Either someone bought promotion for this repository, or an account farm used the day's hot repository as filler while ageing its inventory. Three pieces of evidence point at the second:

So the most likely story is not that anyone promoted this project. It is that a farm needed something popular to point 180 disposable accounts at on 10 July, and a repository sitting at #3 on Python Trending was the obvious choice. The maintainers got nothing out of it: the fork counter moved, the star curve barely did, and GitHub deleted 62% of the accounts within six weeks.

This is also the background against which 2026 open source operates more generally. A maintainer survey published in March 2026 found that after inserting a marker instruction into contributing guidelines, 21 of 40 incoming pull requests self-identified as bot-generated within a day, with the author estimating the true share nearer 70%. Fork farms are the quiet end of the same problem.

08

Does the issue tracker match the star count?

Not on volume. On trajectory and on quality, yes. I pulled every issue and pull request from the last twelve months for this repo and eight references, split maintainers from outsiders, and normalised by stars. Three separate things come out of it, and they do not all point the same way.

1. Volume: four to seven times below comparable live projects

Outside issues and pull requests per 1,000 stars per month
July and August 2026 only, so the comparison uses the same two months for everyone. "Outside" excludes each project's three most prolific PR authors, and all bots.
Two clusters. The live platforms sit at 4 to 20. The lightly maintained releases sit near zero: silero-vad 0.45, moshi 0.23, faster-whisper 0.16, fastrtc 0. speech-to-speech is at 2.92, at the bottom of the live group. For a repo shipping 295 commits a month, that is a thin tracker.

Over a full year the gap is starker. speech-to-speech drew 70 distinct outside people. pipecat, at a nearly identical star count, drew 635. livekit/agents drew 1,122. That works out to 184 stars per participant for this repo against 23 for pipecat, 12 for livekit and 37 for trl. On that measure it keeps company with faster-whisper (302) and moshi (267), which are finished artefacts rather than active products.

2. Trajectory: it is the only one accelerating

The volume number is unfair on its own, because 62% of the stars are eight weeks old and engagement lags attention. Measured against each project's own twelve-month baseline, the July and August rate is:

RepositoryStarsOutside items, Jul+AugPer 1k stars/movs own 12-mo average
livekit/agents13,16153620.41.2×
pipecat-ai/pipecat14,68634511.81.2×
huggingface/trl19,1542907.61.3×
k2-fsa/sherpa-onnx14,3771194.11.0×
huggingface/speech-to-speech12,852752.94.4×
snakers4/silero-vad10,05190.450.8×
kyutai-labs/moshi10,94150.230.7×
SYSTRAN/faster-whisper25,07380.160.5×
gradio-app/fastrtc4,62200.000.0×

Every other project in the set is flat or declining against its own baseline. This one is running at 4.4 times its twelve-month average. The spike did convert into participation. It is converting from a very low base, and it has not arrived yet.

3. Composition: this part really is abnormal

Share of issues opened by the project's own core team
Last 12 months. Core team defined as each repo's three most prolific PR authors.
Six of the nine sit below 4%. An issue tracker is normally where users go. Here, three out of five issues are written by the maintainers for themselves, most of them opened and closed inside a day. It is a work queue with a public URL, and it is the clearest fingerprint of the agent-driven development described in §11.

The consequence is that the raw issue count overstates community. Of the 355 issues and PRs filed in 2026, only about a third came from outside the three core developers. And of the 71 outside people in the last year, 51 of them (72%) contributed exactly once. Nine have contributed three or more times.

4. But what does arrive is real work

This is the part that argues against writing the whole wave off. Outside pull requests opened since 1 July, with each project's own top-three PR authors excluded:

RepositoryOutside PRsMergedClosed unmergedMedian size
k2-fsa/sherpa-onnx5569%4%
livekit/agents40744%13%
pipecat-ai/pipecat25442%26%178 lines
huggingface/speech-to-speech6540%34%115 lines
huggingface/trl22619%39%

A 40% merge rate puts it squarely with pipecat and livekit. The submissions are substantive: only 9% change fewer than ten lines and 42% change more than 200, against 6% and 43% for pipecat. These are not typo drive-bys or the AI-generated list-submission PRs that flooded maintainers earlier in 2026. They are backend ports, MLX crash fixes, language-detection bugs and protocol conformance work.

Responsiveness is mid-pack too: 26% of outside issues get no reply at all (livekit 22%, pipecat 17%, trl 19%, silero-vad 39%, fastrtc 46%), the median outside issue closes in about ten days, and 32% are still open. Nobody is being ignored.

What the tracker says

The star count says major platform. The tracker says a fast-moving project with a small, brand-new, genuine community: roughly a fifth of the participation a pipecat or a livekit gets at the same star count, but the only one in the set that is growing, with contribution quality indistinguishable from theirs.

It is the same gap that shows up between stars and pip installs. 12,851 stars, ~15,000 installs a month, 70 outside people a year, one dominant maintainer. Every metric that costs the participant something lands an order of magnitude below the one that costs nothing.

09

Who is actually using it

I profiled all 989 reachable accounts that forked the repo since July, and all 69 non-core people who filed an issue or PR in 2026. The two groups look nothing alike, and neither one looks like an ML research crowd.

Where the forkers are
201 of 989 accounts declared a resolvable location. Location is self-reported and optional; treat as indicative.
India, China and the US are 43% of the resolvable total. This is the global app-developer distribution, not the ML-lab distribution. The latter would be far more US/EU-weighted.
What they install it on
PyPI downloads by reported OS, all time.
60% of installs are Windows or macOS. A server-side inference workload does not look like this. People are running voice assistants on their own laptops.

The people who actually engage

The 69 outside contributors and issue-filers of 2026, by what their profiles say they do:

The downstream code that references it is the same story: a Nova Sonic sample from aws-samples, translation demos, hackathon projects, a bilingual voice app, several Japanese and Chinese local-assistant forks. Applications, not research.

10

Why your sphere is silent

This is not an oversight on anyone's part. There is a structural reason for every part of the gap.

1. There is nothing to cite

No model, no paper, no benchmark, no leaderboard entry, no ablation. A research community's attention is allocated by citable artefacts, and this repo produces none. The one adjacent measurement effort (Real World VoiceEQ, 15 July) is a separate HF project.

2. It is a cascade, and cascades are settled science

VAD → STT → LLM → TTS was the 2023 answer. The research conversation moved to end-to-end full-duplex speech LMs: Moshi, Qwen3-Omni, PersonaPlex. For comparison: a blog post about running Nvidia PersonaPlex 7B full-duplex on Apple Silicon got 374 points on Hacker News in March 2026. The best this repo ever did on HN was 27 points, in September 2024. Your sphere is talking about speech-to-speech, just about the architecture this project deliberately isn't.

The project says so itself, in the Reachy Mini post: "Cascades are the most flexible option in the open-source landscape today, and with the right pieces they're also the fastest." That is a product argument, and a correct one, and it is uninteresting to a researcher.

3. Its actual innovation lives in unglamorous places

Smart Turn v3.2 endpointing, speculative STT and LLM execution during a user's turn, reversible pre-confirmation audio ducking for barge-in, transactional cancellation when a response is interrupted mid-sentence. These are genuinely hard and genuinely novel engineering problems. None of them are publishable, and none of them are demoable in a tweet.

4. The pitch is aimed at a different buyer

"Drop-in replacement for OpenAI Realtime," "no API keys," "runs on your laptop," "9,000 robots in production." Those are procurement arguments. They land with someone who has a voice product and an invoice, not with someone who has a research question.

5. Its distribution channels are ones you don't read

The July surge came through GitHub Trending, a partner press release, and a long tail of SEO content farms: explainx.ai, coddykit, drose.io, theresanaiforthat, Medium reposts, Chinese tutorial sites like txtmix and 17you, a DeepWiki page. Not arXiv, not research Twitter, not NeurIPS hallways. There was no Hacker News front page and no viral thread; there did not need to be.

6. There is almost nobody to hear from

782 of the repo's commits are from one person. The second contributor has 53. There is no lab, no co-author list, no six-person team each posting about their piece. A project with one maintainer generates roughly one maintainer's worth of discourse.

11

A note on how it is built

Worth flagging because it explains the throughput. In August 2026 alone the repo took 295 commits, with a test suite of 1,264 tests, almost all driven by one maintainer. Issue and PR descriptions across both the core team and outside contributors follow an identical machine-generated shape: a Summary section of terse bullets, then a Testing section reporting exact pass counts, ruff, mypy file counts, and twine checks. One commit is literally titled [codex] Fix TTS benchmark input message.

This is a coding-agent-run repository, and it is worth studying as one. It is how a single engineer keeps protocol parity with a moving OpenAI spec across six STT backends, seven TTS backends and three transports. It also explains why the issue tracker reads as a task queue rather than a conversation: most items are opened and closed by the same person within a day.

12

What I would watch