Реалізація автоматичного транскрибування подкастів Транскрибація подкастів відкриває контент для SEO, робить його доступним слабким, дозволяє створювати статті та тези з аудіоконтенту. Основні вимоги: гарна якість на розмовній мові кількох розмовляючих, підтримка довгих записів (1-3 години). ### Оптимальний стек Whisper large-v3 + pyannote діаризація - найкращий open-source вибір для подкастів. AssemblyAI — найкращий хмарний варіант із готовою діаризацією та chapter detection. ### Швидке рішення через AssemblyAI```python
import assemblyai as aai
aai.settings.api_key = ASSEMBLYAI_KEY
config = aai.TranscriptionConfig( language_code="ru", speaker_labels=True, # диаризация punctuate=True, format_text=True, auto_chapters=True, # автоглавы entity_detection=True, # упоминания людей/компаний iab_categories=True, # категоризация контента )
transcriber = aai.Transcriber(config=config) transcript = transcriber.transcribe("https://podcast.example.com/episode.mp3")
Вывод с атрибуцией говорящих
for utterance in transcript.utterances: print(f"[Спикер {utterance.speaker}] {utterance.text}")
Автоглавы
for chapter in transcript.chapters:
print(f"## {chapter.headline} ({chapter.start//1000}с)")
print(chapter.summary)
### Self-hosted для довгих записівpython
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="int8_float16")
def transcribe_podcast(audio_path: str) -> str: segments, _ = model.transcribe( audio_path, language="ru", vad_filter=True, vad_parameters={"min_silence_duration_ms": 1000}, word_timestamps=False, beam_size=5 ) return "\n".join(seg.text for seg in segments)







