A Python tool that uses OpenAI's Whisper model to transcribe audio files from a selected folder.
Fabla - Audio diary and EMA data collection: fabla.framer.website
- GUI Version with drag & drop folder support (recommended for non-technical users)
- Command-line version for automated workflows
- Supports multiple audio formats: WAV, MP3, AAC, M4A, FLAC, OGG, WMA
- Interactive folder selection dialog
- Automatically creates output folder in Downloads with naming:
original_folder_name_transcripts - Saves transcripts as CSV file
- Real-time progress bar and status updates
- Configurable filename format parsing
- Python 3.8 or higher
- macOS, Windows, or Linux
-
Install Python dependencies:
Using requirements.txt (recommended):
pip install -r requirements.txt
Or install manually:
pip install openai-whisper pandas
-
Install FFmpeg (required for audio processing):
Why FFmpeg? Whisper uses FFmpeg internally to decode audio files (MP3, M4A, AAC, FLAC, etc.) into a format it can process. Without FFmpeg, Whisper cannot read most audio formats.
-
macOS (using Homebrew):
brew install ffmpeg
-
Windows: Download from FFmpeg website and add to PATH
-
Linux (Ubuntu/Debian):
sudo apt update sudo apt install ffmpeg
Note: The GUI version will check for FFmpeg on startup and display a warning if it's not found.
-
-
Install tkinter (usually included with Python, but if needed):
- macOS: Usually pre-installed with Python
- Linux (Ubuntu/Debian):
sudo apt-get install python3-tk
- Windows: Usually pre-installed with Python
-
Run the GUI version:
python transcribe-whisper-gui.py
-
Drag & drop a folder with audio files onto the drop area, or click "Select Folder" to browse
-
(Optional) Adjust filename format settings if your files use a different format than the default
-
Click "Start Transcription"
-
The script will:
- Process all audio files in the selected folder
- Show real-time progress in the GUI
- Save the transcripts to a CSV file called
transcripts.csvdirectly in the selected folder - Display a completion message when done
-
Run the script:
python transcribe-whisper.py
-
A folder selection dialog will appear - select the folder containing your audio files
-
Configure filename format (or press Enter for default Fabla format)
-
The script will:
- Process all audio files in the selected folder
- Save the transcripts to a CSV file called
transcripts.csvdirectly in the selected folder - Display progress and a summary in the console
The CSV file contains the following columns:
Filename: Name of the audio fileParticipant ID: Extracted from filename (if formatted asID_date_time.ext)Date: Extracted from filename (if formatted asID_date_time.ext)Time: Extracted from filename (if formatted asID_date_time.ext)Transcript: The transcribed text
To share this tool with users who don't have Python installed, you can create a standalone executable:
-
Install PyInstaller:
pip install pyinstaller
-
Run the build script:
python build_executable.py
-
The executable will be created in the
dist/folder
See PACKAGING.md for detailed instructions and troubleshooting.
Note: Users will still need FFmpeg installed on their system for the executable to work.
- The script uses the "base" Whisper model by default. You can change this in the code to "tiny", "small", "medium", or "large" for different accuracy/speed tradeoffs
- Larger models provide better accuracy but are slower
- The first run will download the Whisper model (this may take a few minutes)
- Drag & drop requires
tkinterdnd2(included in requirements.txt). If not installed, users can use the "Select Folder" button instead