Un tool Python da linea di comando che trasforma le registrazioni audio/video di meeting in trascrizioni e to-do list strutturate utilizzando le API di OpenAI (Whisper per la trascrizione e GPT per l'analisi).
- Trascrizione automatica di file audio e video usando Whisper
- Estrazione intelligente di task, decisioni e action item dal contenuto
- Gestione file grandi con chunking automatico
- Supporto multi-formato (MP4, MOV, WAV, MP3, M4A, etc.)
- Elaborazione parallela per velocizzare la trascrizione
- Retry automatico in caso di errori API
- Timestamp precisi per ogni sezione
- Output strutturato in formato Markdown
- Python 3.8+ installato sul sistema
- ffmpeg installato:
# macOS brew install ffmpeg # Ubuntu/Debian sudo apt update && sudo apt install ffmpeg # Windows # Scarica da https://ffmpeg.org/download.html
- Account OpenAI con API key
-
Clona il repository:
git clone <repository-url> cd RecordingToTasks
-
Esegui lo script di setup:
./setup.sh
Lo script installerà automaticamente:
- ffmpeg (se non presente)
- L'ambiente virtuale Python
- Tutte le dipendenze necessarie
- Creerà il file
.env
dal template
-
Configura la tua API key:
Modifica il file
.env
inserendo la tua API key di OpenAI:OPENAI_API_KEY=sk-your-actual-api-key-here
-
Clona il repository:
git clone <repository-url> cd RecordingToTasks
-
Crea e attiva l'ambiente virtuale:
python3 -m venv venv source venv/bin/activate # Su Windows: venv\Scripts\activate
-
Installa le dipendenze:
pip install -r requirements.txt
-
Configura le variabili d'ambiente:
cp env.example .env
Modifica il file
.env
inserendo la tua API key di OpenAI:OPENAI_API_KEY=sk-your-actual-api-key-here
python main.py --help
Oppure esegui il test di setup:
python test_setup.py
python main.py /path/to/your/recording.mp4
# Trascrivi un file video
python main.py meeting_2024_01_15.mp4
# Trascrivi un file audio
python main.py call_with_client.wav
# Elabora più file in sequenza
python main.py file1.mp4 file2.wav file3.m4a
# Mostra aiuto
python main.py --help
Audio: .wav
, .mp3
, .m4a
, .flac
, .aac
, .ogg
, .wma
Video: .mp4
, .mov
, .avi
, .mkv
, .wmv
, .flv
, .webm
, .m4v
Il tool genererà due file nella cartella output/
:
filename_transcription.txt
- Trascrizione completa con timestampfilename_tasks.md
- Analisi strutturata con:- Riassunto esecutivo
- Partecipanti (se identificabili)
- Punti chiave discussi
- Decisioni prese
- Action items / To-do list con responsabili e scadenze
- Prossimi passi
- Note aggiuntive
# API Configuration
OPENAI_API_KEY=your_api_key_here
OPENAI_ORG_ID=your_org_id_here # Opzionale
# Model Selection
WHISPER_MODEL=whisper-1 # Modello per trascrizione
CHAT_MODEL=gpt-4o-mini # Modello per analisi
# Processing Configuration
MAX_RETRIES=3 # Retry in caso di errore
MAX_PARALLEL_TASKS=3 # Task paralleli per trascrizione
SIZE_LIMIT_MB=20 # Limite dimensione file (MB)
Per la trascrizione:
whisper-1
- Modello standard, ottimo rapporto qualità/prezzo
Per l'analisi:
gpt-4o-mini
- Veloce ed economico, qualità altagpt-3.5-turbo
- Alternativa economicagpt-4o
- Massima precisione ma più costoso
I costi dipendono dalla lunghezza delle registrazioni:
Whisper (trascrizione):
- $0.006 per minuto di audio
GPT-4o-mini (analisi):
- ~$0.001-0.003 per meeting di 1 ora
Esempio: Meeting di 1 ora = $0.36 + $0.002 = **$0.37 totale**
Il tool gestisce automaticamente file di grandi dimensioni:
- Chunking automatico: File > 20MB vengono divisi in chunk
- Elaborazione parallela: Più chunk processati contemporaneamente
- Ricostruzione timeline: I timestamp vengono preservati nell'output finale
RecordingToTasks/
├── main.py # Script principale
├── requirements.txt # Dipendenze Python
├── setup.sh # Script di installazione automatica
├── test_setup.py # Test di verifica setup
├── .env # Configurazione (non committato)
├── env.example # Template configurazione
├── README.md # Documentazione
├── .gitignore # File da ignorare
├── venv/ # Ambiente virtuale
├── temp/ # File temporanei
└── output/ # File di output
- openai: Client per le API di OpenAI
- python-dotenv: Gestione variabili d'ambiente
- ffmpeg: Elaborazione audio/video (dipendenza esterna)
- Fork del repository
- Crea un branch per la feature:
git checkout -b feature/nome-feature
- Commit delle modifiche:
git commit -am 'Aggiunge nuova feature'
- Push del branch:
git push origin feature/nome-feature
- Apri una Pull Request
"ffmpeg not found"
# Verifica installazione
ffmpeg -version
# Se non installato, segui i prerequisiti
"OpenAI API key not found"
# Verifica file .env
cat .env
# Assicurati che la chiave sia corretta
"File troppo grande"
- Il tool gestisce automaticamente file grandi
- Aumenta
SIZE_LIMIT_MB
in.env
se necessario
Errori di trascrizione
- Il tool riprova automaticamente con backoff esponenziale
- Controlla la connessione internet
- Verifica i limiti di rate dell'API OpenAI
Per debug più dettagliato, modifica temporaneamente il file main.py
aggiungendo:
import logging
logging.basicConfig(level=logging.DEBUG)
MIT License - vedi file LICENSE per dettagli
Per bug report o feature request, apri una issue su GitHub.
Nota: Questo tool è ottimizzato per meeting in italiano e inglese. Per altre lingue, potrebbe essere necessario modificare i prompt di analisi nel file main.py
.