Short answer: click into any Roam block, press ⌃+⌥+R (Mac) or Ctrl+Alt+R (Windows/Linux), speak the thought, press the hotkey again. AICHE drops cleaned text into the block. Add [[page refs]] and ((block refs)) on a second pass.
The Problem
Roam rewards atomic, linkable blocks. The more you capture, the more the graph earns its keep. But every block has to be typed, and typing fights with thinking. You hit an insight mid-paper, switch to Roam, click into a bullet, and by the time you've typed the second sentence the original wording has faded. You ship a weaker block, skip the brackets, and go back to reading.
Do that across a research session and you end up with ten sparse blocks instead of the thirty detailed ones that were actually in your head. The graph thins out, and the connections that make Roam worth $15/month never get a chance to surface.
What Changes
AICHE captures the speech, cleans it up, and inserts it into whichever block the cursor is in. You stop trying to type and link at the same time. Pass one is pure capture at ~150 WPM. Pass two is [[bracketing]] and indenting at editing speed.
The split matters because Roam's syntax is keyboard-native. [[, ((, /, Tab, Shift+Tab, Ctrl+Shift+D - all of it is faster to type than to speak. Voice handles the prose. The keyboard handles the structure.
How It Works
- Open Roam Research in your browser. Hit
Ctrl+Shift+Dif you want today's Daily Notes. - Click into the block where the text should land. New block, sub-block, existing block, sidebar pane - the cursor location is the insertion point.
- Press ⌃+⌥+R (Mac) or Ctrl+Alt+R (Windows/Linux). Speak. AICHE doesn't push-to-talk - it's toggle on, toggle off, so you can pace, breathe, and think between sentences.
- Press the same hotkey to stop. The transcribed text appears in the block, filler words trimmed, punctuation added.
- Go back through and wrap key terms in
[[brackets]], drop in((block refs)), indent with Tab where the hierarchy needs it.
The block stays editable the entire time. AICHE writes to the active text field. Roam's autocomplete still works on whatever you type after.
Daily Notes As A Voice Journal
Daily Notes are the natural target because Roam already lands you there. Open today's page in the morning, press the hotkey, and talk for two or three minutes about whatever is loaded into working memory: yesterday's loose ends, the question you woke up with, the thing you read last night and want to chase.
Don't structure as you speak. Get the stream into the page. Once it's there, break it into separate blocks with Enter, indent the supporting points with Tab, and add [[page refs]] to the names and concepts you mentioned. The blocks that name a [[project]] or [[person]] now show up in that page's Linked References automatically. The morning dump becomes graph material instead of a journal entry no one reads again.
Literature Notes Without Losing The Page
Reading a paper, click into a Roam block beside it, press the hotkey, and react out loud. A sample reaction takes about twenty seconds to speak and would take a minute and a half to type, during which you lose the line you were reading.
After dictating, you spend ten seconds adding [[spaced repetition]], [[desirable difficulties]], [[Anki]]. The block is now a node. Next time any of those pages opens, your reaction shows up under Linked References without you having to remember it was there.
For longer passages, turn on Content Organization in AICHE settings. Speak 60-90 seconds about a complex section, and the transcript comes back as structured points rather than a single run-on paragraph. Easier to split into separate blocks, easier to thread into the existing graph.
Why Voice Suits Roam's Model
Roam is bottom-up by design. You don't outline first, you capture atomic thoughts and let structure emerge from connections. Typing pushes you the other way, because the cursor sits there waiting and you start organizing before you've finished thinking.
Speaking is also bottom-up. Thoughts arrive in the order your brain hands them over. Connections get named as they surface. The transcript is raw material, which is exactly what Roam expects a block to be before you link it.
What AICHE Will Not Do
AICHE does not insert Roam syntax. Saying "open bracket open bracket project name close bracket close bracket" does not produce [[project name]] - it produces the literal words. The same goes for ((block refs)), /slash commands, {{queries}}, #tags, and TODO checkboxes.
Treat the transcript as content. Add the markup with the keyboard during your editing pass. [[, ((, and / are one or two keystrokes each, and they autocomplete. Voice for the prose, keyboard for the structure.
Multilingual Capture
If your thinking happens in a non-English language but your Roam graph runs in English (or vice versa), turn on Auto-translation in AICHE settings. Speak in German, Mandarin, Portuguese, Spanish, Japanese. AICHE transcribes and outputs the target language. The graph stays consistent regardless of which language the thought arrived in.
Common Questions
Q: Does AICHE work in the Roam web app and the desktop wrapper?
A: Yes. AICHE writes to the active text field at the OS level. Whether Roam is open in Chrome, Safari, Firefox, Arc, or the Electron wrapper, the insertion path is the same.
Q: What about the sidebar? I keep a page pinned there for project work.
A: Click into a block in the sidebar pane to give it cursor focus, then press the hotkey. AICHE inserts into whichever pane the cursor is in. You can dictate into the main page, then click into the sidebar and dictate into a different page without leaving the recording flow.
Q: Can I dictate [[page references]] by saying them?
A: No, and you don't want to. Roam autocompletes page names after you type [[, which is faster and safer than speaking them. Capture prose with voice, add links with the keyboard.
Q: What happens if my block is deep inside an indented hierarchy?
A: Indent level doesn't matter. AICHE inserts at the cursor regardless of nesting depth. If the transcript turns into a new sub-thought partway through, hit Enter and Tab after dictating to split it into a child block.
Q: Will Content Organization break Roam's one-block-per-bullet model?
A: It cleans up the prose inside the block, it doesn't insert hard returns that would create new blocks. After it runs, you split the text into separate blocks by hand with Enter wherever the structure calls for it.
Q: Is dictation private if I'm capturing personal research?
A: AICHE processes speech for transcription and discards the audio shortly after. Check the current privacy details in the AICHE docs before dictating anything you'd treat as sensitive, the same way you'd evaluate any cloud-touching tool against your own threat model.
Result: the blocks you would have skipped because typing them felt like too much friction now land in the graph. Daily Notes fill out. Literature notes catch the nuance instead of the summary. Linked References surface connections you wouldn't have made if half the source material were missing.
Try it now: open today's Daily Notes, click into the first block, press your hotkey, and talk for two minutes about what's actually on your mind. Stop. Add [[brackets]] around three names you said out loud. That's the loop.