Speak Socratic questions aloud using text-to-speech (kokoro-onnx, am_michael voice)
Command: ~/.local/bin/study-speak "<text>"
Speaks text aloud through the learner's speakers using kokoro-onnx TTS (am_michael voice, ~1.5s latency).
The learner controls voice with these commands in chat:
@speak-start — enable voice output@speak-stop — disable voice outputVoice is off by default. Do not speak unless the learner has said @speak-start.
MUST execute this shell command every time you ask a Socratic question:
~/.local/bin/study-speak "Your question here"
Learner: @speak-start
Agent (text): Here's an analogy. Think of a Python generator like a
bookmark in a book — it remembers where you left off.
Agent (text): Now here's the question:
Agent (executes): ~/.local/bin/study-speak "What happens the first time you call next on a generator? Does the function run from the beginning or from somewhere else?"
Learner: It runs from the beginning, up to the first yield.
Agent (executes): ~/.local/bin/study-speak "Exactly right. The key principle is that a generator function is lazy — it doesn't execute until you call next, and it pauses at each yield."
Learner: @speak-stop
Agent: (continues text-only)
Continue the session without voice. Never let TTS errors block teaching.