Add Voice Recorder - Whisper transcription tool for Obsidian
Features: - Audio recording with pause/resume and visual feedback - Local Whisper transcription (tiny/base/small models) - 7 note types: instructions, capture, meeting, idea, daily, review, journal - Claude CLI integration for intelligent note processing - PKM context integration (reads vault files for better processing) - Auto-organization into type-specific folders - Daily notes with yesterday's task carryover - Language-adaptive responses (matches transcript language) - Custom icon and Windows desktop shortcut helpers Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
102
Tool_Scripts/Whisper_Transcript/Transcribe.bat
Normal file
102
Tool_Scripts/Whisper_Transcript/Transcribe.bat
Normal file
@@ -0,0 +1,102 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
:: ============================================
|
||||
:: CONFIGURATION - Edit these paths as needed
|
||||
:: ============================================
|
||||
set "OUTPUT_DIR=C:\Users\antoi\antoine\My Libraries\Antoine Brain Extension\+\Transcripts"
|
||||
set "CONDA_ENV=test_env"
|
||||
set "CONDA_PATH=C:\Users\antoi\anaconda3\Scripts\activate.bat"
|
||||
|
||||
:: ============================================
|
||||
:: MAIN SCRIPT - No edits needed below
|
||||
:: ============================================
|
||||
|
||||
:: Check if file was dragged onto script
|
||||
if "%~1"=="" (
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Voice Memo Transcriber
|
||||
echo ========================================
|
||||
echo.
|
||||
echo Drag an audio file onto this script!
|
||||
echo Or paste the full path below:
|
||||
echo.
|
||||
set /p "AUDIO_FILE=File path: "
|
||||
) else (
|
||||
set "AUDIO_FILE=%~1"
|
||||
)
|
||||
|
||||
:: Generate timestamp for filename
|
||||
for /f "tokens=1-5 delims=/:.- " %%a in ("%date% %time%") do (
|
||||
set "TIMESTAMP=%%c-%%a-%%b %%d-%%e"
|
||||
)
|
||||
|
||||
set "NOTE_NAME=Voice Note %TIMESTAMP%.md"
|
||||
set "TEMP_FILE=%TEMP%\whisper_output.txt"
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Transcribing: %AUDIO_FILE%
|
||||
echo Output: %NOTE_NAME%
|
||||
echo ========================================
|
||||
echo.
|
||||
echo This may take a few minutes for long recordings...
|
||||
echo.
|
||||
|
||||
:: Activate conda environment and run whisper
|
||||
call %CONDA_PATH% %CONDA_ENV%
|
||||
insanely-fast-whisper --file-name "%AUDIO_FILE%" --transcript-path "%TEMP_FILE%" --model-name openai/whisper-large-v3
|
||||
|
||||
:: Check if transcription succeeded
|
||||
if not exist "%TEMP_FILE%" (
|
||||
echo.
|
||||
echo ERROR: Transcription failed!
|
||||
echo Check that the audio file exists and is valid.
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: Create markdown note with YAML frontmatter
|
||||
echo --- > "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo created: %date% %time:~0,5% >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo type: voice-note >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo status: raw >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo tags: >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo - transcript >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo - voice-memo >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo --- >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo # Voice Note - %date% at %time:~0,5% >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo ## Metadata >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo - **Source file:** `%~nx1` >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo - **Transcribed:** %date% %time:~0,5% >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo --- >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo ## Raw Transcript >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
type "%TEMP_FILE%" >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo --- >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo ## Notes distillees >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo ^<!-- Coller le transcript dans Claude pour organiser et distiller --^> >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
echo. >> "%OUTPUT_DIR%\%NOTE_NAME%"
|
||||
|
||||
:: Cleanup temp file
|
||||
del "%TEMP_FILE%" 2>nul
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo DONE!
|
||||
echo Created: %NOTE_NAME%
|
||||
echo Location: %OUTPUT_DIR%
|
||||
echo ========================================
|
||||
echo.
|
||||
pause
|
||||
Reference in New Issue
Block a user