Course narration is not the easiest case for AI speech, and not because of quality. A single module means dozens of generations that must sound like one person, delivered on a schedule, within a monthly audio budget. The work is in production discipline rather than in the voice itself.
V
aivoicegen Team
AI Voice Synthesis
What Course Narration Actually Requires
Before choosing a voice, it helps to be clear about which properties of AI speech cause trouble in this specific use case. They are not the same properties that matter for an advertisement or a short social clip.
Requirement
Why it is hard here
Consistency across many lessons
A course is dozens of separate generations; each one can drift
Technical vocabulary
Denser in course material than in almost any other genre
Long scripts
A single generation is capped at 10,000 characters
Low listener tolerance for flat delivery
Learners hear the same voice for an entire module
Predictable cost
Audio quota is monthly, and a whole course is a lot of audio
The listener-tolerance point deserves emphasis because it inverts the usual instinct. In a thirty-second ad, an expressive voice is an asset. In a forty-minute module, the same expressiveness becomes tiring, because there is nowhere for the listener to rest. Course narration rewards restraint.
The technical-vocabulary point matters just as much. Course material contains terms not in common usage, often inconsistently pronounced even by human narrators. Build a term list before generating; catching these in review is far slower.
Keeping One Voice Across a Whole Course
Consistency is a bookkeeping problem more than a technical one. Two changes cause most of the drift people report: re-selecting a "similar" voice later in production, and leaving emotion or language settings at whatever the previous generation used.
Write the spec once, then reuse it verbatim
Before the first lesson, record the following and paste them unchanged into every generation for the life of the course:
Voice ID, copied rather than chosen by display name
Language setting, including whether auto is in use
Emotion value, normally calm for teaching delivery
Output format: wav for editing, mp3 for upload
Sample rate: 32000 Hz, the engine default and ceiling
Any speed or loudness changes made afterward in your editor
The catalog holds 304 voices, loaded live from the engine rather than fixed in the page, so it can reorder between sessions. That is precisely why the ID must be recorded. Re-selecting by name partway through a course is the most common cause of a lesson that sounds like a different instructor.
Establish the reference lesson first
Produce and approve one complete lesson before producing the rest. Keep that file. Every later lesson is compared against it, and it is the fastest way to catch a settings change that slipped in.
How to fix drift after it happens
Drift is usually one of three things. Settings differ from the reference, so re-apply the spec exactly and regenerate. Settings match but the voice ID differs, so paste the ID back. Both match, in which case the difference is emotional drift within a long script, which the script structure below reduces.
If your course belongs to an instructor or organization, a cloned voice is worth considering. The voice cloning guide covers reference audio requirements, and there is one timing detail to note: a cloned voice that is not used in a real generation within 7 days is deleted, so a clone made well ahead of your production start will not still be there when you begin.
Structuring Scripts to Fit the Limits
Synchronous synthesis accepts up to 10,000 characters per generation. A written lesson easily exceeds that, and hitting the cap mid-lesson produces an awkward break. Structure the script before you generate, not after.
Split on meaning, not on length
The natural unit is a section or a single idea. Splitting at sentence boundaries that already carry a pause gives you clean seams and avoids the mid-thought cut that makes an edit obvious to a listener.
Aim for 2,000 to 5,000 characters per generation. Well inside the cap, and short enough to regenerate cheaply when something needs fixing.
Never split mid-sentence to stay under the cap.
Keep a single section's text together even if it would fit better split, so that a revision means regenerating one block.
Give every block an identifier matching the outline, so a re-record request is unambiguous.
Write for a voice, not for the page
Lesson scripts are usually written to be read silently, which produces text that sounds wrong aloud. Specific adjustments that matter:
Expand abbreviations and symbols on first use. A listener cannot re-read a spoken acronym.
Write numerals that will be read sensibly, or spell out small numbers where context matters.
Use short sentences. Long subordinate clauses are the hardest thing to listen to for a sustained period.
Replace bullet fragments with full sentences; the listener cannot see the bullet.
Keep code identifiers pronounceable, or read them as prose rather than character by character.
Punctuation is a pacing control
Commas, periods, and paragraph breaks set the pauses. A script formatted for reading tends to have too few, and the result is rushed. Use them deliberately to pace the delivery instead of correcting it later.
Delivery Settings for Teaching
Nine emotion values are available: happy, sad, angry, fearful, disgusted, surprised, calm, fluent, and whisper. For course narration, calm is the default choice and fluent is a reasonable alternative for conversational material.
The recommendation to stay restrained is not a claim that expressive settings fail on course material. They work. It is that a learner hears the same voice for tens of minutes, and sustained expressiveness fatigues faster than it engages.
Using emphasis without drifting
Where a lesson genuinely needs energy, keep the emotion constant across the course and create emphasis through structure instead. Shorten the sentence. Pause before the key point. Repeat it once. These are text and timing decisions, and they keep the voice identical lesson to lesson.
If you do use a second emotion for a specific segment, apply it per block rather than mid-utterance. Changing emotion inside a sentence produces an audible seam, because the state is interpreted across the whole utterance.
For the tradeoffs between voices and the full emotion reference, see the voice selection guide. The education solutions page covers how this fits a broader course production workflow.
Producing Lessons Efficiently
Generating lesson by lesson by hand does not scale to a full curriculum. Two changes remove most of the friction.
Batch across the course, not within a lesson
The batch text-to-speech tool takes many text blocks in one submission with shared settings, which suits course work: one block per section, all using the locked course spec.
Order production by risk, not by lesson number
Do not start with lesson one. Start with the most technically dense lesson, the one with the most proper nouns, or the one closest to a live recording you already have. Those are where problems surface, and finding them while your production spec is still flexible costs far less than finding them in week six.
Generate one dense lesson end to end first and review it fully.
Adjust the script-writing rules based on what you hear, then apply them to the rest.
Batch the remaining lessons once the rules are settled.
Normalize loudness across the finished set as one batch, not per file.
Normalization is worth calling out. Separate generations vary slightly in perceived level, and a course where module two is quieter than module one is noticed immediately. Normalize the finished set together, not file by file.
Keep the editing master lossless. For courses that are updated over time, regenerating a changed lesson from a lossy master compounds artifacts. Store wav or flac, and export compressed files only at upload.
Output Format and Sample Rate for Lessons
Seven formats are available: mp3, pcm, flac, wav, pcmu_raw, pcmu_wav, and opus. For course work, the useful pair is wav for editing and mp3 for delivery. The pcmu formats are 8 kHz telephony formats that do not suit course delivery.
Available sample rates are 8000, 16000, 22050, 24000, 32000, and 44100 Hz. The engine's ceiling is 32 kHz, which is the default, and measured output comes back as 32 kHz mono. Requesting 44100 Hz does not produce a 44.1 kHz file, so the two highest settings amount to one target.
For lesson narration, 32 kHz is the right answer. Dropping to 16 kHz is audibly duller and only makes sense for interface prototypes and voice assistants, and 8 kHz is a deliberate telephone effect. Raising beyond 32 kHz is not available.
Plan for mono. Mono is appropriate for narration and avoids decisions about stereo width that add nothing for spoken content. The FAQ covers format and rate questions in more detail.
Planning Your Monthly Quota
Course production is metered on two axes: characters per generation and seconds of audio per month. A curriculum hits the second axis first, because narration is continuous while scripts are not.
Plan
Price
Per generation
Per month
Free
$0
120 characters
600 seconds of audio
Pro
$24.99
1,000 characters
3,000 seconds
Enterprise
$99.99
4,000 characters
12,000 seconds
Put those numbers against your own material rather than against a general impression. 3,000 seconds is roughly 50 minutes of narration. 12,000 seconds is roughly 3 hours and 20 minutes. A ten-module course of forty-minute lessons is about 6 hours and 40 minutes, which is exactly double the Enterprise allowance, so a course that size needs two months of quota. That is the kind of comparison worth making before choosing, and it is arithmetic rather than marketing.
Why the per-generation limit shapes your script
The Free tier's 120-character limit is roughly two or three sentences, which makes it a reasonable way to audition voices and settings but not a way to produce a course. The Pro limit of 1,000 characters is comfortable for a single section. The Enterprise limit of 4,000 characters is close to the 2,000 to 5,000 character block size recommended above, which means most sections fit in a single request at that tier.
Revisions count against quota like new material does, which is the practical reason to fix your script-writing rules early. A course rewritten badly costs twice.
Current plans and full feature details are on the pricing page.
Production Checklist
In order, before production begins:
Select one voice and record its ID, language, emotion, format, and sample rate as a fixed spec.
Produce one dense lesson as a reference and review it completely.
Write your pronunciation list for technical terms and proper nouns.
Set your script block size, between 2,000 and 5,000 characters, split on meaning.
Estimate total course audio against the monthly seconds allowance and pick a plan.
Produce the remaining lessons in batch using the locked spec.
Normalize loudness across the finished set as one batch.
Keep lossless masters; export delivery files at upload.
One last item, which is easy to overlook: courses change. Keep the master audio and the source scripts, because a corrected lesson means regenerating from text.
If your content also has video, the AI video dubbing guide covers transcription and re-dubbing.
Start With One Lesson
Produce a single module end to end, judge the result against your own material, then scale.