← Voice AI Studio

Build toward expertise

Work through the lessons and build these projects alongside them. For each stage, explain the theory, produce something that works, investigate a failure and get feedback. Watching videos and passing a short quiz are useful beginnings; expertise also needs substantial independent work.

The lesson order was revised on 3 November 2026. Existing notes and passes remain saved under their original topic IDs. These portfolio projects need separate evidence: an older lesson pass does not mark a new project complete. Keep a local project folder and record a short summary in My notebook. The studio does not run models or grade your external projects.

1 · Write a small program you understand

If you already use Python comfortably, treat this as an optional readiness check and continue to the audio lab. Otherwise, use the optional V02–V05 lessons and build a command-line program that reads a JSON event file, validates durations and reports speech, silence, other and total milliseconds. Use the functions you wrote in the lessons.

  1. Create a folder with events.json, your Python file and a README explaining the command.
  2. Start with speech 120 ms, silence 50 ms and speech 80 ms. Predict the results before running.
  3. Add an empty list, one event, an unknown kind, a missing duration and a negative duration. Decide and document whether unknown kinds go into other or are rejected.
  4. Separate file reading from calculation so you can test the function using supplied lists.
  5. Save your work in Git, then follow the README from a new practice folder.

Check: speech 200 ms, silence 50 ms, total 250 ms, other 0 for the first fixture. Invalid durations produce a clear error. Keep the program, fixtures and expected-output notes. Explain why these supplied labels do not make the program a speech detector.

2 · Inspect and change actual audio

After V06 and V11–V16 in curriculum order, complete the local audio lab. Keep the report, your predictions and a modified version. Explain frequency, level, channels, sample rate, filter boundaries and spectral window choices without relying on the labels in the answer sheet.

3 · Prepare data before choosing a model

Start with V10, then complete V20 before using a speech dataset. Create a manifest validator and a one-page data card for your intended task.

  1. Define the task: for example, transcribing short public-information questions in one language.
  2. Choose a dataset whose audio and annotations permit your intended use. Read its dataset card, licence, access restrictions and speaker information. Keep the rights reference; an accessible download is insufficient by itself.
  3. Record clip ID, local path, language, speaker/session groups where available, format, transcript policy, rights reference and split.
  4. Check missing fields, duplicate content and your grouping rule. If the dataset does not identify speakers, state that limitation rather than claiming an unseen-speaker split.
  5. Make a small development selection and keep a separate final selection. Choose settings using development material. Preserve original references and document any text normalisation.

Your validator should reject the deliberately malformed rows from V20 and flag a speaker crossing a split when your design requires unseen speakers. A data card should explain what the material covers, what it excludes and what claims remain unsupported. Keep private recordings and transcripts outside the studio notebook.

Bridge · Learn the tools before the speech notebooks

After V17–V19, learn NumPy arrays and PyTorch tensors. A tensor library performs the same kinds of operations you traced by hand, with more dimensions and automatic differentiation. Do not skip this bridge if the model examples are hard to read.

  1. Use NumPy's beginner guide for array creation, shape, indexing, slicing, axes and basic operations. Recreate V07's matrix calculation and explain the difference between elementwise multiplication and matrix multiplication.
  2. Follow PyTorch Learn the Basics through tensors, datasets/loaders, model construction, automatic differentiation, optimisation and saving/loading. Work through the tutorial exercises in your own environment before adapting a speech model.
  3. Recreate V18's positive scalar case with tensors and automatic differentiation. Compare the gradients with your hand calculation. Explain which values are parameters and when gradients are cleared.
  4. In a project-specific virtual environment, follow the official installation instructions for your actual operating system and device. Learn CPU versus accelerator placement and integer versus floating-point types.
  5. Save Python and package versions, hardware, the exact model identifier/revision and the data revision. Follow the current audio-loading documentation if an older course's decoding example differs from the installed library.

Read a notebook before running all its cells. Local pretrained models download weights and need disk space and compute. Hosted notebooks or services may transmit data and charge for resources. Choose the environment and budget deliberately; the studio does not start those jobs. No particular hardware purchase is required by this guide.

4 · Build a recogniser and explain its mistakes

Begin after V20 and V23 plus the model-tools bridge. Finish V25 before interpreting the results. Use the official introductory ASR walkthrough to understand the data-to-transcript path, with the current ASR documentation for supported APIs. Course examples may use older package behaviour; preserve your working setup rather than silently mixing versions.

  1. Use a small, permissioned development selection from your manifest. Ten short clips are enough for this first debugging exercise; they are not enough to establish broad accuracy.
  2. Choose an explicit model checkpoint and revision appropriate to the language. Read its model card and hardware/input requirements. Do not rely on a changing default model.
  3. Inspect one decoded waveform and make a labelled waveform plot and spectrogram using documented audio/plotting tools. Confirm sample rate, channel handling, duration and feature settings. Explain the plot's axes before inference.
  4. Run one example using the official recipe in your chosen environment. Save the actual raw output and settings. Distinguish download/setup time from inference time.
  5. Process your development clips and align the outputs with references using V25's text rules. Keep substitutions, deletions, insertions and reference-word counts. Inspect names, numbers, negations and unsupported completions separately.
  6. Freeze your chosen configuration before inspecting the final selection. Save its outputs without tuning on them. Report the small sample and any speaker/session limits.
  7. Write a short diagnosis of at least two actual failures. If no failure appears in this small set, say so and explain what remains untested; do not invent results.

