Skip to content

CreativeCode-Works/auto-recording-processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Recording Processor

Automated system for processing Claude recordings from Google Drive. This tool:

  1. Monitors a Google Drive folder for new Claude recordings
  2. Filters recordings by room ID
  3. Applies studio-quality audio processing
  4. Generates AI-powered show notes from transcripts
  5. Creates segmented episodes from identified conversations
  6. Organizes all output files automatically

Features

  • Google Drive Integration: Automatically monitors a specified folder for new recordings
  • Audio Enhancement: Applies professional studio sound processing using FFmpeg
  • AI Show Notes: Uses Claude AI to analyze transcripts and generate descriptive show notes
  • Smart Segmentation: Identifies Q&A conversations and creates separate episode files
  • Minimum Duration Filtering: Only creates episodes for conversations longer than 10 minutes (configurable)
  • Automated Organization: Outputs processed files and segmented episodes to separate folders

Prerequisites

Required Software

  1. Node.js (v14 or higher)

    # Check your version
    node --version
  2. FFmpeg (for audio processing)

    # macOS
    brew install ffmpeg
    
    # Ubuntu/Debian
    sudo apt-get install ffmpeg
    
    # Windows (using Chocolatey)
    choco install ffmpeg

Required API Access

  1. Google Drive API Credentials

    • Go to Google Cloud Console
    • Create a new project or select existing one
    • Enable Google Drive API
    • Create Service Account credentials
    • Download the JSON credentials file
    • Save it as config/google-credentials.json
  2. Anthropic API Key

Installation

  1. Clone or navigate to the project directory

    cd claude-recording-processor
  2. Install dependencies

    npm install
  3. Set up configuration

    # Copy the example environment file
    cp .env.example .env
  4. Edit the .env file with your settings

    # Open in your editor
    nano .env

    Required settings:

    • GOOGLE_DRIVE_FOLDER_ID: The ID of your Google Drive folder to monitor
    • GOOGLE_CREDENTIALS_PATH: Path to your Google credentials JSON file
    • ANTHROPIC_API_KEY: Your Claude API key
    • TARGET_ROOM_ID: The recording room ID to filter
  5. Place your Google credentials file

    # Save your google-credentials.json to the config folder
    cp /path/to/your/credentials.json config/google-credentials.json

Configuration

Environment Variables

Edit .env to customize:

# Google Drive API credentials
GOOGLE_DRIVE_FOLDER_ID=your_folder_id_here
GOOGLE_CREDENTIALS_PATH=./config/google-credentials.json

# Claude API
ANTHROPIC_API_KEY=your_anthropic_api_key_here

# Target Recording Room ID
TARGET_ROOM_ID=your_room_id_here

# Processing Options
MIN_SEGMENT_DURATION_MINUTES=10
POLL_INTERVAL_MINUTES=5

# Output Directories
PROCESSED_OUTPUT_DIR=./output/processed
SEGMENTED_OUTPUT_DIR=./output/segmented
TEMP_DIR=./temp

Finding Your Google Drive Folder ID

The folder ID is in the URL when you open the folder in Google Drive:

https://drive.google.com/drive/folders/[FOLDER_ID_HERE]

Usage

Continuous Monitoring Mode

Run the processor continuously to monitor for new recordings:

npm start

The system will:

  • Check for new recordings every 5 minutes (configurable)
  • Process each new recording automatically
  • Continue running until you stop it (Ctrl+C)

One-Time Processing

Process all new recordings once and exit:

npm run start:once

Useful for:

  • Testing your setup
  • Running as a scheduled job (cron, etc.)
  • Processing a backlog of recordings

Output Structure

Processed Folder (output/processed/)

Contains the main processed recording with studio sound:

  • [recording_name]_studio.mp3 - Enhanced audio file
  • [recording_name]_show_notes.md - Complete show notes for all conversations

Segmented Folder (output/segmented/)

Contains individual episode segments:

  • episode_1_[conversation_title].mp3 - Audio segment
  • episode_1_[conversation_title]_show_notes.md - Episode-specific show notes
  • _episodes_summary.md - Overview of all created episodes

How It Works

Processing Pipeline

  1. Monitor: Checks Google Drive folder for new files
  2. Filter: Only processes files from the specified room ID
  3. Download: Downloads audio and transcript files
  4. Enhance: Applies studio sound processing to audio
  5. Analyze: Uses Claude AI to identify conversations and generate show notes
  6. Segment: Creates separate episode files for Q&A conversations over 10 minutes
  7. Organize: Saves all output files to appropriate folders
  8. Cleanup: Removes temporary files

Audio Processing

The studio sound processing includes:

  • High-pass filter (removes low-frequency rumble)
  • Noise reduction
  • Dynamic range compression (consistent volume)
  • EQ adjustments (voice clarity)
  • Loudness normalization (-16 LUFS podcast standard)
  • Limiter (prevents clipping)

Show Notes Generation

Claude AI analyzes the transcript to:

  • Identify distinct conversations (typically 2-3)
  • Determine if conversations are Q&A format
  • Extract key topics discussed
  • Estimate conversation duration
  • Generate descriptive paragraphs for each conversation

Episode Segmentation

Creates individual episodes when:

  • Conversation is in Q&A format
  • Duration is ≥10 minutes (configurable)
  • Has clear topic boundaries

Troubleshooting

FFmpeg not found

# Verify FFmpeg is installed
ffmpeg -version

# If not installed, install it (see Prerequisites)

Google Drive API errors

  • Verify your credentials file is in the correct location
  • Check that the Google Drive API is enabled in your project
  • Ensure the service account has access to the target folder

Anthropic API errors

  • Verify your API key is correct in .env
  • Check your API quota/limits
  • Ensure you have internet connectivity

No recordings found

  • Verify the GOOGLE_DRIVE_FOLDER_ID is correct
  • Check that files contain the target room ID
  • Confirm recordings haven't already been processed (check temp/processed-files.json)

Episodes not being created

  • Check that conversations are longer than MIN_SEGMENT_DURATION_MINUTES
  • Verify conversations are identified as Q&A format in show notes
  • Review the console output for filtering messages

Advanced Usage

Changing Minimum Episode Duration

Edit .env:

MIN_SEGMENT_DURATION_MINUTES=15  # Now requires 15+ minutes

Adjusting Polling Interval

Edit .env:

POLL_INTERVAL_MINUTES=10  # Check every 10 minutes instead of 5

Customizing Audio Processing

Edit src/audioProcessor.js to modify the FFmpeg filters in the applyStudioSound method.

Reprocessing Files

If you want to reprocess a file that was already handled:

  1. Edit temp/processed-files.json
  2. Remove the file ID you want to reprocess
  3. Run the processor again

Project Structure

claude-recording-processor/
├── config/
│   ├── config.js              # Configuration loader
│   └── google-credentials.json # Google API credentials
├── src/
│   ├── index.js               # Main orchestration
│   ├── driveMonitor.js        # Google Drive integration
│   ├── audioProcessor.js      # Audio enhancement
│   ├── transcriptProcessor.js # AI show notes generation
│   └── audioSegmenter.js      # Episode segmentation
├── output/
│   ├── processed/             # Studio audio & show notes
│   └── segmented/             # Individual episodes
├── temp/                      # Temporary files during processing
├── .env                       # Your configuration
├── .env.example              # Configuration template
├── package.json              # Node.js dependencies
└── README.md                 # This file

License

ISC

Support

For issues or questions:

  1. Check the troubleshooting section above
  2. Review console output for error messages
  3. Verify all prerequisites are installed correctly
  4. Ensure API credentials are valid and have proper permissions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors