Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

say: default provider to Jeffrey PVC

`say hello` (no colon prefix) now speaks in @jeffrey's cloned voice.
Other providers stay one colon away:
say:openai / say:google / say:eleven / say:jeffrey (explicit)

Both the `say.mjs` piece and the `/api/say` backend share the default,
so direct API calls without a `provider` field also land on Jeffrey.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+12 -10
+4 -3
system/netlify/functions/say.js
··· 271 271 const set = parseInt(body.voice?.split(":")[1]) || 0; 272 272 const gender = body.voice?.split(":")[0]?.toLowerCase() || "neutral"; 273 273 274 - // Provider: "openai" (default), "google", "eleven" 275 - // Can be set via body.provider or defaults to openai 276 - const provider = body.provider || "openai"; 274 + // Provider: "jeffrey" (default PVC), "openai", "google", "eleven" 275 + // Can be set via body.provider; falls back to Jeffrey for parity 276 + // with the `say` piece default. 277 + const provider = body.provider || "jeffrey"; 277 278 278 279 // Instructions for gpt-4o-mini-tts emotional/style control (OpenAI only) 279 280 const instructions = provider === "openai" ? (body.instructions || null) : null;
+8 -7
system/public/aesthetic.computer/disks/say.mjs
··· 3 3 // Type a word or phrase after `say` to hear it spoken. 4 4 5 5 /* #region 📚 README 6 - Usage: say hello 6 + Usage: say hello (default: Jeffrey PVC) 7 7 say how are you today 8 - say:male hi there 9 - say:female good morning 10 - say:google hello (use Google TTS) 8 + say:openai hello (OpenAI gpt-4o-mini-tts) 9 + say:openai:male hi there 10 + say:google hello (Google Cloud TTS) 11 11 say:google:female hi there 12 - say:jeffrey hello (Jeffrey PVC — @jeffrey's voice clone) 13 - say:jeffrey:scream AHHH (screaming variant) 12 + say:eleven hello (ElevenLabs premade voices) 13 + say:jeffrey hello (explicit Jeffrey PVC — same as default) 14 + say:jeffrey:scream AHHH (screaming variant of Jeffrey) 14 15 15 16 All utterances are cached to the art.aesthetic.computer CDN under 16 17 `tts-cache/` (jeffrey gets its own subfolder `tts-cache/jeffrey/`). ··· 21 22 let text = ""; 22 23 let lastSpoken = ""; 23 24 let status = "idle"; // idle, speaking, error 24 - let provider = "openai"; // "openai", "google", or "eleven" 25 + let provider = "jeffrey"; // default: Jeffrey PVC — switch via colon (say:openai, say:google, say:eleven) 25 26 let gender = "neutral"; 26 27 let instructions = null; 27 28 let scream = false;