diff --git a/.gitignore b/.gitignore index e284e29..b14bfa6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,37 @@ -# Audio files -audio/ -*.mp3 -*.wav - -# Whisper models -models/ -*.bin - -# Credentials -.env - -# Transcripts and summaries (large generated content) -transcripts/ -summaries/ - -# Binaries (downloaded by setup_whisper.py) -whisper-bin/ -ffmpeg-bin/ - -# Temp files -.whisper_bin_path -.ffmpeg_bin_path - -# WAV cache (converted from MP3) -audio_wav/ - -# Python -__pycache__/ -*.pyc -.venv/ - -# Logs -*.log +# Audio files +audio/ +*.mp3 +*.wav + +# Whisper models +models/ +*.bin + +# Manifest (machine-specific state) +manifest.json + +# Credentials +.env + +# Transcripts and summaries (large generated content) +transcripts/ +summaries/ + +# Binaries (downloaded by setup_whisper.py) +whisper-bin/ +ffmpeg-bin/ + +# Temp files +.whisper_bin_path +.ffmpeg_bin_path + +# WAV cache (converted from MP3) +audio_wav/ + +# Python +__pycache__/ +*.pyc +.venv/ + +# Logs +*.log diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..cc5360f --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,58 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +NLP Master is a personal audio-to-text pipeline that downloads, transcribes, and summarizes Romanian NLP course lectures from cursuri.aresens.ro/curs/26. It processes ~35 MP3 files (~58 hours total) across 5 modules (6th pending). + +## Architecture + +Three-stage batch pipeline, all driven by a shared `manifest.json`: + +1. **download.py** — Logs into the course site (credentials from `.env`), scrapes module/lecture structure, downloads MP3s to `audio/`. Updates manifest with download status. Resumable (skips existing files). + +2. **transcribe.py** — Reads manifest, converts MP3→WAV (16kHz mono via ffmpeg), runs whisper.cpp (`whisper-cli.exe`) for Romanian speech-to-text. Outputs `.txt` and `.srt` to `transcripts/`. Has a quality gate after the first module. Resumable. Supports `--modules 1-3` filter. + +3. **summarize.py** — Generates Claude-compatible prompts from transcripts (chunks long texts at sentence boundaries with overlap). `--compile` flag assembles all summaries into `SUPORT_CURS.md` master study guide. Summaries are in Romanian. + +**setup_whisper.py** — Auto-downloads whisper.cpp (Vulkan build for AMD GPU), ffmpeg, and the Whisper model. Called by `run.bat`. + +**run.bat** — Windows batch orchestrator: checks prerequisites, auto-installs missing components, creates venv, runs download→transcribe pipeline. Accepts optional module filter argument. + +## Commands + +```bash +# Full pipeline (Windows native) +run.bat # download + transcribe all modules +run.bat 4-5 # transcribe only modules 4-5 + +# Individual steps (from venv) +python download.py # download audio files +python transcribe.py # transcribe all +python transcribe.py --modules 1 # transcribe module 1 only +python summarize.py # print summary prompts to stdout +python summarize.py --compile # compile SUPORT_CURS.md from existing summaries + +# Setup components individually +python setup_whisper.py whisper # download whisper.cpp binary +python setup_whisper.py model # download Whisper model +python setup_whisper.py ffmpeg # download ffmpeg +``` + +## Key Design Decisions + +- **Platform split:** Scripts run on native Windows (whisper.cpp needs Vulkan GPU access). Claude Code runs from WSL2 for summaries. +- **Vulkan, not CUDA:** Hardware is AMD Radeon RX 6600M 8GB (RDNA2). whisper.cpp is built with Vulkan backend. +- **Model:** `ggml-medium-q5_0.bin` (quantized medium, fits in 8GB VRAM). Stored in `models/`. +- **manifest.json** is the shared state between all scripts — tracks download/transcribe status per lecture. Checkpointed after each file. +- **Resumability:** All scripts skip already-completed files. Safe to re-run after failures or when new modules appear. +- **Environment variables:** `COURSE_USERNAME` and `COURSE_PASSWORD` in `.env`. Optional: `WHISPER_BIN`, `WHISPER_MODEL` to override paths. + +## Dependencies + +Python packages (in requirements.txt): `requests`, `beautifulsoup4`, `python-dotenv` + +External tools (auto-installed by run.bat/setup_whisper.py): +- whisper.cpp (whisper-cli.exe) with Vulkan support +- ffmpeg (for MP3→WAV conversion) diff --git a/manifest.json b/manifest.json deleted file mode 100644 index a529e35..0000000 --- a/manifest.json +++ /dev/null @@ -1,533 +0,0 @@ -{ - "course": "NLP Master Practitioner Bucuresti 2025", - "source_url": "https://cursuri.aresens.ro/curs/26", - "modules": [ - { - "name": "Modul 1", - "module_id": "41", - "lectures": [ - { - "title": "Master 2025 Modulul 1 - Ziua 1 - partea 1", - "original_filename": "Master 25M1 Z1A [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z1A [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z1A [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z1A.txt", - "srt_path": "transcripts/Master 25M1 Z1A.srt", - "summary_path": "summaries/Master 25M1 Z1A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 228486429 - }, - { - "title": "Master 2025 Modulul 1 - Ziua 1 - partea 2", - "original_filename": "Master 25M1 Z1B [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z1B [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z1B [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z1B.txt", - "srt_path": "transcripts/Master 25M1 Z1B.srt", - "summary_path": "summaries/Master 25M1 Z1B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 237397902 - }, - { - "title": "Master 2025 Modulul 1 - Ziua 1 - partea 3", - "original_filename": "Master 25M1 Z1C [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z1C [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z1C [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z1C.txt", - "srt_path": "transcripts/Master 25M1 Z1C.srt", - "summary_path": "summaries/Master 25M1 Z1C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 235260881 - }, - { - "title": "Master 2025 Modulul 1 - Ziua 1 - partea 4", - "original_filename": "Master 25M1 Z1D [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z1D [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z1D [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z1D.txt", - "srt_path": "transcripts/Master 25M1 Z1D.srt", - "summary_path": "summaries/Master 25M1 Z1D_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 194361634 - }, - { - "title": "Master 2025 Modulul 1 Ziua 2 - partea 1", - "original_filename": "Master 25M1 Z2A [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z2A [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z2A [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z2A.txt", - "srt_path": "transcripts/Master 25M1 Z2A.srt", - "summary_path": "summaries/Master 25M1 Z2A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 220578693 - }, - { - "title": "Master 2025 Modulul 1 - Ziua 2 - partea 2", - "original_filename": "Master 25M1 Z2B [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z2B [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z2B [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z2B.txt", - "srt_path": "transcripts/Master 25M1 Z2B.srt", - "summary_path": "summaries/Master 25M1 Z2B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 226529515 - }, - { - "title": "Master 2025 Modulul 1 - Ziua 2 - partea 3", - "original_filename": "Master 25M1 Z2C [Audio].mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 25M1 Z2C [Audio].mp3", - "audio_path": "audio\\Master 25M1 Z2C [Audio].mp3", - "transcript_path": "transcripts/Master 25M1 Z2C.txt", - "srt_path": "transcripts/Master 25M1 Z2C.srt", - "summary_path": "summaries/Master 25M1 Z2C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 257356313 - } - ] - }, - { - "name": "Modul 2", - "module_id": "42", - "lectures": [ - { - "title": "Master 2025 Modulul 2 - Ziua 1 - partea 1", - "original_filename": "Audio Master 2025 M2 Z1A.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z1A.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z1A.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z1A.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z1A.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z1A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 258054778 - }, - { - "title": "Master 2025 Modulul 2 - Ziua 1 - partea 2", - "original_filename": "Audio Master 2025 M2 Z1B.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z1B.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z1B.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z1B.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z1B.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z1B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 216209835 - }, - { - "title": "Master 2025 Modulul 2 - Ziua 1 - partea 3", - "original_filename": "Audio Master 2025 M2 Z1C.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z1C.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z1C.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z1C.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z1C.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z1C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 193398314 - }, - { - "title": "Master 2025 Modulul 2 - Ziua 1 - partea 4", - "original_filename": "Audio Master 2025 M2 Z1D.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z1D.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z1D.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z1D.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z1D.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z1D_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 208041363 - }, - { - "title": "Master 2025 Modulul 2 - Ziua 2 - partea 1", - "original_filename": "Audio Master 2025 M2 Z2A.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z2A.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z2A.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z2A.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z2A.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z2A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 211064486 - }, - { - "title": "Master 2025 Modulul 2 - Ziua 2 - partea 2", - "original_filename": "Audio Master 2025 M2 Z2B.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z2B.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z2B.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z2B.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z2B.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z2B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 207999984 - }, - { - "title": "Master 2025 Modulul 2 - Ziua 2 - partea 3", - "original_filename": "Audio Master 2025 M2 Z2C.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M2 Z2C.mp3", - "audio_path": "audio\\Audio Master 2025 M2 Z2C.mp3", - "transcript_path": "transcripts/Audio Master 2025 M2 Z2C.txt", - "srt_path": "transcripts/Audio Master 2025 M2 Z2C.srt", - "summary_path": "summaries/Audio Master 2025 M2 Z2C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 184772743 - } - ] - }, - { - "name": "Modul 3", - "module_id": "43", - "lectures": [ - { - "title": "Master 2025 Modulul 3 - Ziua 1 - partea 1", - "original_filename": "Audio Master 2025 M3 Z1A.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z1A.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z1A.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z1A.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z1A.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z1A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 210586002 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 1 - partea 2", - "original_filename": "Audio Master 2025 M3 Z1B.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z1B.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z1B.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z1B.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z1B.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z1B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 255087574 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 1 - partea 3", - "original_filename": "Audio Master 2025 M3 Z1C.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z1C.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z1C.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z1C.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z1C.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z1C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 205669023 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 1 - partea 4", - "original_filename": "Audio Master 2025 M3 Z1D.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z1D.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z1D.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z1D.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z1D.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z1D_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 103415954 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 2 - partea 1", - "original_filename": "Audio Master 2025 M3 Z2A.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z2A.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z2A.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z2A.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z2A.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z2A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 208181205 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 2 - partea 2", - "original_filename": "Audio Master 2025 M3 Z2B.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z2B.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z2B.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z2B.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z2B.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z2B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 237693327 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 2 - partea 3", - "original_filename": "Audio Master 2025 M3 Z2C.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z2C.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z2C.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z2C.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z2C.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z2C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 197203071 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 2 - partea 4", - "original_filename": "Audio Master 2025 M3 Z2D.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z2D.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z2D.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z2D.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z2D.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z2D_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 120281751 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 3 - partea 1", - "original_filename": "Audio Master 2025 M3 Z3A.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z3A.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z3A.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z3A.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z3A.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z3A_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 203818014 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 3 - partea 2", - "original_filename": "Audio Master 2025 M3 Z3B.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z3B.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z3B.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z3B.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z3B.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z3B_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 141426812 - }, - { - "title": "Master 2025 Modulul 3 - Ziua 3 - partea 3", - "original_filename": "Audio Master 2025 M3 Z3C.mp3", - "url": "https://cursuri.aresens.ro/resurse/Audio Master 2025 M3 Z3C.mp3", - "audio_path": "audio\\Audio Master 2025 M3 Z3C.mp3", - "transcript_path": "transcripts/Audio Master 2025 M3 Z3C.txt", - "srt_path": "transcripts/Audio Master 2025 M3 Z3C.srt", - "summary_path": "summaries/Audio Master 2025 M3 Z3C_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 252042855 - } - ] - }, - { - "name": "Modul 4", - "module_id": "44", - "lectures": [ - { - "title": "Master 2025 Modulul 4 - Ziua 1 - partea 1", - "original_filename": "Master 2025 M4 Z1A -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z1A -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z1A -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z1A -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z1A -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z1A -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 248913052 - }, - { - "title": "Master 2025 Modulul 4 - Ziua 1 - partea 2", - "original_filename": "Master 2025 M4 Z1B -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z1B -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z1B -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z1B -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z1B -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z1B -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 210927678 - }, - { - "title": "Master 2025 Modulul 4 - Ziua 1 - partea 3", - "original_filename": "Master 2025 M4 Z1C -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z1C -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z1C -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z1C -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z1C -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z1C -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 227319425 - }, - { - "title": "Master 2025 Modulul 4 - Ziua 1 - partea 4", - "original_filename": "Master 2025 M4 Z1D -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z1D -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z1D -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z1D -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z1D -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z1D -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 183335625 - }, - { - "title": "Master 2025 Modulul 4 - Ziua 2 - partea 1", - "original_filename": "Master 2025 M4 Z2A -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z2A -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z2A -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z2A -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z2A -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z2A -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 220160622 - }, - { - "title": "Master 2025 Modulul 4 - Ziua 2 - partea 2", - "original_filename": "Master 2025 M4 Z2B -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z2B -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z2B -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z2B -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z2B -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z2B -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 172078409 - }, - { - "title": "Master 2025 Modulul 4 - Ziua 2 - partea 3", - "original_filename": "Master 2025 M4 Z2C -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master 2025 M4 Z2C -Audio-.mp3", - "audio_path": "audio\\Master 2025 M4 Z2C -Audio-.mp3", - "transcript_path": "transcripts/Master 2025 M4 Z2C -Audio-.txt", - "srt_path": "transcripts/Master 2025 M4 Z2C -Audio-.srt", - "summary_path": "summaries/Master 2025 M4 Z2C -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 195028889 - } - ] - }, - { - "name": "Modul 5", - "module_id": "45", - "lectures": [ - { - "title": "Master 2025 Modulul 5 - Ziua 1 - partea 1", - "original_filename": "Master25 M5 4K Z1A -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z1A -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z1A -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z1A -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z1A -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z1A -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 181683315 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 1 - partea 2", - "original_filename": "Master25 M5 4K Z1B -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z1B -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z1B -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z1B -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z1B -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z1B -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 215257187 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 1 - partea 3", - "original_filename": "Master25 M5 4K Z1C -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z1C -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z1C -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z1C -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z1C -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z1C -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 233139107 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 1 - partea 4", - "original_filename": "Master25 M5 4K Z1D -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z1D -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z1D -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z1D -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z1D -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z1D -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 268886625 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 2 - partea 1", - "original_filename": "Master25 M5 4K Z2A -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z2A -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z2A -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z2A -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z2A -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z2A -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 131424916 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 3 - partea 1", - "original_filename": "Master25 M5 4K Z3A -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z3A -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z3A -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z3A -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z3A -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z3A -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 212945322 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 3 - partea 2", - "original_filename": "Master25 M5 4K Z3B -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z3B -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z3B -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z3B -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z3B -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z3B -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 226194511 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 3 - partea 3", - "original_filename": "Master25 M5 4K Z3C -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z3C -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z3C -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z3C -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z3C -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z3C -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 289911605 - }, - { - "title": "Master 2025 Modulul 5 - Ziua 3 - partea 4", - "original_filename": "Master25 M5 4K Z3D -Audio-.mp3", - "url": "https://cursuri.aresens.ro/resurse/Master25 M5 4K Z3D -Audio-.mp3", - "audio_path": "audio\\Master25 M5 4K Z3D -Audio-.mp3", - "transcript_path": "transcripts/Master25 M5 4K Z3D -Audio-.txt", - "srt_path": "transcripts/Master25 M5 4K Z3D -Audio-.srt", - "summary_path": "summaries/Master25 M5 4K Z3D -Audio-_summary.md", - "download_status": "complete", - "transcribe_status": "pending", - "file_size_bytes": 222780725 - } - ] - }, - { - "name": "Modul 6", - "module_id": "46", - "lectures": [] - } - ] -} \ No newline at end of file