Topic Modeling From Audio: LDA, BERTopic, and LLM Clustering (2026)
topic-modelingresearchai

Topic Modeling From Audio: LDA, BERTopic, and LLM Clustering (2026)

BMMamane B. MoussaMay 26, 2026Updated July 2, 202613 min read

Summarize this article with:

From Hours of Audio to a Topic Map

Topic modeling on audio means two steps: transcribe the recordings into text, then run a modeling algorithm over the resulting corpus. The algorithm finds clusters of related content across all documents so you can produce a defensible theme list in hours rather than weeks. This post covers the three approaches worth knowing in 2026, when to use each, and a practical workflow that takes a pile of recordings to a clean topic taxonomy.

The scale of the problem usually motivates the investment. Reading through 30 hours of interview transcripts word by word takes a week. Picking three random transcripts is biased and unsystematic. Topic modeling applied across a full corpus is the tool that makes qualitative analysis at scale tractable for a single researcher or a small team.

Why Transcription Quality Sets the Ceiling

Topic modeling treats every word as a signal, so transcription errors propagate into your themes. If "Kubernetes" gets transcribed as "couvernettes" across dozens of interviews, the algorithm sees a novel word and may produce a spurious cluster for it. The problem compounds: a 30-hour corpus might contain 400,000 words, and even a 5% error rate injects 20,000 corrupted tokens into the signal.

For most English audio, a model targeting 95-98% word accuracy is sufficient. Domain-specific terminology in medical, legal, or technical interviews benefits from vocabulary tuning before transcription because technical terms fail more often than common words.

Speaker diarization is optional but often worthwhile. In structured research interviews, the interviewer asks similar questions across all sessions. Those repeated questions form their own topic cluster, which is structural noise rather than participant content. Diarization lets you filter to participant turns only before modeling, which tightens the themes you extract. See speaker diarization explained for how the technology works.

If you need to transcribe a corpus of recorded interviews, ConvertAudioToText's interview tool handles batch audio without requiring account setup for quick tests.

Interview transcription tool ready to accept audio files for a topic modeling pipeline
Interview transcription tool ready to accept audio files for a topic modeling pipeline

The Three Approaches, Honestly Compared

Three methods dominate in production use. They differ in what they require from you, what they produce, and what they cost.

LDA (Latent Dirichlet Allocation)

The classical method, developed in 2003 and still widely used. Each document is modeled as a mixture of topics, each topic as a probability distribution over words. The output is a fixed number of topics, each represented as a ranked list of words.

Strengths: Fast, well-understood, interpretable output. The failure modes are documented after two decades of use. The Python tooling (gensim, scikit-learn) is mature and stable. Runs on CPU without GPU requirements.

Weaknesses: Requires preprocessing: tokenization, stopword removal, lemmatization. Topics emerge as word lists, not labeled concepts, so a human still has to write the labels. Struggles with short documents and small corpora where there are not enough word co-occurrences to estimate distributions reliably.

When to use: Large corpora of 500 or more documents, exploratory analysis where you want a fast first pass, pipelines already built around Python NLP tools.

BERTopic

BERTopic embeds documents using transformer sentence encoders, reduces dimensionality, clusters by semantic similarity (typically with HDBSCAN), then extracts representative words per cluster using c-TF-IDF. The result is topics defined by meaning rather than word frequency.

The library is actively maintained with recent additions including zero-shot topic modeling, model merging, and LLM-based topic labeling as a post-processing step. It supports 50-plus languages out of the box.

Strengths: Better semantic coherence than LDA, particularly for domain-specific or short-text corpora. Cluster count is data-driven, not fixed in advance. An optional LLM pass can label clusters with human-readable names.

Weaknesses: Slower than LDA. More components to configure (embedding model, dimensionality reducer, clusterer). Sensitivity to hyperparameter choices means results can vary between runs. Research comparing BERTopic and LDA coherence scores shows mixed results depending on corpus: BERTopic wins on semantic interpretability for most marketing and interview corpora, while LDA can outperform on coherence metrics for narrow-vocabulary domain text.

When to use: Corpora of 100 to 10,000 documents, research where semantic coherence matters more than statistical purity, situations where you have a GPU or can tolerate longer CPU runtimes.

LLM-Based Clustering

An approach that became practical between 2024 and 2026: the LLM does the clustering directly via prompting. Each transcript is summarized into key themes, the summaries are fed to the LLM with a prompt requesting a taxonomy, and the LLM returns labeled clusters with example quotes.

Strengths: Highest semantic coherence. Topics arrive with human-readable labels and example passages. No preprocessing pipeline to build.