Keep: a runnable notebook/script, environment record, rights-aware manifest, plots, saved raw transcripts, alignment table and limitations. A reviewer should be able to inspect a wrong word against the audio and follow your counts. For advanced work, continue the speech-recognition units and model-training material after the relevant maths and tool prerequisites; a pipeline call alone does not demonstrate modelling expertise.

5 · Generate speech and check what it says

After V28–V31, use the official pretrained TTS walkthrough to implement a documented model in a separate project environment. Use a voice whose permitted use covers this task. Do not assume a model or speaker embedding licence grants unrestricted imitation rights.

  1. Create your own eight non-sensitive test sentences: ordinary information, a name, a date, a time, an abbreviation, an identifier with leading zeros, a question and a longer sentence.
  2. Write the intended spoken form before generating. Fix the language and locale, and use structured fields for ambiguous dates and identifiers.
  3. Record the checkpoint/revision, text processing, voice source/permission, generation settings, sample rate and any vocoder. Check feature compatibility, not just feature dimensions.
  4. Generate the outputs using the official recipe. Save input text and actual output files locally. Listen or obtain appropriate transcription feedback; a spectrum alone cannot establish that the words are correct.
  5. For each output, separately record content omissions/repetitions, pronunciation issues, intelligibility and naturalness impressions. Do not turn one personal impression into a population MOS result.
  6. Fix one clearly identified issue and repeat that case, preserving both versions. Document exactly what changed.

Keep: the working implementation, sentence list, authorised voice record, actual output files and a review table. Explain the model's alignment and waveform path. A larger listener study or voice adaptation project needs its own appropriate permissions, protocol and resources.

6 · Build a complete, useful voice application

After V32–V40 and the controller workshop in V43, connect your recogniser and synthesiser to a read-only information assistant. A sensible first version answers opening-hour questions from a small versioned local document. Use the official integration examples for architecture ideas, then implement a deliberately small task you can explain.

  1. Complete the controller contract with synthetic events. Preserve its stale-generation, current-proposal and duplicate-operation checks.
  2. Connect recorded input and real ASR output. Show the transcript, reply text and actual spoken output. Start with push-to-talk or an explicit done control before adding automatic endpointing.
  3. Use a fixed source and a simple local response rule first. Add retrieval or a chosen language model only when it helps the task, while keeping source provenance and tool validation in application code.
  4. Add live microphone capture in your local application with an explicit permission step. Display recording status and a persistent stop control. Keep text entry and visible replies available.
  5. Make cancellation stop queued playback and reject late results. Test pause/continuation, repeated clicks, interruption, missing source information, a service failure and switching to text.
  6. Record the last input sample, endpoint decision, recognition completion, tool completion and first audible output in appropriate clock domains. Explain overlap, queueing and any timing you cannot observe reliably.
  7. Write an operating note covering secrets, data retention, resource limits, supported language, failure messages and how to disable the service.

Keep: working source and setup instructions, a demonstration using non-sensitive material, event traces, a keyboard walkthrough and an honest failure log. Distinguish this real audio integration from the simulated controller. Begin with read-only work; reservation writes need separate persistent authentication, authorisation, transaction and idempotency implementation. A speaking demo is not evidence those write protections exist.

7 · Develop specialist depth

After V42–V44 and the earlier projects, choose a specialism. Plan substantial work over months, with the time depending on your background, available study hours and feedback. There is no fixed number of daily lessons that guarantees expertise.

What you should be able to demonstrate

Choose a project with real technical depth

Use the full problem sets and project work linked in the curriculum to repair mathematical gaps. Stanford CS224S illustrates university-level speech work and prerequisites; its course recordings may require enrolment. The Hugging Face Audio Course provides practical speech-model study and expects prior deep-learning preparation. Neither public resource makes this studio an accredited programme.

Get an independent review

Ask an experienced speech engineer, researcher or suitable mentor to review the question, code, mathematical explanation, data boundaries, actual outputs and failure analysis. Record what they challenged and how you responded. If that feedback is still missing, mark it as missing. A course progress bar cannot supply it.

Finish with an original proposal that distinguishes prior work, your completed evidence and the next unresolved question. Broad understanding plus repeated, well-reviewed specialist projects is a credible direction toward expertise; completing 44 introductions alone is not a master's degree, a PhD or proof of expert competence.

Return to your curriculum →