惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
L
LangChain Blog
A
About on SuperTechFans
M
MIT News - Artificial intelligence
B
Blog

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
GitHub - evanhu1/transposify: Sing along to any Spotify s...
evanhu_ · 2026-06-02 · via Show HN

A macOS menu-bar app that lets you sing along to any Spotify song in your range — shift the key up or down by semitones in real time, pitch without tempo change. It stays out of the way: a small 𝄞 +2 / 𝄞 −3 / 𝄞 0 in the menu bar, and a popup when you click it. Settings are remembered per song.

Transposify popover

Install

You build it on your own Mac with one script. Because it's compiled locally, macOS doesn't quarantine it — no Apple Developer account, no notarization, no "unidentified developer" warning.

git clone https://github.com/evanhu1/transposify.git
cd transposify
./install.sh

That builds the app, ad-hoc-signs it, installs it to /Applications, and launches it. On first launch macOS asks for Microphone access — that's the permission Core Audio uses to capture Spotify's audio; it never touches your real microphone. Click Allow, then look for the 𝄞 in your menu bar.

Requirements: macOS 14.4 or later, the Spotify desktop app, and Apple's command-line tools (xcode-select --install if swift isn't found).

Uninstall:

rm -rf /Applications/Transposify.app && tccutil reset Microphone com.evanhu.transposify

Using it

Click the menu-bar item to open the popup:

  • Now playing — current track + artist.
  • Transpose / value / +, or the slider (±12 semitones). Reset (↺) appears when shifted.
  • Reduce vocals (karaoke) — experimental center-channel cancellation to duck the original lead vocal; works best on stereo tracks.
  • Remember key for this song — on by default; your setting auto-applies when that track plays again. New songs start at the original key.
  • Launch at login — register as a login item via SMAppService.

The menu-bar item (treble clef + signed value) always reflects the current offset, at fixed width so it never shifts. The app auto-adjusts when you switch output devices (e.g. plug in headphones) and engages only while Spotify is playing.

How it works

Spotify's desktop client never exposes its decoded audio — it's DRM-protected, so no injected code (Spicetify etc.) can touch the stream for DSP. The only way to pitch-shift it is to capture Spotify's audio output and process it before your speakers:

Spotify ─► Core Audio process tap (muted-when-tapped) ─► ring buffer
                                                              │
  popup sets semitones ─► [vocal reduce] ─► Rubber Band R3 ◄── source node
                                                  │
                                                  └─► default output device
  • Capture: a Core Audio process tap (AudioHardwareCreateProcessTap, macOS 14.4+) grabs only Spotify's audio — no virtual device, no extension. The tap is created muted-when-tapped, so Spotify's untouched output is silenced and you hear only the processed copy.
  • Transpose: the Rubber Band Library R3 ("finer") engine in real-time mode — a state-of-the-art music pitch shifter, run directly in the audio render callback. Latency is higher than Apple's built-in unit, but that's irrelevant here (you sing along to the output, so there's no monitoring loop). Verified accurate to <0.1%.
  • Pristine passthrough at 0: the pipeline engages only while Spotify is playing and there's something to do (pitch ≠ 0 or karaoke on). At 0 with karaoke off the tap is fully torn down, so Spotify plays untouched — bit-perfect, zero added latency. It also disengages when you pause.
  • Now playing / per-song memory: read from Spotify's PlaybackStateChanged distributed notification (instant, no polling), keyed by track ID.

Diagnostics & tests

swift probe.swift                              # OSStatus of each Core Audio tap call
TRANSPOSIFY_SELFTEST=1 .build/debug/Transposify  # headless engagement state-machine test
TRANSPOSIFY_RBTEST=1   .build/debug/Transposify  # Rubber Band pitch-accuracy check (440Hz +7st)

To build without installing: ./make-app.sh && open Transposify.app.

License

This project is GPLv2-or-later (see LICENSE). It must be — it statically links the Rubber Band Library by Particular Programs Ltd, which is GPLv2+. The Rubber Band source is vendored under Sources/CRubberBand (single-file build, using Apple's vDSP FFT). If you want to ship a closed-source build, obtain a commercial Rubber Band licence from Breakfast Quay.