Weaknesses: Cost scales with token volume. Each audio-hour produces roughly 7,000-10,000 words of transcript; summarizing and clustering a 30-interview corpus through a frontier API runs in the low-to-mid single dollars depending on the model tier and prompt design. Topic structure can vary between runs at a rate statistical methods do not, because the LLM is generative rather than deterministic.

When to use: Small to medium corpora of 10 to 150 documents, when the audience for the analysis needs legible output without a labeling step, when compute budget is available.

At a Glance

LDABERTopicLLM Clustering
Corpus minimum50-100 docs50 docs5-10 docs
Preprocessing requiredYes (tokenize, lemmatize)MinimalNone
Topic countFixed by youData-drivenYou specify in prompt
Semantic coherenceMediumHighHighest
Labels out of boxNoPartial (via LLM add-on)Yes
Run-to-run stabilityHighMediumLower
GPU neededNoOptionalNo (API-based)
Cost per 100 docsNear zeroNear zero + electricityPennies to low dollars

Preparing Your Transcripts for Each Method

The prep steps differ enough to matter.

For LDA:

  1. Tokenize each transcript into words.
  2. Remove stopwords ("the," "is," "and" and similar noise).
  3. Lemmatize so inflected forms collapse to a root ("running," "ran," "runs" all become "run").
  4. Build a document-term matrix.
  5. Choose a topic count, typically 5 to 20, and evaluate coherence at a few values rather than guessing once.

For BERTopic:

  1. Split transcripts into sentences or short paragraphs, not whole documents, so each unit carries a focused meaning.
  2. Run through a sentence transformer to get embeddings (the all-MiniLM-L6-v2 model is a common starting point).
  3. Let BERTopic's default pipeline handle dimensionality reduction and clustering.
  4. Review the cluster assignments and merge any clusters that are clearly variants of the same theme.

For LLM clustering:

  1. Summarize each transcript into 5 to 10 key points or themes using a structured prompt (see the structured output vs summary prose post for prompt patterns that produce consistent format).
  2. Feed all summaries to the LLM with a prompt asking it to group them into N themes and label each.
  3. For each theme, run a follow-up prompt asking for three to five representative direct quotes from the source transcripts.

Labeling and Validating the Output

No method produces publish-ready output. The model finds clusters; you label and validate them.

For LDA, the output looks like:

Topic 1: pricing, plan, expensive, value, cost, charge, monthly
Topic 2: integration, slack, zapier, api, automate, workflow
Topic 3: support, help, response, ticket, slow, never

The labels are inferrable here (pricing concerns, integration use cases, support frustration) but require a human sentence per topic. For 10 topics across 30 interviews, the labeling step is 15 to 30 minutes.

BERTopic produces similar word lists, often more semantically coherent. LLM clustering produces draft labels directly, which usually need light editing rather than writing from scratch.

The validation step gets under-allocated. A topic with 200 supporting documents may turn out to be 180 documents about one thing and 20 documents about something different that the model conflated. Spot-checking the top 5 documents per topic catches most of these conflations before the themes go into a report.

Archive and Research Corpus Use Cases

The research-interview use case gets most of the attention in write-ups about topic modeling, but archival and historical audio collections are where the scale case is most compelling.

Oral history projects, radio broadcast archives, and recorded focus-group libraries often contain hundreds to thousands of hours of audio accumulated over years. Manual thematic analysis of an archive that size is essentially impossible for a small team. A topic modeling pipeline changes the question from "which recordings do we analyze" to "what does the whole collection say," which is a different and more powerful research instrument.

For archive work, a few practical notes:

Audio quality varies more than in controlled interviews. Older recordings, field recordings, and telephone interviews may contain significant noise that degrades transcription accuracy and, downstream, topic quality. Reviewing a sample of 10-20 transcripts before committing to the full pipeline catches audio quality problems early.

LDA at scale handles very large corpora efficiently. Running BERTopic on 5,000 documents with default settings is feasible but slow on CPU. The library's MEGA-scale variant supports multi-GPU processing for collections where that matters.

Cross-collection comparison is a use case LDA and BERTopic handle well. If you have two corpora collected at different times or under different conditions, you can train a model on one and infer topic distributions on the other, giving you a way to track how themes shifted. The sentiment analysis from transcripts post covers a complementary approach for tracking valence alongside themes.

A Practical Workflow: 30 Interviews to a Theme Report

Here is a concrete sequence for a mid-size qualitative research project:

  1. Recording phase. 30 hours of audio across all interviews.
  2. Transcription. Upload all recordings. Parallel processing handles multiple files simultaneously; elapsed time for 30 hours is roughly 1.5 to 2 hours depending on queue depth.
  3. Diarization filter. Export participant turns only, excluding interviewer questions, to avoid structural interview scaffolding appearing as a topic.
  4. Topic modeling. Run BERTopic on the participant turns. On a modern laptop CPU, 30 one-hour transcripts takes 20 to 40 minutes.
  5. Labeling. A researcher labels the 8 to 15 topics that emerge. 30 to 60 minutes.
  6. Quote extraction. Pull 3 to 5 representative quotes per topic. 20 to 30 minutes.
  7. Synthesis. Write the themes section of a research report using the labeled topics and quotes as scaffolding.

