Denk-Notizbuch · Für Nerds · Roger Basler de Roca
Die Nerd-Anleitung
So läuft das Denk-Notizbuch vollautomatisch: Ein Mac nimmt einen Stream oder ein Meeting auf, transkribiert lokal, legt die Texte in Dropbox ab, und geplante Aufgaben in Claude ziehen daraus Merker, News und einen Notion-Sync. Der Mensch entscheidet am Ende, was bleibt.
← Zurück zum StarterBevor du aufnimmst
Nimm nur auf, was du aufnehmen darfst: eigene Meetings mit Einverständnis aller Beteiligten oder Streams, bei denen der Veranstalter zustimmt. Viele Events bieten ohnehin Aufzeichnungen oder Transkripte an, frag zuerst dort. Deine Zugangsdaten gibst du nie an eine KI weiter. Du loggst dich selbst im Browser ein.
Die Architektur
- 1Stream im Browser
- 2Ton über BlackHole
- 3Aufnahme mit ffmpeg
- 4Transkription lokal mit whisper.cpp
- 5Textdatei in Dropbox
- 6Claude: Merker, Notizbuch, Notion
Das Audio bleibt auf deinem Rechner. In die Cloud gehen nur die Texte.
Was du brauchst
- ·Ein Mac, der während der Aufnahme wach bleibt (Netzteil, Deckel offen)
- ·Homebrew, ffmpeg, whisper.cpp und BlackHole (alles kostenlos)
- ·Dropbox mit Desktop-App, oder ein anderer synchronisierter Ordner
- ·Claude mit Artifacts, geplanten Aufgaben und den Connectors Dropbox und Notion
- ·Optional: die Claude-Erweiterung für Chrome, damit Claude den Stream morgens selbst startet
1 · Werkzeuge installieren
Homebrew installieren (fragt einmal nach dem Mac-Passwort):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Auf Apple-Silicon-Macs danach die zwei Zeilen ausführen, die Homebrew am Ende anzeigt. Dann die Werkzeuge:
brew install ffmpeg whisper-cpp && brew install --cask blackhole-2chDanach den Mac einmal neu starten.
2 · Ton umleiten
- 1Programm Audio-MIDI-Setup öffnen
- 2Unten links auf + klicken und Gerät mit mehreren Ausgängen erstellen
- 3Haken bei deinen Lautsprechern oder Kopfhörern und bei BlackHole 2ch setzen
- 4Systemeinstellungen, Ton, Ausgabe: dieses neue Gerät wählen
So hörst du den Stream weiter, und gleichzeitig kommt der Ton bei der Aufnahme an.
3 · Sprachmodell laden
small ist ein guter Kompromiss für ältere Macs, auf Apple Silicon geht auch large-v3-turbo.
mkdir -p ~/whisper-models && curl -L -o ~/whisper-models/ggml-small.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin4 · Das Aufnahme-Skript
Speichere das Skript in deinen Transkript-Ordner. Es nimmt in 10-Minuten-Stücken auf, transkribiert jedes Stück, überspringt Stille und hält den Mac wach.
#!/bin/bash
# Stream-Recorder fuer das Denk-Notizbuch
# Nimmt Ton in 10-Minuten-Stuecken auf und transkribiert sie lokal mit whisper.cpp.
# Die Transkripte landen im Dropbox-Ordner und werden von einer geplanten Aufgabe in Claude abgeholt.
# Start: bash stream_recorder.sh Stopp: Ctrl+C
set -u
if [ -z "${OUT:-}" ]; then # Zielordner (Dropbox) automatisch finden
DB=$(ls -d "$HOME/Library/CloudStorage/Dropbox"* 2>/dev/null | head -1); [ -z "$DB" ] && DB="$HOME/Dropbox"
OUT="$DB/Denk-Notizbuch-Transkripte"
fi
WORK="${WORK:-$HOME/Denk-Notizbuch-Aufnahme}" # Audio bleibt lokal, geht nicht in die Cloud
DEVICE="${DEVICE:-BlackHole 2ch}" # Audio-Eingang, der den Stream-Ton empfaengt
MODEL="${MODEL:-$HOME/whisper-models/ggml-small.bin}"
LANG_CODE="${LANG_CODE:-de}"
SEGMENT="${SEGMENT:-600}" # Sekunden pro Stueck
mkdir -p "$OUT" "$WORK/chunks" "$WORK/done"
command -v ffmpeg >/dev/null || { echo "ffmpeg fehlt: brew install ffmpeg"; exit 1; }
command -v whisper-cli >/dev/null || { echo "whisper-cli fehlt: brew install whisper-cpp"; exit 1; }
[ -f "$MODEL" ] || { echo "Modell fehlt: $MODEL"; exit 1; }
echo "Aufnahme von '$DEVICE' in Stuecken zu $SEGMENT s. Transkripte nach: $OUT"
caffeinate -dimsu -w $$ &
( while true; do
ffmpeg -hide_banner -loglevel error -f avfoundation -i ":$DEVICE" -ac 1 -ar 16000 \
-f segment -segment_time "$SEGMENT" -reset_timestamps 1 -strftime 1 \
"$WORK/chunks/%Y-%m-%d_%H-%M-%S.wav"
echo "$(date '+%H:%M:%S') Aufnahme unterbrochen, starte neu in 5 s"; sleep 5
done ) &
REC=$!
trap 'echo; echo "Stoppe ..."; kill $REC 2>/dev/null; pkill -P $REC 2>/dev/null; exit 0' INT TERM
while true; do
FILES=( $(ls -1 "$WORK/chunks/"*.wav 2>/dev/null | sort) )
N=${#FILES[@]}
if [ "$N" -gt 1 ]; then
for ((i=0; i<N-1; i++)); do
F="${FILES[$i]}"; B=$(basename "$F" .wav); DAY=${B%%_*}
mkdir -p "$OUT/$DAY"
whisper-cli -m "$MODEL" -l "$LANG_CODE" -nt -otxt -of "$WORK/done/$B" -f "$F" >/dev/null 2>&1
if [ -s "$WORK/done/$B.txt" ] && [ "$(wc -w < "$WORK/done/$B.txt")" -gt 15 ]; then
{ echo "Mitschnitt $B (automatisch transkribiert, nicht geprueft)"; echo; cat "$WORK/done/$B.txt"; } > "$OUT/$DAY/$B.txt"
echo "$(date '+%H:%M:%S') transkribiert: $B ($(wc -w < "$WORK/done/$B.txt") Woerter)"
else
echo "$(date '+%H:%M:%S') Stille oder zu kurz, uebersprungen: $B"
fi
mv "$F" "$WORK/done/"
done
fi
sleep 20
done
Kurztest mit einem beliebigen Video, Stücke zu 60 Sekunden:
SEGMENT=60 bash stream_recorder.shNach etwa zwei Minuten erscheint "transkribiert" und eine Textdatei liegt im Ordner. Mit Ctrl+C stoppen. Für den Dauerbetrieb ohne SEGMENT starten und das Terminal offen lassen.
5 · Claude übernimmt
Drei geplante Aufgaben in Claude machen aus Rohtext Arbeit. Du legst sie an, indem du Claude die folgenden Aufträge gibst und dazu sagst: "Lege das als geplante Aufgabe an, stündlich von 8 bis 20 Uhr" (oder täglich um 6:30 für die News).
Transkripte einspeisen
stündlich
Lies im Dropbox-Ordner /Denk-Notizbuch-Transkripte alle neuen .txt-Dateien, die du noch nicht verarbeitet hast. Fasse zusammenhängende Stücke zu Blöcken von höchstens 60 Minuten zusammen. Ziehe pro Block alle Merker heraus: Erkenntnis, Aufgabe (in unter 30 Minuten umsetzbar), offene Frage, gezeigter KI-Agent (mit Stufe 1 liest, 2 entwirft, 3 handelt nach Freigabe, 4 handelt autonom). Lege jeden Block als Eingang und die Merker in meinem Denk-Notizbuch ab. Merke dir, welche Dateien verarbeitet sind. Nichts erfinden, keine wörtlichen Zitate aus Rohtranskripten.News am Morgen
täglich 6:30
Recherchiere 6 aktuelle Meldungen der letzten 72 Stunden zu meinen Themen: [deine Themen]. Jede Meldung mit echter URL, Quelle und einem Satz Zusammenfassung. Ersetze damit die News in meinem Denk-Notizbuch.Notion-Sync
stündlich
Lies mein Denk-Notizbuch und ersetze den Inhalt meiner Notion-Seite [Seitenname] durch: Vordenken (News), Mitdenken (nur die behaltenen Merker pro Vortrag oder Meeting, gestrichene mit Grund separat), Nachdenken (die drei Gedanken). Nichts umformulieren, nur übertragen.Stream morgens starten (optional)
täglich 8:50 · braucht die Chrome-Erweiterung und den verbundenen Mac
Öffne auf meinem Mac im Chrome die Stream-Seite [URL]. Ich bin dort eingeloggt; erscheint eine Login-Seite, brich ab und melde es. Starte die Wiedergabe mit Ton, warte falls nötig bis zum Programmstart. Lass den Tab offen. Prüfe danach, ob im Transkript-Ordner neue Dateien ankommen, und melde mir in drei Sätzen, ob alles läuft.6 · Die Checkliste vor dem Wochenende
Wenn etwas hakt
- Stille oder zu kurz
- Der Ton kommt nicht bei BlackHole an. Ausgabe und Stumm-Schaltung des Tabs prüfen.
- Gerät nicht gefunden
ffmpeg -f avfoundation -list_devices true -i ""dann starten mitDEVICE="Name" bash stream_recorder.sh- Mac zu langsam
- Kleineres Modell ggml-base.bin laden und mit MODEL=~/whisper-models/ggml-base.bin starten.
- Mac schläft ein
- Deckel offen lassen, Netzteil, Energiesparen aus. Zugeklappt hilft auch caffeinate nicht.
- Falsche Namen im Text
- Rohtranskripte sind nicht geprüft. Deshalb Zitate nur nach eigener Kontrolle.
Warum der Aufwand?
Weil die Maschine hier genau das tut, was sie gut kann: mitschreiben, sortieren, vorschlagen. Und weil du genau das behältst, was nur du kannst: entscheiden, was davon wichtig ist.
Nicht alles, was automatisierbar ist, muss entmenschlicht werden. Du entscheidest.