Active researcher time: roughly 3 to 5 hours for a corpus that would take 30 to 60 hours to analyze manually via listening and line-by-line coding. The tradeoff is statistical noise in the cluster assignments and the validation overhead to catch model errors before they reach the report.

Tooling Recommendations

For Python-based workflows:

  • gensim: Long-standing LDA implementation. Well-documented, easy to start with. Version 4.x, actively maintained.
  • BERTopic: Current general-purpose recommendation. Modular pipeline, active development, integrates with major embedding models and LLMs for post-hoc labeling.
  • scikit-learn: Includes LDA and clustering primitives if you want to build a more custom pipeline.

For GUI-first researchers:

  • NVivo: Commercial qualitative research tool with built-in coding and emerging AI features.
  • MAXQDA: AI-assisted coding and summarization via MAXQDA AI Assist, with independent research suggesting it maps human codings more accurately than competing tools' AI integrations.
  • ATLAS.ti: Longstanding qualitative tool with an AI Lab offering LLM-based code suggestions, though independent reviews note the output requires significant manual pruning.

My take on the GUI tools: all three have added AI features, but none is AI-native. They work well for researchers who want point-and-click workflows and are not comfortable with Python. For large corpora or reproducible research pipelines, code-based approaches give you more control and transparency.

For LLM-based clustering:

  • OpenAI's structured outputs: Consistent JSON-schema-enforced responses make clustering reliable without brittle parsing.
  • Anthropic Claude: Performs well on qualitative reasoning and produces coherent theme taxonomies with good labeling.
  • Open-source models via Ollama: Viable for budget-sensitive projects; quality varies more than frontier APIs but cost is near zero for local inference.

Common Pitfalls

Too Few Documents

Statistical methods need enough documents for stable clusters. Below 20 interviews, LDA and BERTopic often produce topics that change substantially between runs. For small corpora, LLM clustering is more reliable because it reasons over meaning rather than estimating distributions.

Garbage Transcripts

Transcription accuracy below 90% injects enough noise that the topics that emerge reflect errors as much as content. See how to improve transcription accuracy for the prep steps that matter most.

Wrong Topic Count for LDA

LDA requires you to specify the number of topics before running. Too few and themes get crowded together; too many and they fragment into near-duplicates. Coherence metrics (specifically the C_v score) help find a defensible number, but trying three or four values and comparing the human-labeled output is more reliable than trusting the metric alone.

Ignoring Interview Structure

A structured interview where the same questions appear across 30 sessions will produce a topic cluster for those questions. That cluster represents the interview protocol, not participant views. Filter interviewer turns before modeling. The effect is most pronounced in question-heavy interviews where the interviewer speaks 30-40% of the words.

Treating Topics as Truth

Topic modeling is a clustering hypothesis, not a description of reality. The themes that emerge are starting points for analysis. Validate each topic against the source transcripts before publishing or acting on it. The ai vs human transcription post covers related questions about when statistical output needs human verification.

Common Questions

Do I need transcripts before I can run topic modeling on audio?

Yes. No major topic modeling library operates directly on audio. You transcribe first, then feed the text to your modeling pipeline. The quality of your transcripts sets a ceiling on the quality of your topics, so accurate transcription is worth the investment.

How many interviews or recordings do I need for topic modeling to work?

Statistical methods like LDA need at least 50-100 documents for stable clusters. Below 20, results vary significantly run to run. For small corpora of 5-20 recordings, LLM-based clustering is more reliable because it reasons over meaning rather than counting word frequencies.

What is the difference between LDA and BERTopic in practice?

LDA treats each document as a mix of topics defined by word frequencies. BERTopic embeds documents into semantic space first, then clusters on meaning. BERTopic topics tend to be more semantically coherent, but results depend on corpus size and hyperparameter choices. For large corpora with clear vocabulary patterns, LDA is faster and the results are easier to audit. For messy or short documents, BERTopic usually wins.

Should I filter out interviewer questions before modeling participant responses?

Usually yes. If your corpus follows a structured interview format, the interviewer's repeated questions become their own topic cluster, which is noise rather than signal about participant views. Speaker diarization lets you keep only the participant turns. The effect is most pronounced when the same questions appear across dozens of interviews.

Sources

Try transcription free

Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 30 minutes free, no account.

Related Articles