ASR ears
Notes you click through Built from model code, weight files, papers and small real tests.

What does a speech model actually hear?

Sound goes in, text comes out. In between sit the ears: the part that turns air pressure into numbers a writer can read. These pages open them up, one question at a time, with drawings, small real tests on public models, and the papers behind them. It took eight days to work through.

1 · One question Every page starts with one question I could not answer that morning. 2 · Draw it, then test it I drew each part, then ran a small real test to check the drawing. 3 · Read the source Model code, weight files and papers. Their claims are marked as theirs.
8days, start to finish
1real clip followed through every part
10leading open models opened
1paper read end to end
Chapter A1 The model has two halves. We follow one Hindi clip through both.

Which part of the model is the ears?

Read left to right. Orange is sound. Blue is the ears. The bars count the values in each part, from the weight files.

  1. Sound goes in

    The clip is 9.72 seconds of speech. The model sees it as air pressure, 16,000 numbers each second.

  2. The ears make ear frames

    The ears read the whole clip once. They give one row of ear frames, one for each 80 ms of sound.

    122ear frames for this clip
  3. The writer makes text

    The writer reads the frames and writes text. It runs once per piece of text, not once per clip.

  4. Count the values in each part

    Blue is the ears. Grey is the writer and the tables. In Model B, the ears hold 66% of the values.

    95%of the NVIDIA streaming model's values are ears
Most of the model is ears. In both models, the ears hold most of the values.
Chapter A2 The ears take numbers of sound and give numbers back. What changes?

What goes in, and what comes out?

Top: the sound of the clip. Bottom: the ears' output, one column for each 80 ms. Play the clip while you read.

  1. Sound is a list of numbers

    Sound is air pressure, measured 16,000 times each second. This clip has 155,520 of these numbers.

  2. One ear frame covers 80 ms

    80 ms is 1,280 of those numbers. Each ear frame is centred on one 80 ms slice. After the layers, it also draws on the frames around it.

  3. The output is a grid

    The ears give 122 frames. Each frame is a list of 1,024 numbers, drawn here as one column.

    124,928numbers out
  4. Almost as many numbers

    155,520 numbers go in and 124,928 come out. The ears keep roughly the same amount of numbers.

Almost as many numbers, a different meaning. Sound is air pressure. The output describes each 80 ms.
Chapter A3 The map of the ears: three parts, then one layer opened up.

What are the parts of the ears?

Left to right is the order the sound travels. Under each block: the shape of what leaves it, for our clip.

  1. The front end

    It turns sound into a picture. It has no learned values, so its numbers are fixed.

    0learned values in the front end
  2. The shrinker

    Three halving stages cut 973 windows down to 122 frames. Each frame then has 1,024 numbers.

  3. The 32 layers

    Each layer refines all 122 frames. Every layer has the same shape, so they stack up.

  4. Open one layer

    One layer has five sub-parts, run in this order. Each part adds its result to the running value.

    The running value is the list the layer keeps adding to.

  5. Where the values sit

    The 32 layers hold 99.5% of the ears' values. The shrinker holds 0.5%.

    99.5%of the ears' values are in the 32 layers
Three parts. Almost all the values are in the 32 layers. The front end has none.
Chapter B1 The sound is cut into short, overlapping windows. We follow one of them.

How is the sound cut up?

Each step shows one part of the same window: the whole clip, its zoom, the fade, and the overlap with its neighbours.

  1. Start from the whole clip

    The clip is one man reading one Hindi sentence, 9.72 seconds long. We follow window 194, centred on 1.94 seconds.

    155,520samples in the clip
  2. Zoom in on one window

    A window holds 400 samples. Each sample is one air pressure number, taken 16,000 times a second.

    25 msone window
  3. Lift the high pitches

    Each sample minus 0.97 times the one before. The line changes faster, so high pitches stand out more.

    1.7×bigger average jump, in our run
  4. Fade the edges

    A fixed bell curve multiplies every sample. It is 0 at both ends and 1 in the middle.

    0at both edges of the window
  5. Windows overlap

    The next window starts 10 milliseconds later. So each pair of windows shares 15 milliseconds of sound.

    973windows for this clip
973 overlapping 25 ms windows. Every later step reads these windows, one at a time.
Chapter B2 Each window is turned into pitch strengths, then merged into bands.

How does one window become 128 numbers?

The same window in every step (small strip at the top, from step 2). Every number is from the real clip.

  1. Start with one window

    This is window 194 after the bell curve. Its edges are 0, so the cut is clean.

    400numbers in one window
  2. Measure 257 pitch strengths

    The model measures how strong each pitch is, from 0 Hz to 8,000 Hz. In this window the strongest pitch is 6,094 Hz. Pitches below 2,000 Hz are weak here.

    257pitch strengths, 31.25 Hz apart
  3. Merge pitches into bands

    Each band is a fixed triangle of weights over nearby pitches. Band 0 covers one pitch step. Band 127 is 344 Hz wide.

    344 Hzwidth of band 127
  4. One window, one column

    Each band gives one number for this window. So the 128 numbers stack into one column.

    128numbers for this window
  5. Why bands?

    The human ear tells low pitches apart finely and high pitches coarsely. Bands copy that: narrow at low pitch, wide at high pitch.

    257 → 128pitches become bands
One window becomes one column of 128 numbers. That column is the next picture slice.
Chapter B3 Put all 973 windows side by side, and the whole clip becomes one picture.

What does the whole clip look like as a picture?

The wave of the clip (top) and its picture on the same time axis. The yellow line is window 194: one column of the picture.

  1. Each window becomes one column

    Each window gives one column of the picture. The yellow column is window 194. 973 columns side by side make the whole picture.

    973columns, one per window
  2. Bands: 128 rows, not 257

    Pitches are merged into 128 bands. The picture gets shorter: 257 rows become 128.

  3. Log: quiet parts stay visible

    A sound 100 times stronger becomes one fixed step up, not 100 times taller. So quiet details stay visible next to loud ones.

  4. Normalise each band over the clip

    Each band gets its own mean and spread for this clip. The mean is taken away, and the rest is divided by the spread. So a loud clip and a quiet clip give almost the same picture.

  5. Check it against the model

    We rebuilt this picture on a laptop, using the model's two fixed tables. It matches the model's own picture: correlation 1.000000, largest difference 0.002.

    0learned values in the front end
This picture, 128 by 973, is all the rest of the ears see. The next parts all start from it.
Chapter C1 Before the layers, the ears shrink the sound picture in time. This part is the shrinker.

Why throw away 7 of every 8 time steps?

Top: the real sound picture of the clip. Below: three stages. Each stage is half as wide in time, with 256 channels.

  1. The picture goes in.

    The clip is 9.72 seconds of sound. The front end turns it into a picture. Across: 973 time steps. Up: 128 bands, low pitch at the bottom.

  2. Stage 1: a small patch slides.

    A 3 x 3 patch is a small detector. It slides over the picture and keeps every second position.

    There are 256 different patches. Each one makes its own small picture.

  3. Stages 2 and 3 halve again.

    Stages 2 and 3 do the same halving, with a mixing step after each. The picture shrinks to 244 x 32, then 122 x 16.

    The channel count stays at 256.

  4. 4,096 numbers become 1,024.

    Each of the 122 time steps now holds 256 x 16 = 4,096 numbers.

    One linear map turns them into 1,024 numbers. The output is 122 x 1,024.

    shape after the shrinker
  5. Why shrink? Attention compares pairs.

    Attention compares every time step with every other one.

    Before the shrink: 973 x 973 pairs. After it: 122 x 122 pairs.

    pairs before the shrink
    pairs after the shrink
  6. Each step is one list per 80 ms.

    Each step gives one list of numbers per 80 ms of sound.

    How finer timing is held, we did not test.

8 times fewer time steps, 64 times less comparing. The price: one list of numbers per 80 ms of sound.
Chapter C2 The ears repeat one layer 32 times. Here is one layer, step by step.

What is inside one layer?

The thick line is the running value. Each side loop adds its result to it. Nothing is replaced.

  1. The running value comes in.

    It is 122 frames, each a list of 1,024 numbers.

    The layer adds to it. It never replaces it.

  2. Feed-forward A, half strength.

    A side branch reads each frame alone and makes a new answer.

    The answer is halved, then added to the running value.

  3. Attention, added in full.

    Every frame looks at every other frame. The result is added at full strength.

    The old numbers stay in the sum.

  4. Convolution, added in full.

    Each frame reads a window of 9 frames: itself, 4 before, 4 after. That is 720 ms.

    Its result is added to the running value.

  5. Feed-forward B, then a normalise.

    The second side branch is halved and added, as in step 2.

    Then one normalise keeps the numbers in range.

  6. Two thirds are feed-forward.

    This bar chart shows where one layer's values sit.

    The two feed-forward parts hold most of them.

Four things added, then a normalise. The layer repeats this 32 times, in a row.
Chapter C3 Attention lets each frame read the others. Here it is for one frame of the clip.

How does one frame look at all the others?

Each dot-cell is one frame, 80 ms each. The orange wave is the sound on the same time axis. The arcs are a schematic.

  1. Questions, labels and messages.

    Frame 24 makes a question. Every frame makes a label and a message.

    Each one is a list of 1,024 numbers.

  2. Score every frame.

    One score says how well the question fits each label. A second score uses how far apart the two frames are, with the question.

    Thicker arcs mean higher scores. This drawing is a schematic.

  3. Scores become shares.

    The shares always add up to 1. Frame 24 takes the share-weighted mix of the messages.

    It adds that mix to its running value.

  4. Eight heads, eight patterns.

    The 1,024 numbers are cut into 8 groups of 128. Each group makes its own shares.

    values in attention, one layer
  5. Distance, not frame number.

    The score has two parts. One uses the two frames' content.

    The other uses how far apart they are, read with frame i's own question. The model never uses the frame number itself.

  6. The catch: the future is in view.

    Frame 24 also looks at frames 25 to 121, which come after it.

    So the whole clip must be there first. That is why these ears cannot run live as they are.

Every frame sees the whole clip. Past and future. Attention can only run after the whole clip is in.
Chapter C4 Attention reads the whole clip. A second part, the convolution, reads only the frames next to one frame.

Why does a layer also need a local view?

Each box is one frame, 80 ms of sound. Frame 24, in yellow, is the frame we follow.

  1. One frame and its neighbours

    Frame 24 is yellow. Each frame covers 80 ms of sound. The whole clip has 122 frames.

    122frames in the clip
    80 msof sound in each frame
  2. A window of 9 frames

    The window is frame 24, with 4 frames before it and 4 after. Together they cover 720 ms of sound.

  3. What happens inside

    The layer first widens the numbers, then one half gates the other half. A gate multiplies by a value from 0 to 1. Then a 9-frame slide does the neighbour work.

  4. Slide the window

    The same weights are used at frame 25, then frame 26, and so on. Only the window moves.

  5. Far view and near view

    Attention reads any frame in the clip. The convolution reads only 9 frames: itself, 4 before and 4 after. A layer with both is called a Conformer layer.

  6. Where the weights sit

    The convolution part holds 3,163,137 values. Only 9,216 of them make the 9-frame slide: 1,024 positions times 9 weights.

    9,216values in the 9-frame slide
Attention sees far, convolution sees near. The layer has both.
Chapter C5 Each layer has two feed-forward parts. They are the biggest parts of the layer, and they work on one frame at a time.

What do the two feed-forward parts do?

Grey frames are the other frames in the clip. Only frame 24, in blue, goes through the feed-forward part.

  1. One frame alone

    Only frame 24 goes in. It is a list of 1,024 numbers. No neighbour is read.

    1,024numbers in one frame
  2. Widen to 4,096

    A set of weights turns the 1,024 numbers into 4,096 numbers. Each new number mixes the old 1,024.

  3. Smooth on/off curve, then back

    Each of the 4,096 numbers goes through a smooth on/off curve. The curve is flat near zero on the left and rises on the right. Then the 4,096 numbers become 1,024 again.

  4. Added back at half strength

    The result is multiplied by 0.5. It is then added to the running value. The running value is what the layer keeps adding to.

  5. Two per layer, most of the weights

    There are two of these parts in each layer, A at the start and B at the end. Together they hold most of the layer's values.

    66.6%of one layer's values are in its two feed-forward parts
  6. What the parts do

    Attention and convolution move information between frames. Feed-forward works on what one frame holds now. This is the standard reading of the design. We did not test it.

The biggest part of each layer works on one frame at a time.
Chapter C6 The ears have 32 layers, all of one shape. This page shows how alike the 122 frames are at four depths.

What changes from layer 1 to layer 32?

Left: how alike each pair of frames is. Right: how alike frame 24, at 1.92 s, is to every frame. Pick a depth above.

  1. How to read the picture

    Each dot shows how alike two frames are. The diagonal line runs from top left to bottom right. Each frame is exactly alike itself.

  2. After the shrinker

    Frames are alike only with close neighbours. Frames far apart are not alike.

  3. Layer 1

    Layer 1 changes the pattern only a little. Close neighbours are still the most alike.

  4. Layer 16: most alike of the four

    At layer 16, frames are alike over a wider span. Of the four depths we saved, its mean likeness is the highest: 0.320.

  5. Layer 32: apart again

    At layer 32, frames are apart again. The mean likeness drops to 0.122. Close neighbours stay alike.

  6. What we cannot say

    These pictures show how the frames relate to each other. They do not show what each layer knows. We did not test that.

The same 122 frames, changed 32 times. Their shape, 122 x 1,024, never changes.
Chapter D0 The same clip goes into two models. Move the time and watch what each one has done so far.

What is the one difference between a live model and a whole-clip model?

time

Drag the time or press Play. Grey frames are not computed yet. Blue frames are done. The words are spread evenly over the clip, as a sketch.

  1. Sound arrives over time

    A caller speaks for 9.72 seconds. At any moment the model has only the sound up to now.

    The yellow line is now. Everything to its right has not arrived yet.

  2. The whole-clip model waits

    Model B does nothing until the clip ends. Then it computes all 122 frames and writes all the text.

    Three of its parts need the whole clip. So it cannot start early.

    9.72 sbefore Model B can write its first word
  3. The live model keeps up

    The live model computes each small piece of sound when it arrives. Here a piece is 4 frames, 320 ms.

    Its writer looks at each new frame and writes a word or stays silent. So the text grows while the caller speaks.

    0.32 sof sound is enough for it to start
Same sound, different moment of writing. The next page shows which parts are built differently to make this happen.
Chapter D0b Four parts are built differently. Each step shows one part: Model B on the left, the live model on the right.

Which parts are built differently in a live model?

Left: Model B, a whole-clip model. Right: the NVIDIA streaming model. Red marks sound that has not arrived yet.

  1. Part 1: the picture

    Model B levels each band of the picture with numbers from the whole clip. So the picture is ready only at the end.

    The live design skips that step. Each column is used when it arrives.

  2. Part 2: attention

    In Model B a frame looks at every frame of the clip, also the later ones. That needs the whole clip.

    In the live model a frame looks back 56 frames and ahead only a few. Here it is 3.

  3. Part 3: convolution

    The Model B convolution reads 9 frames: 4 before, itself and 4 after. Four of them are in the future.

    The live convolution also reads 9 frames, but all from the past: 8 before and itself.

  4. Part 4: the writer

    The Model B writer reads all 122 frames again for every word. So it cannot write before the last frame exists.

    The live writer is tiny. For each new frame it writes a piece of text or stays silent.

    411 Mvalues in the Model B writer
    24 Mvalues in the live writer
  5. All four together

    Every part of Model B that needed the future has a live version that does not.

    The layers themselves keep the same four sub-parts and almost the same size.

Four changed parts make a model live. Picture, attention, convolution and writer. Nothing else in the design has to change.
Chapter D1 Model B ears read the whole clip, past and future. Live ears cannot wait for the clip to end.

What must change for the ears to work live?

look-ahead, frames

Schematic: 80 frames are drawn, not the clip’s 122. Blue marks look back. Red and green reach into the future.

  1. Whole-clip ears look at the future

    Model B looks at every frame, before and after each one. So it must wait until the clip has ended.

  2. Live ears look back 56 frames

    The blue bar shows 56 frames, which is 4.48 seconds of sound. The green bar shows the few frames it may look ahead.

  3. Look-ahead is picked when you run it

    The model card lists 0, 1, 3, 6 or 13 frames. Each pick sets the piece of sound.

    1,120 mslongest piece, 13 frames ahead
  4. Three other parts change

    The paper behind this design drops per-band normalising. We did not check this model’s front end.

  5. Same design, almost the same size

    The streaming model has 24 layers, Model B has 32. One layer has almost the same count of values.

    25,189,376values in one streaming layer
    25,209,857values in one Model B layer
Same parts, but no part may need the future. Only a small, fixed look-ahead is allowed, and it is picked before the run.
Chapter D2 Sound arrives in pieces of 4 frames. The question is what to do with the frames already done.

Why do live ears not redo old work?

Each step is one scene. The 4-frame piece and the frame counts are an example. Red marks repeated work.

  1. Sound arrives in pieces

    In this example a piece is 320 ms, which is 4 frames. The 4 new frames go through all the layers.

  2. The slow way repeats old work

    When the next piece arrives, the old frames run again with the new ones. That work is done twice.

    8example: frames run, slow way
  3. The cache way keeps a store

    Attention and each 9-frame convolution keep a store of past frames. The store sits beside the layer.

  4. Only the new frames are computed

    Piece 2 brings 4 new frames. They read the store, and then the store is updated.

    4frames computed for piece 2, cache way
  5. Two sub-parts need a store

    Attention and convolution look at past frames. Feed-forward and normalisation work on one frame alone, so they need none.

  6. The model card says the same

    The card says the model keeps caches in these layers. Each frame is computed once.

Each frame is computed once. The stores hold what the next piece needs, so no old frame is run again.
Chapter D3 Less look-ahead means less waiting. Two charts show what it costs in word error, and what training does about it.

What does looking less ahead cost?

Left: the model card's average error over 19 locales. Right: an English model of about 128M parameters, from the paper. Lower is better.

  1. Five settings, one average error

    A setting is the length of one piece of sound. The model card gives the average error at all five settings.

    10.38average error at 80 ms
    8.84average error at 1,120 ms
  2. Hindi follows the same pattern

    With the language given, Hindi falls from 8.13 to 6.81 over the same five settings.

  3. Less waiting costs about 1.5 points

    1,120 ms down to 80 ms is 14 times less waiting. The average error rises by 1.54 points: 10.38 minus 8.84.

  4. Ears trained on the whole clip break

    Ears trained only with the whole clip in view collapse when the future is hidden. At 160 ms the error is 94.05.

  5. Ears trained both ways hold

    Ears trained for both ways at once reach 10.51 at 160 ms. Offline they lose almost nothing: 6.63 against 6.47.

  6. What we did not do

    We did not run this model. Every number here is the authors' number, from the model card or the paper.

The shortest piece costs 1.54 points of average error. Only ears trained for both ways hold up when the future is hidden.
Chapter E1 Ten open models from one public English ranking, and the kind of ears each one uses.

Which ten models, and what kind of ears?

Ranked 1 to 10 by error score. A longer bar means more errors. The tag shows the ear family.

  1. Where the list comes from

    One public leaderboard, dated 9 October 2026. Its score is the average word error on English tests. Lower is better.

  2. Open weights only

    We skip closed systems, because their ears are not public. Eleven of them rank above the tenth open model.

  3. Colour by ear family

    Four models use Conformer ears, four use Whisper ears, and two use Qwen ears. Cohere's family comes from its model card.

    4Conformer
    4Whisper
    2Qwen
  4. Same ears, different writer

    Ranks 6, 7 and 10 use ears of the same shape as Whisper large-v3. Their values were trained further.

    Ranks 2 and 3 have ears of the same shape and size.

  5. Read it as English only

    This ranking covers English. It does not show how these models hear Indian languages.

Ten models, three ear families. Eight of the ten use Conformer or Whisper ears. Two use Qwen ears.
Chapter E2 Four ear designs share one recipe. The table shows the dials they set differently.

Family 1: what do the Conformer ears share, and where do they differ?

Top: the shared recipe. Below: the four members, one column each. Bars are drawn to scale within each row.

  1. One recipe

    A Conformer ear takes a sound picture and shrinks it in time.

    Model B and Phi-4, read in their code, run four parts in this order.

  2. Model B and the NVIDIA streaming model

    Both use 128 bands and shrink time 8 times.

    Model B attention sees the whole clip. The streaming model looks back, with a short look-ahead.

  3. Phi-4 multimodal

    It uses 80 bands and shrinks time 8 times. Its convolution reads itself and 2 frames before.

    Its attention sees the whole clip.

  4. Granite Speech 3.3

    It glues 2 picture columns together, so time shrinks only 2 times.

    Its frames last 20 ms. Its attention works in blocks of 4 seconds.

  5. Values in one layer

    Each member's layer has its own count of values. The bars show them, counted from the weight files.

One recipe, different dials. Bands, shrink, layers and window length change. Model B and Phi-4 keep the same four parts.
Chapter E3 OpenAI's Whisper, as released, takes a 30 second window. Our 9.72 second clip fills part of it.

Family 2: what is different in Whisper ears?

Top: our clip inside the 30 second window. Left: the pipeline. Right: one plain layer, and the work it does.

  1. OpenAI's Whisper pads to 30 seconds

    As released, Whisper pads every clip to 30 seconds. Our clip is 9.72 seconds.

    Of the four models here with this shape, only MOSS does the same.

  2. Two small convolutions

    They halve time once: 3,000 columns become 1,500 frames.

    One frame now covers 20 ms.

  3. A table of 1,500 positions

    Each frame has its own stored position.

    In Whisper as released, nothing longer than 30 seconds fits.

  4. A plain layer: two parts

    Attention, then feed-forward. There is no convolution inside.

    Each part adds its result to the running value.

  5. The work grows fast

    Attention compares every frame with every other frame.

    Whisper as released compares 1,500 frames with 1,500 frames.

    2.25 millionframe pairs, Whisper as released
    14,884frame pairs, Model B
  6. Live use depends on the model

    Whisper as released lets every frame look at the whole window.

    TheWhisper ships 10 second windows and a streaming pipeline, per its card. Higgs and ARK pad only to the longest clip.

Simple layers. Whisper as released uses a fixed 30 second window. Only MOSS of the four here pads the same way.
Chapter E4 Qwen ears mix parts of the two other families. Each lane shows where a part comes from.

Family 3: what do Qwen ears take from the other two?

Left: Conformer ears. Right: Whisper ears. Middle: Qwen ears, built from pieces of both, plus one new piece in green.

  1. The shrinker

    Qwen's shrinker is similar to the Conformer one. It cuts time 8 times.

    It runs 3 halving stages with 480 channels. It makes 12.5 frames per second, one per 80 ms.

  2. Plain layers

    Each layer has attention and feed-forward. It has no convolution.

    Qwen3-ASR has 24 of these layers.

  3. A window of attention

    Attention looks only inside a window of 1 to 8 seconds. The authors set this in their paper.

    The authors say this lets the same ears run live and on whole clips.

  4. Our clip, our arithmetic

    Our clip has 973 picture columns. 973 divided by 8 gives about 122 frames.

    Qwen works in pieces of 100 columns, so the count may be a few more. We did not run it.

  5. Sizes

    In Qwen3-ASR, the ears are 15.4% of the model.

    In Hojo, they are 12.5%. We did not read Hojo's own settings.

A shrinker similar to Conformer's, with Whisper-style layers. The window is the authors' claim for live use. We did not test it.
Chapter E5 The ears take sound. The writer makes the text. Here is how much of each model the ears are.

Are the ears most of the model, or a small part?

One bar per model, in this chart of 15 models (the ten plus five references), sorted by the ears' share. Coloured = ears. Grey = writer and the rest. Phi-4 is a whole multimodal model.

  1. Every bar is one whole model

    The coloured part is the ears. The grey part is everything else, mostly the writer. The counts come from the weight files.

  2. Big ears, small writer

    In this chart, five models have big ears: 66% to 97% of their weights.

  3. Small ears, language-model writer

    Eight of the ten use a language model as the writer. Seven of them have ears of 5% to 34%.

  4. Small models have big ears

    Every language-model writer model here is 0.9 billion or more. The three under 0.9 billion all have big ears.

    0.63billion: Parakeet
    0.64billion: NVIDIA streaming
  5. The ears are similar in size

    Across these models the ears are 0.31 to 0.81 billion values. What differs most is the writer.

    0.31 to 0.81billion values in the ears
In these 15 models, the small ones have big ears. Nothing here says which design is better.
Chapter E6 Not every model uses the picture step. Four other designs, drawn from their public settings.

Which ear designs are not in the ten?

Four panels, one design each. Orange = sound. Blue = learned steps. Green = the frames the writer receives.

  1. Raw-wave ears: no picture

    Meta wav2vec 2.0 reads the raw wave. Seven conv layers shrink it to 50 frames per second.

  2. Small raw-wave ears

    Each layer looks back 16 frames and ahead 4 or 0. So Moonshine can run live.

  3. Codec ears: no separate writer

    A separate codec turns sound into codes, 32 per step. One model reads them and writes the text.

  4. Live Whisper-size ears

    Voxtral Mini 4B Realtime uses 32 layers. Attention looks only inside a sliding window.

  5. What we did

    We read only the public settings of these four. We did not count their weights or run them.

At least four more designs exist outside the ten. Each one changes how the ears see sound.
Chapter E7 The same 9.72 seconds of sound, put through five designs. Each row is one design's frames.

How many frames does each design make from the same clip?

All rows share one time scale. Each tick is one frame. The OpenAI Whisper row keeps going into the padding, which is squeezed to fit.

  1. The clip

    One man reads one Hindi sentence. It lasts 9.72 seconds. Every row uses the same time scale.

  2. Designs with 8x: 122 frames

    Model B, Phi-4 and the NVIDIA streaming model make one frame per 80 ms. That is 122 frames. Qwen gives about 122 by our arithmetic; we did not run it.

    122frames, one per 80 ms
  3. Designs with 2x and raw wave: 4 times more

    Granite makes one frame per 20 ms. The raw-wave design does too. Both give about 4 times more frames than the 8x designs.

  4. Whisper as released: 1,500 frames

    OpenAI's Whisper, as released, pads every clip to 30 seconds. That gives 1,500 frames. Only 486 hold sound. Of the four models here with ears of this shape, only MOSS is shown to do the same.

    1,500frames for any clip length
  5. The trade

    Fewer frames mean less work for attention. More frames mean finer time detail.

From about 122 to 1,500 frames for the same 9.72 seconds. The design sets how many frames the writer must read.
Chapter E8 Live means text appears while the speaker is still talking. Two questions sort the designs on this site.

Which ears fit a small model that must run live?

Across: does it run live as shipped? Up: is the whole model under 0.7 billion? Only designs named on the earlier pages are placed.

  1. Two questions

    Does the design run live as shipped? Is the whole model under 0.7 billion? Each design lands in one box.

  2. Designs that run live

    Two small live examples appear here: the NVIDIA streaming model and Moonshine. NVIDIA streaming keeps a cache and a look-ahead dial. Qwen and Voxtral say they run live.

  3. Designs that do not

    Parakeet has whole-clip ears and is not live as shipped. OpenAI's Whisper, as released, uses a fixed 30-second window. Model B looks at the whole clip.

  4. Small total, big ears

    Both counted small models have big ears. Parakeet's are 97.1% of its weights; NVIDIA streaming's are 95.5%.

  5. What nobody publishes

    Which ears keep tone of voice, pace and background best? Nobody here publishes that. We did not test it either.

Two small live examples appear here: the NVIDIA streaming model and Moonshine. What their ears keep of the voice is still untested.
Chapter F1 Our own test, 11 Oct 2026: frozen ears, a tiny reader on each layer, speakers it never heard.

Do the ears keep the voice and the surroundings?

Each chart is one question. Left to right is the first to the last ear layer. Higher is better. The red line is guessing.

  1. Six questions

    We froze three sets of ears and fed them the same clips. A tiny reader on each layer had to answer six questions.

    It was tested on speakers it never heard. The red line shows what guessing scores.

  2. Live ears keep it, low down

    Blue is the NVIDIA streaming model. Its first layers answer background, line damage, loudness and gender almost perfectly.

    Emotion peaks near layer 9. Pace is best near layer 20.

    93%background type, at layer 2 of 24
    73%acted emotion, at layer 9
  3. Whisper ears agree

    Orange is Whisper large-v3. It shows the same pattern: surroundings low, emotion in the upper middle.

    Its best emotion score is 78%, a little above the live ears.

  4. A codec holds no more

    Green dashes are a codec built for speech generation. Grey dots are the bare sound picture.

    The codec matches the ears on loudness and gender. It is far behind on emotion: 49% against 73%.

  5. The last layer forgets

    The shaded band is the top of the live ears, the part the writer reads. Background falls from 93% to 33% there.

    Line damage falls from 100% to 49%. So a reader on the last layer cannot say why it cannot hear.

    33%background type at the last layer
  6. What this test is not

    The clips are English. The emotion is acted. The noise and line damage are simulated, and the reader is very simple.

    One run, about 300 test clips for four of the six questions. It shows what the ears keep, not how a finished reader will do on real calls.

    Correction, same day: the background score used the same noise recordings to learn and to test. On a new recording it is about 40% (page I6).

The ears already hold it. Read the low layers. A reader that taps layers 1 to 2 and 8 to 10 gets the surroundings and the tone without changing the ears.
Chapter G1 We ran the ears of Qwen3-ASR 1.7B on our Hindi clip and recorded what every part took in and gave out.

What exactly happens to the clip inside Qwen's ears?

Eleven parts in order. In each block: what it does, the real shape that left it for our clip, and its count of learned values.

  1. Sound, picture, ten pieces

    The 9.72 second clip becomes a picture of 128 bands. It is padded to 1,000 columns, which is 10 seconds.

    Then the picture is cut into ten pieces of one second each.

  2. Three convolutions

    Each piece goes through three convolutions, alone. Each one halves the bands and the time.

    After the third, a piece is 16 bands by 13 time steps, in 480 versions.

  3. Flatten, position, join

    Each time step's 7,680 numbers become 1,024. A position from 0 to 12 is added.

    The padding is dropped and the pieces are joined. Our clip is now 126 frames.

  4. 24 layers

    All 126 frames go through 24 layers. The shape never changes.

    Attention works inside windows of 104 frames, which is 8 seconds.

  5. The way out

    A last normalise, then two maps make each frame 2,048 numbers long. That is the size the writer reads.

    The ears took 12 ms for this clip, in our run.

    126frames for 9.72 seconds
    12 msfor the ears, our run
Cut, shrink, mark, join, refine, resize. The next pages open each part with real pictures from this run.
Chapter G2 Parts 2 and 3 of the path. The picture is the real one from our run.

Why is the picture cut into one-second pieces?

Top: the real picture of our clip as Qwen makes it. Low pitch is at the bottom. Below: one piece, and the frames each piece gives.

  1. A picture of full seconds

    Qwen makes the same kind of picture as Whisper: 128 bands, one column every 10 ms.

    Our clip gives 972 columns. Qwen pads it with 28 empty columns to reach 1,000.

  2. Ten pieces

    The picture is cut every 100 columns. That gives ten pieces of one second each.

  3. Each piece alone

    Every piece goes through the three convolutions by itself. A convolution never sees across a cut.

    At the edge of a piece it sees zeros, not the neighbouring second.

  4. Thirteen frames per piece

    A full piece comes out as 13 frames. The last piece has only 72 real columns, so it gives 9.

    Nine pieces of 13 and one of 9 make 126 frames.

    13frames from each full second
  5. Why cut at all

    A second can be shrunk the moment it has arrived. Nothing later is needed for it.

    That is our reading of the code. The model's authors do not explain the choice in the code.

The shrinker works one second at a time. This is the first place where Qwen is built for sound that arrives bit by bit.
Chapter G3 Parts 4 to 7 of the path, for piece 2 of our clip. Every picture here is real output from the run.

What do the three convolutions do to one piece?

Steps 1 to 4: the piece, then what left each convolution, as the average over its 480 detectors. Steps 5 to 7 follow one time step. Blue = above zero, orange = below zero.

  1. The piece goes in

    One second of picture: 128 bands by 100 columns. It is a single sheet of numbers.

  2. Convolution 1

    A small 3 by 3 patch slides over the sheet and stops at every second position. So both sides halve.

    There are 480 different patches. Each makes its own sheet of 64 by 50.

  3. Six of the 480 detectors

    These are six real sheets from convolution 1. Each detector lights up for a different pattern in the sound.

    After every convolution a smooth curve removes weak negative values.

  4. Convolutions 2 and 3

    The same step two more times. The sheets shrink to 32 by 25 and then 16 by 13.

    These two hold most of the shrinker's patch values: 2,074,080 each.

  5. Cut one time step out of the stack

    After convolution 3 there are 480 small sheets. Each sheet has 16 bands and 13 time steps.

    Take time step 11 from every sheet. That gives 480 x 16 = 7,680 numbers. The wide picture shows them.

  6. One map makes 1,024 numbers

    A fixed map mixes the 7,680 numbers into 1,024 numbers. Each of the 1,024 is a weighted sum of all 7,680.

    This list of 1,024 numbers is one frame. It is frame 24, the sound at 1.9 seconds.

    7,680 → 1,024numbers for one time step
  7. 13 time steps make 13 rows

    Do the same for all 13 time steps of this second. You get a table of 13 rows, each with 1,024 numbers.

    Each second of the clip gives one such table. Our clip gives 10 tables.

One second of picture becomes a table of 13 rows x 1,024 numbers. Each row is one frame of about 77 ms.
Chapter G4 Part 8 of the path. Every table and number here is from the real run. Frame 24 is followed.

How does a frame know where it is?

Each row is a list of 1,024 numbers; every 4th number is drawn. Blue = above zero, orange = below zero, pale = near zero.

  1. The table has no order in it

    The last page ended with a table for each second: 13 rows, 1,024 numbers in each row.

    Attention compares rows with each other. It does not know which row came first, so order must be written into the rows.

  2. A second table of the same shape

    The model holds a table of marks: 13 rows, 1,024 numbers in each row. Row 0 is the mark for place 0, and so on.

    The marks come from a formula of waves. Nothing in them is trained, and there are only these 13 rows.

  3. Add them, number by number

    Row 11 of the sound table is frame 24. Row 11 of the mark table is added to it.

    The first number is 0.534 + (-1.000) = -0.466. The same is done for all 1,024 numbers. The shape does not change.

    13 x 1,024before the marks, and after
  4. Every second gets the same 13 marks

    The mark table is added to the table of each second. So the marks start again at 0 in every second.

    Frames 11, 24, 37 and so on get the identical mark: all are at place 11.

  5. Join the tables

    The 10 tables are put end to end. Rows made only of padding are dropped.

    The result is one list of 126 frames. Frame number = 13 x the second + the place. For frame 24 that is 13 + 11.

  6. What the mark does not say

    A mark says: I am at place 11 in my second. It does not say which second.

    You can see it in layer 1. Frame 24 takes 1.7 times more from frames with its own mark.

Yes: the marks are a table of the same shape, and they are added. 13 fixed rows of 1,024 numbers, used again for every second. A mark tells the place inside a second, nothing more.
Chapter G5 Part 9 of the path. Every bar and cell comes from real runs of the ears on our clip.

A frame uses later sound. So how can it run live?

One frame is followed through all steps: frame 24, the sound at 1.9 seconds. Last layer of the ears.

  1. Start with a finished recording

    For this first picture the ears got the whole clip at once. All 9.7 seconds were already recorded.

    Frame 24 is the sound at 1.9 seconds. Each bar shows how much it takes from one frame.

  2. "Later" is not the future

    Frame 24 takes 63% from frames after it. That is sound after 1.9 seconds.

    This sound was on the recording already. The model does not guess sound that has not come.

  3. It stops at a fence

    After frame 103 every bar is zero. A window is 8 seconds, and each second gives 13 frames.

    So one window is 8 x 13 = 104 frames: frames 0 to 103. A frame takes nothing from another window.

  4. Why there are two squares

    Stack the strips of all 126 frames and you get a square. Row 24 is the strip you just read.

    Each window makes one square. Our clip is 9.7 seconds long, so it has a full window and a short one.

  5. Now live: only 1.9 seconds exist

    In a call the sound arrives bit by bit. Here the ears ran when frame 24 was the newest frame.

    It has no frame after it. It takes 70% from earlier frames and 30% from itself. Its answer is only 0.27 alike to the final one.

  6. Each run works it out again

    Qwen's code runs the ears every 2 seconds, on all sound so far. At 2 seconds the answer is 0.35 alike. At 4 seconds it is 0.91.

    At 8 seconds the window is full. From then on the answer is final.

  7. The newest sound is always a draft

    Red and yellow cells are answers that will still change. They are always the newest frames.

    This is why Qwen writes its last words again in every run. The ears also do the old sound again each time.

  8. So why use later sound at all?

    Because it changes the answer a lot. With no later sound, frame 24 is 0.27 alike to its final answer.

    One frame is 77 ms, a part of one spoken sound. The sound after it helps to tell what it was.

  9. The fence has a price

    The fence does not mean that later sound is useless. We ran one test with the fence removed.

    The frames next to the fence changed the most. They are the frames that the fence cuts off from their neighbours.

It never sees the future. It uses later sound only after that sound has arrived, and that sound matters. Until its window is full, a frame's answer is a draft and is worked out again.
Chapter G6 One of the 24 layers. Sizes are counted from the weight file.

What is inside one Qwen layer?

The thick line is the running value. Each side loop adds its result to it. Right: the same picture for a Model B layer, for comparison.

  1. A running value

    The layer keeps one list of 1,024 numbers for each frame. Each sub-part adds to it. Nothing is replaced.

  2. Attention

    Each frame looks at other frames and mixes in what it needs. Qwen uses 16 heads of 64 numbers each.

    This is how information moves between frames.

  3. Feed-forward

    Then each frame is worked on alone. It grows from 1,024 to 4,096 numbers and comes back to 1,024.

    Two thirds of the layer's values are here.

  4. Half the size of a Model B layer

    A Model B layer has four sub-parts: two feed-forwards, attention and a convolution. A Qwen layer has two.

    So one Qwen layer has 12.6 million values. One Model B layer has 25.2 million.

    12.6 Mvalues in one Qwen layer
    25.2 Mvalues in one Model B layer
  5. What is missing

    There is no convolution, so a Qwen layer has no built-in local view. Only attention moves information between frames.

    We did not measure what that costs or saves.

Attention, then feed-forward. That is the whole layer. It is the same plain layer that Whisper uses.
Chapter G7 How Qwen's own released code writes text while the sound is still arriving. Read from that code; we did not run this part.

How does it write while you are still talking?

time

Drag the time or press Play. The words are spread evenly over the clip as a sketch, and one word stands for one text piece.

  1. You talk, it runs every 2 seconds

    The sound arrives all the time. Every 2 seconds the model does one run.

    For our 9.72 second clip that is five runs. The last one is at the end.

  2. A run hears everything again

    In each run the ears get all the sound from the start up to now. Not only the new 2 seconds.

    So in the run at 6 seconds the ears process 6 seconds of sound.

  3. The writer gets a head start

    The writer does not start from nothing. It is handed the text it wrote in the run before.

    The last 5 pieces of that text are taken away first.

  4. The last pieces are written again

    The writer writes those 5 pieces again and then goes on with the new words.

    So the newest words can still change. Older text stays as it is.

  5. How far behind is the text

    Right after a run the text covers all the sound so far. Then it waits up to 2 seconds for the next run.

    So at second 10 you have the text of at least the first 8 seconds.

  6. The price

    The ears do old sound again in every run. For this clip they process 29.7 seconds of sound in total.

    Ears with a cache process each second once: 9.72 seconds.

    29.7 sof sound processed by Qwen's ears for a 9.72 s clip
Qwen streams by running again and again on all the sound so far. It works, but the work grows with the length of the talk.
Chapter G8 Our own test: the same clip through the same ears, with 8 second windows and with 1 second windows.

What happens when the windows are made one second long?

Top: the 126 frames of our clip under two window sizes. Bottom: how alike the output frames of the two runs are. 1 means identical.

  1. The default: 8 seconds

    As shipped, attention uses windows of 104 frames. A frame at the start of a window takes from sound up to 8 seconds later.

    Until that sound arrives, its answer is a draft. Chapter G5 shows this.

  2. Shorter windows are allowed

    The code lets the caller pass its own window limits. We passed windows of one second: 13 frames each.

    Then the ears can answer after every second of sound.

  3. The frames change

    We compared the output frames of the two runs. On average they are 0.78 alike. The worst frame is 0.24 alike.

    So the ears give a clearly different answer when they see less.

    0.78average likeness of the two runs' frames
  4. What we did not measure

    We did not run the writer. So we do not know how much the text changes.

    The authors say they trained with windows from 1 to 8 seconds. That may make the writer cope.

  5. Against the NVIDIA design

    The NVIDIA live ears use a view that moves with each frame and looks a few frames ahead.

    Qwen uses fixed fences. A frame at the end of a short window sees almost nothing after it.

Qwen can run in short windows, but its output is not the same. How good the text stays at one second is the open question.
Chapter H1 The authors' report, arXiv 2601.21337, January 2026. This chapter covers all of it, section by section.

What does the paper claim?

Top: the three models in the report. Middle: the change of method the authors describe. Bottom: their main claims and what they released.

  1. Three models

    The report presents three models. Two of them write text from speech.

    The third finds the time of every word in a recording.

  2. A different kind of recogniser

    Older recognisers match sound patterns to text, from the bottom up.

    This kind first forms an understanding of the sound, then writes. That is the authors' own description.

  3. The main claims

    The 1.7B model is the best open recogniser, they say. It matches the strongest closed services.

    The 0.6B model gives the best accuracy for its size.

  4. Why they made their own tests

    The authors say public tests are worn out. Scores have reached the level of labelling mistakes.

    So they built private tests for noise, dialects, old people and children.

  5. What is open

    The values of all three models are open. So is the code to run them and to fine-tune them.

Three models, one family. All built on the same ears and the same kind of writer.
Chapter H2 Section 2.1 of the paper. Sizes are the authors' words unless we say "counted".

How is Qwen3-ASR built?

Three parts in a row. There is no code-book step anywhere: the sound stays lists of numbers until the writer picks words.

  1. Ears

    The ears were trained on their own first. They cut time by 8 and give 12.5 frames a second.

    The paper gives them 300 million values. We counted 314 million.

  2. A connector

    Two small maps change each frame from 1,024 to 2,048 numbers. That is the size the writer reads.

  3. The writer is a language model

    The writer is Qwen3 with 1.7 billion values. It reads the frames like words in a sentence.

  4. No code-books

    Quantizers come up often. This model has none. A frame is never turned into a code.

    So nothing in it removes noise by choosing a nearest code.

  5. The small one

    Qwen3-ASR 0.6B has ears with 180 million values and 896 numbers per frame. Its writer has 0.6 billion.

  6. Windows

    The ears use attention windows from 1 to 8 seconds. The authors say this serves live use and whole clips.

Ears, connector, language model. The frames go into the language model as if they were words.
Chapter H3 Section 2.2. The four training stages, as the authors describe them. The amounts are theirs.

How was it trained?

Four stages, top to bottom. Each stage starts from the result of the one above.

  1. Stage 1: the ears alone

    The ears were first trained as a recogniser of their own. They used about 40 million hours of sound.

    The text for it was written by other models, not people. Most of it is Chinese and English.

    40 millionhours of sound for the ears
  2. Stage 2: hear and see

    Ears and language model were trained together on sound, pictures and text. The amount is 3 trillion text pieces.

    This stage is the same as for the Qwen3-Omni model.

  3. Stage 3: only transcribe

    Then the model learned one job in one fixed format. This data is much smaller and was not used before.

    It also holds sound with no speech, live-style cuts and hint words.

  4. Stage 4: reward good answers

    Last, a short stage rewards better transcripts. It uses about 50,000 clips.

    The authors say it plays an essential role in noise, stability and hard cases.

    50,000clips in the last stage
  5. The mix of stage 4

    35% of the clips are Chinese and English. 35% are other languages.

    30% are chosen for hard conditions. The authors call them functional data.

  6. What is not said

    The paper does not say how much noise or music the 40 million hours held.

    It gives no score before and after any stage.

Huge data for the ears, then three stages that narrow the job. No stage is tested alone in the paper.
Chapter H4 Section 2.2, stage 3. The exact output format the model was trained to give.

What exactly does the model write?

Top: the two possible outputs. Bottom: the two things you can and cannot steer.

  1. One fixed format

    The model always writes the same three things: the word language, the name of the language, then the text.

  2. The language comes first

    It names the language before it writes any text. That is how it tells languages apart.

    There is no separate language detector.

  3. Sound with no speech

    For sound without speech it writes: language None, and no text at all.

    It was trained on such sound on purpose, so it does not invent words.

  4. Hint words

    You can put background words in the system prompt: names, product terms. The model uses them when it writes.

    The paper gives no score for this feature.

  5. It does not obey the sound

    If a speaker says a command, the model writes the command down. It does not follow it.

    The authors trained this to stop injected instructions.

A fixed form: language, then text. Trained to stay silent on noise and to ignore spoken commands.
Chapter H5 Section 2.3 and table 1 of the paper: what the models support.

Which languages, and what are the limits?

Top: the 30 languages. Middle: the 22 Chinese dialects. Bottom: the limits of each model.

  1. 30 languages

    The two recognisers support 30 languages. Hindi is the only Indian one.

  2. 22 Chinese dialects

    They also support 22 Chinese dialects, and English from many countries.

    So the paper counts 52 languages and dialects in all.

  3. Long clips

    One clip can be up to 1,200 seconds, which is 20 minutes. The same model works live and on whole clips.

  4. Speech, singing, songs

    It reads speech, singing voice and whole songs with background music.

  5. The time-mark model

    The aligner supports 11 languages and clips up to 300 seconds. It gives all time marks in one pass.

30 languages and 22 dialects. Most of the depth is in Chinese and English.
Chapter H6 Section 2.4 and table 2. Clips of about 2 minutes, 16-bit numbers. All numbers are the authors'.

How fast is it?

Left: seconds of sound handled per second, as more callers are served at once. Right: wait for the first piece of text. Solid = 0.6B, dashed = 1.7B.

  1. How they measured

    They served many callers at once. Each clip was about 2 minutes long.

    They used a fast serving program and 16-bit numbers.

  2. One caller

    With one caller the small model handles 106 seconds of sound each second. The big one handles 67.

  3. Many callers

    With 128 callers the small model reaches 2,000 seconds each second. The big one reaches 1,220.

    2,000 sof sound per second, 0.6B, 128 callers
  4. The first text

    With one caller the first text comes after 92 ms for the small model. The big one needs 102 ms.

    With 128 callers it is over 3 seconds. One in twenty callers waits over 6 seconds.

  5. The time-mark model

    The aligner handles up to 962 seconds of sound each second. It needs no step-by-step writing.

Fast for one caller, and it scales to many. The wait for the first text grows quickly past 16 callers.
Chapter H7 Section 4.1. Which systems were compared, on which tests, and how the score is counted.

How did they test it?

Top: the six systems Qwen is compared with. Middle: the four groups of tests. Bottom: how a score is counted.

  1. Six rivals

    Three are closed services: GPT-4o Transcribe, Gemini 2.5 Pro and Doubao ASR.

    Three are open models: Whisper large-v3, Fun-ASR MLT Nano and GLM-ASR Nano.

  2. Who ran what

    The authors ran the closed services and Whisper themselves. The Fun-ASR numbers come from its own report.

  3. Four groups of tests

    Public English and Chinese tests. The authors' own hard-case tests. Many-language tests. Singing and songs.

  4. The score

    The score is the share of words written wrong. For Chinese, Cantonese and Korean it counts characters.

    Lower is better. An average over languages gives each language the same weight.

  5. What to keep in mind

    The hard-case tests are private, so nobody can repeat them.

    The closed services were run by the team whose own model is in the comparison.

Six rivals, four groups of tests. The public tests can be repeated. The private ones cannot.
Chapter H8 Table 3 of the paper, English part. Eight public tests, seven systems. Every number is from the paper.

English: does it beat the closed models?

Each row is a public English test. Each cell is the share of words written wrong. Lower is better.

  1. The full table

    Seven systems on eight tests. A green cell is the best in its row.

  2. Where Qwen wins

    The 1.7B model is best on four tests: LibriSpeech other, GigaSpeech, Common Voice and VoxPopuli.

    These hold messy speech from the web and from crowds.

  3. The small one wins once

    On Tedlium the 0.6B model is best with 3.85. It beats its bigger sister there.

  4. Where closed services win

    GPT-4o Transcribe is best on LibriSpeech clean and on Fleurs. Gemini is best on MLS.

    These are cleaner, read-aloud tests.

  5. One strange number

    GPT-4o Transcribe scores 25.50 on GigaSpeech. Every other system is under 10 there.

    The authors note that closed services vary a lot between tests.

Best on five of eight English tests. Closed services win the three cleanest ones.
Chapter H9 Table 3 of the paper, Mandarin and dialect parts. Fourteen rows, seven systems.

Chinese: how far ahead is it?

Top: Mandarin tests. Bottom: Chinese dialect tests. Cells are the share of characters written wrong. Lower is better.

  1. Mandarin

    The 1.7B model is best on all six Mandarin rows.

  2. The big gaps

    On WenetSpeech meetings it scores 5.88. Gemini scores 13.47 and GPT-4o Transcribe 32.27.

    Doubao gave no usable result on this test, the authors say.

  3. Dialects

    Qwen is best on six of eight dialect rows. That covers Cantonese and the mixed-dialect KeSpeech.

  4. Where Doubao wins

    On the two Sichuan rows the Chinese service Doubao is best. Qwen is close behind.

  5. Why Chinese is so strong

    Chinese and English are most of the training data in every stage. The paper says so directly.

Best on twelve of fourteen Chinese rows. The two it loses go to a Chinese closed service.
Chapter H10 Table 4 of the paper. The authors' own private tests for hard conditions. Nobody else can repeat them.

How good is it in noise and other hard cases?

Seven private tests, seven systems. Cells are the share of words or characters written wrong. Lower is better.

  1. The full table

    Qwen3-ASR 1.7B is best on all seven rows.

  2. Extreme noise

    On very noisy Mandarin it scores 16.17. Whisper scores 63.17 and GPT-4o Transcribe 36.11.

    Doubao scores 17.04, less than one point behind.

    16.17Qwen3-ASR 1.7B
    63.17Whisper large-v3
  3. The small model in noise

    The 0.6B model scores 17.88 in extreme noise. Its writer is three times smaller.

  4. Accents and dialects

    It is best on talk in 16 English accents and in 22 Chinese dialects.

    On the dialect mix the gap to closed Western services is very large.

  5. Old people, children, tongue twisters

    It also leads on old people and children and on tongue twisters. Doubao is close on both.

  6. How far to trust it

    All seven tests were made by the authors and are private. The noise test is Mandarin only.

Best on all seven hard-case rows. These tests are the authors' own and cannot be repeated.
Chapter H11 Table 7 of the paper. Singing voice, and whole songs with background music.

Can it read songs with music?

Top four rows: singing voice alone. Bottom two rows: whole songs with music, given as one long clip. Lower is better.

  1. Singing voice

    On singing alone, Qwen is best on three of four tests. On the fourth it is second by a hair.

  2. Whole songs

    Whole songs with music are much harder. Whisper and Fun-ASR could not do them at all in this test.

  3. Chinese songs

    On whole Chinese songs Qwen is best: 13.91 against Gemini's 18.68.

  4. English songs

    On whole English songs Gemini is better: 12.18 against Qwen's 14.60.

  5. Only the big model

    The table has no column for the 0.6B model. The paper gives no song results for it.

Strong on singing and on Chinese songs. On English songs one closed service is better.
Chapter H12 Table 5 of the paper. Only open models are compared here. The closed services are not in this table.

How does it do on many languages?

Each row is a test set that averages several languages. Lower is better. The number in brackets is how many languages the row covers.

  1. The full table

    Five open models on seven rows. Qwen3-ASR 1.7B is best on six.

  2. The common languages

    On tests with 8 to 20 common languages it beats Whisper large-v3, by a small step.

  3. The crack: 30 languages

    On all 30 languages of Fleurs, Whisper is better: 8.16 against 12.60.

    The authors say it needs work on less common languages.

    12.60Qwen3-ASR 1.7B, 30 languages
    8.16Whisper large-v3
  4. The small model falls far

    The 0.6B model scores 21.80 on the 30 languages. That is almost twice the big model.

  5. Which languages are where

    The 20-language set adds Hindi and seven more. The 30-language set adds ten rarer ones.

Ahead of Whisper on common languages. Behind Whisper once rare languages are added.
Chapter H13 Appendix table A.2 of the paper: the Fleurs test, language by language, for both open models.

Which languages is it weak in?

One pair of bars per language, sorted from best to worst for the 1.7B model. Blue = 1.7B, light = 0.6B. Lower is better.

  1. All 30 languages

    Each language has two bars: the big model and the small one.

  2. The strong group

    Twelve languages are under 6 for the big model. They include Chinese, English, Korean, Italian and Japanese.

  3. Hindi

    Hindi scores 17.15 for the big model and 19.12 for the small one. It is in the weaker half.

    17.15Hindi, Qwen3-ASR 1.7B
  4. The weak group

    Ten languages are above 19 for the big model. Hungarian is worst at 34.22.

  5. The small model breaks first

    In the weak languages the small model is about twice as bad. Hungarian reaches 59.47.

Strong in about a dozen languages, weak in about ten. Hindi sits in the weaker half.
Chapter H14 Appendix table A.2 of the paper: MLS, Common Voice and MLC-SLM, language by language. The third column is the authors' paid service.

How do single languages do on other tests?

Three tests side by side. Rows are languages. Columns: the 0.6B model, the 1.7B model, and the authors' closed Flash service for reference.

  1. Three tests

    The same languages score very differently from test to test. Each test has its own kind of speech.

  2. European languages

    German, Spanish and French are between 4.6 and 8.6 on MLS and Common Voice for the big model.

  3. Real conversations are harder

    MLC-SLM holds real conversations. There German is 17.19 and French 20.75.

    That is three to four times worse than on read speech.

  4. Arabic

    Arabic on Common Voice is 37.97 for the big model. It is by far the weakest row.

  5. The paid service

    The authors also sell a closed version called Flash. It is better than the open 1.7B on most rows.

    So the open model is not their best model.

Real conversation is much harder than read speech. And the authors keep a better model as a paid service.
Chapter H15 Section 4.3.2 and table 6. How often the model names the right language.

Does it know which language it hears?

Each cell is the share of clips where the language was named correctly. Higher is better.

  1. How it does it

    The model writes the language name before the text. No separate detector is used.

  2. The result

    On four tests the 1.7B model is right 97.9% of the time on average. Whisper is right 94.1%.

    97.9%right language, Qwen3-ASR 1.7B
  3. The small model

    The 0.6B model is right 96.8% of the time. It is also above Whisper.

  4. The usual mistake

    Most remaining mistakes are between Malay and Indonesian. The two languages sound very alike.

  5. Not tested

    The paper tests full clips of one language. It shows no result for speech that switches language midway.

Right about 98 times in 100. The language name is simply the first thing it writes.
Chapter H16 Section 4.5 and table 8. The same model on whole clips and in live use.

What does live use cost?

Four columns: each model on whole clips and live. Rows are three public tests and their average. Lower is better.

  1. The live setting

    The authors fed the sound in pieces of 2 seconds. The last four pieces of text may still change.

  2. The big model

    On average the 1.7B model goes from 2.69 to 3.33 in live use. That is 24% more errors.

    +24%errors in live use, 1.7B
  3. The small model

    The 0.6B model goes from 3.48 to 4.40. That is 26% more errors.

  4. Hardest hit

    Noisy English is hit most. LibriSpeech other goes from 3.38 to 4.51 for the big model.

  5. What is missing

    Only 2-second pieces were tested, and only on three clean tests. No shorter piece is reported.

    There is no live result in noise or for other languages.

Live use costs about a quarter more errors, at 2-second pieces. Shorter pieces and noisy speech were not tested.
Chapter H17 Section 3 of the paper. Qwen3 ForcedAligner 0.6B: given sound and its text, find when each word is said.

How does it find the time of each word?

Top: the input, the text with empty time slots. Middle: the model. Bottom: the slots filled with frame numbers.

  1. The job

    You give the sound and its correct text. The model gives the start and end time of each word.

  2. Empty slots

    After each word, two empty time slots are put into the text: one for the start, one for the end.

  3. One pass fills all slots

    Ears turn the sound into frames. A 0.6 billion language model reads frames and text together.

    Then it fills every slot at once. It does not write step by step.

  4. A slot holds a frame number

    One frame is 80 ms. A slot holds a frame number from 0 to 3,749.

    So the longest clip is 300 seconds. Time = frame number times 80 ms.

  5. How it was trained

    No one labelled the times by hand.

    The loss is counted only in the slots. Slots are put in at random places during training.

  6. Measured by the authors

    On hand-labelled tests the model has 67% to 77% less time error.

Text with empty time slots goes in, frame numbers come out. All slots are filled in one pass, so it is fast.
Chapter H18 Section 4.6 and table 9. Average time error in ms for four tools. Lower is better.

How exact are its time marks?

Each cell is the average distance, in ms, between the tool's time marks and the reference marks. Lower is better. Use the buttons for the three test groups.

  1. Short clips

    On short clips the Qwen aligner is off by 42.9 ms on average. The other tools are off by 130 to 161 ms.

  2. It covers more languages

    The other tools have no result for Japanese, Korean or Portuguese. Each needs its own model per language.

  3. Long clips break the others

    When clips are joined to 300 seconds, the others get far worse. WhisperX is off by 2.7 seconds on average.

    The Qwen aligner stays at 52.9 ms.

    52.9 msQwen aligner, 300 s clips
    2,708 msWhisperX, 300 s clips
  4. Checked against people

    On marks made by people it is off by 32.4 ms on average. The two other tools are off by 101 and 141 ms.

  5. Noise

    With noise added its error rises from 27.8 to 41.8 ms. It is still the best of the three.

About three times more exact than older tools. And it stays exact on long clips, where the others break.
Chapter H19 The question: is it the ears, the code-books, or the language model? What the paper lets us say.

Where does the noise strength come from?

Four possible causes. For each: what the authors say, and what their own numbers show.

  1. The paper does not test it

    The authors give reasons in words. They never switch one cause off and measure again.

  2. Code-books: no

    The model has no code-books. So they cannot be the cause.

  3. A bigger language model: mostly no

    The small model has a writer three times smaller. In extreme noise it is only 1.7 points worse.

    GPT-4o and Gemini also use big language models. They score 36.11 and 29.06.

  4. The amount of training sound: likely

    The ears heard 40 million hours. The authors call the result general and stable.

    The paper has no number that tests this alone.

  5. The last training stage: the authors' pick

    The authors say the reward stage plays an essential role in noise. 30% of its clips were hard cases.

    They show no score with and without it.

  6. Our own small evidence

    In our test, ears of this kind kept background sound in their low layers.

    So the ears do not clean the sound. The model learns to read through the noise.

Not code-books, and not mainly the size of the language model. Training data and the last stage are the authors' explanation, and it is untested.
Chapter H20 Section 5 of the paper, and what a careful reader should note is missing.

What do the authors conclude, and what is missing?

Left: the authors' conclusions. Right: what the paper does not show.

  1. Their conclusion

    A strong sound-and-text model, trained in four stages, beats models of its size and larger. It matches closed services.

  2. What they list as strengths

    30 languages with language naming. Hard sound, accents and dialects. Singing. An open time-mark model.

  3. What they admit

    On all 30 languages it is behind Whisper. They call this room for improvement.

    On a few dialect rows a closed service is better.

  4. Not shown: why it works

    No stage and no part is tested alone. So the cause of the noise strength stays open.

  5. Not shown: who can check it

    The hard-case tests are private. The training data is not described beyond its size.

  6. Not shown: short live pieces

    Live use is tested only at 2 seconds, on clean speech. And a better closed version exists as a paid service.

Very strong where it had the most data. Why it is strong, the paper does not prove.
Chapter I1 Our test, 11 Oct 2026: four open audio models, 2,304 multiple-choice questions about sound clips.

Can the big open audio models hear the surroundings?

One box is one kind of question. A bar is one model. Higher is better. The red line is what guessing scores.

  1. The test

    Each model heard a clip and got one question with the answers listed. It had to reply with one letter.

    There are eight kinds of question. Two of them use Hindi, Tamil and Telugu speech. A model that gives one answer every time scores the red line.

  2. Step-Audio 2 mini hears the voice

    Blue is Step-Audio 2 mini. It tells woman from man and it names the acted emotion.

    Its emotion score is as good as our best small reader on frozen ears.

    88%woman or man
    75%acted emotion, six choices
  3. The other three

    Orange is MOSS-Audio, green is Gemma 4, grey is Phi-4. MOSS gets woman or man mostly right.

    Gemma 4 is the only one that knows which Indian language it hears: 63% of 12 choices.

  4. Nobody hears the surroundings

    Look at the shaded boxes: background place, line damage and loudness. All four models sit on or near the red line.

    We measured the clips to be sure. The noise, the gaps and the low level are really in the sound.

    14%background place, Step-Audio 2 mini. Guessing is 14%.
  5. A tiny reader does it

    The black marks are from our layer probe. A one-layer reader on small frozen ears answered the same kinds of question.

    It gets line damage and loudness almost perfectly. The big models miss both.

    100%line damage, tiny reader on 0.6B ears
  6. What this test is not

    One prompt wording, one run, letters only. The emotion is acted English. The damage is made by code.

    The next two pages ask the same models in two other ways.

Do not use these models to label background, line damage or loudness. Step-Audio 2 mini can label woman or man and strong emotion. The surroundings must be measured from the signal itself.
Chapter I2 Second round, same clips: 968 yes-or-no questions. The order of "yes" and "no" is flipped at random, so answering by habit scores 50%.

Do they not hear, or only answer by habit?

One row is one question. A dot is one model. Right of the red line is better than guessing.

  1. An easier ask

    Seven choices may be too many. So we asked each thing as a plain yes or no, on the same clips.

    Half of the clips have the answer yes. A model that always says one thing lands on the red line.

  2. The voice: yes, they hear it

    The two blue rows are about the voice. Step-Audio 2 mini is right on 96% of the angry-or-calm clips and 89% of the woman-or-man clips.

    MOSS-Audio is right on 98% for woman or man.

    96%Step-Audio 2 mini: angry or calm
    98%MOSS-Audio: woman or man
  3. The surroundings: still guessing

    The six white rows ask about noise, gaps, distortion and a very quiet voice. The dots stay on the red line.

    The best single score is 64%. Most are within a few points of 50%.

    50%Step-Audio 2 mini on harsh distortion. It said no to all 120 clips.
  4. The habit, shown

    The boxes on the right give how often each model said yes. The true share is 50% in every row.

    Step-Audio 2 mini said no to every distortion clip. MOSS-Audio said yes to 98% of them, and yes to every background clip.

  5. What this means

    It is not the wording and not the number of choices. These models were not trained to judge the recording itself.

    Our tiny reader on frozen ears gets line damage and loudness almost perfectly. So the information is in the sound.

They hear the person, not the line. For "can I hear this caller, and if not, why" no open audio model is a reliable judge. Measure the recording with code.
Chapter I3 The same four models, 35 clips, one open request: describe the speaker, the language, the background and the audio quality.

What do they say in their own words?

Press a clip button, play the sound, then read the four answers. The yellow line says what we did to the clip.

  1. Listen first

    There are 35 clips: clean ones, noisy ones, damaged lines, quiet ones, acted emotions and Indian languages.

    The yellow line is the truth. We know it because our code made the clip.

  2. Step-Audio 2 mini

    It names woman or man and the mood well. It sometimes hears a real noise, for example wind in the park clip.

    For all six damaged lines it wrote that the audio quality is good. It named the Indian language correctly on 2 of 15 clips.

  3. MOSS-Audio

    It gives the richest answer: age, voice colour, pace and accent. It is the only one that hears a bad recording.

    It called the three damaged English lines low quality and the clean ones clean. It does not say what is wrong: gaps and a phone line are both "muffled and distorted".

  4. Gemma 4

    It named the language correctly on all 15 Indian-language clips. For everything else it gives one stock sentence.

    "Neutral tone, no background noise, audio quality is clear", whatever the clip holds.

  5. Phi-4 multimodal

    It answers with a short caption like "A man is speaking". It does not follow the request.

    It is built for speech to text and translation, and it shows.

They describe the speaker, not the line. Three of the four call every clip clear. MOSS-Audio hears that a recording is bad, but not why. These are 35 clips, read by us, not a score.
Chapter I4 Our test, 11 Oct 2026: Qwen3-ASR 1.7B, unchanged weights. We only changed how far a frame may look inside the ears. 200 English and 200 Hindi clips.

How much sound do Qwen's ears need to look at?

Left to right: the attention window inside the ears, from 1 second to the whole clip. Up is more wrong words. Lower is better.

  1. One setting, no training

    Inside Qwen's ears a frame looks at other frames in a window. The released setting is 8 seconds.

    We set it to 1, 2, 4 and 8 seconds and to the whole clip. The weights stayed the same.

  2. Clean speech does not care

    The green lines are clean recordings. They are almost flat.

    English goes from 1.6% wrong words to 1.7% when the window shrinks to 1 second.

    1.7%English word errors with 1-second windows. Whole clip: 1.6%
  3. Some noise: still fine

    The orange lines have a real place mixed in, speech 5 dB louder than the noise.

    English stays near 2.4%. Hindi rises only for the 1-second window.

  4. Loud noise needs more sound

    The red lines have noise as loud as the speech. Now 1-second windows hurt.

    English goes from 4.1% to 6.4%. Hindi goes from 20% to 28%.

    +2.3points more English word errors at 1 second, loud noise
  5. Four seconds is enough

    Look at the shaded band. From 4 seconds up, every line is as low as with the whole clip.

    So the ears use about 4 seconds of sound around a frame, and more only helps in loud noise.

  6. What this test is not

    200 clips per language, one run. The Hindi score counts spelling differences as errors, so read its shape, not its height.

    The window cuts both sides of a frame. This is not yet live use; the next page is.

Qwen's ears do not need the whole clip. About 4 seconds of sound gives the full quality, also in loud noise. A live small model can use these ears with a short window.
Chapter I5 Our test, 11 Oct 2026. Page G7 read Qwen's live recipe from its code. Here we ran it: 60 English and 60 Hindi clips, three run intervals, one caller at a time.

What does Qwen's live recipe really cost?

a run
run

Top: real text from one clip, run by run. Blue words are new or written again in this run. Bottom: the scores over all clips.

  1. Real text, run by run

    Drag the run slider. After each new piece of sound the model runs once and the text on the screen grows.

    Black text is kept from the run before. Blue text is new, or written again.

  2. The text keeps up

    After every run the text covers the sound that has arrived. Nothing waits for the end of the clip.

    With a run every 0.5 seconds, the first words show after half a second of sound.

  3. Some words are taken back

    In some runs, words already on the screen change. The yellow note marks such a run. A change of only a comma or a capital letter does not count.

    It happens in about one run in ten for English and one in four for Hindi. Runs that change more than three words are about 1% or less.

  4. English holds, Hindi does not

    The left chart compares the final text with the text from the whole clip at once. English stays at 2.1% wrong words, however often it runs.

    Press Hindi. It goes from 13.3% to 14.7% with a run every 2 seconds. With a run every 0.5 seconds it is 21.3%. We did not find the cause.

  5. The ears work many times over

    Every run hears all the sound again from the start. The right chart counts that work.

    With a run every 2 seconds the ears process about 3 times the clip. With a run every 0.5 seconds it is 9 times for English and 11 times for Hindi.

    9x to 11xthe clip's sound, processed by the ears, with a run every 0.5 s
  6. What this test is not

    One caller at a time, so the times are rough.

    60 clips per language, each 4 to 20 seconds. On longer talk the repeated work grows further.

Do not copy this recipe. The text keeps up, but the ears redo old sound in every run, and Hindi loses quality when it runs often. Ears with a cache do each second once.
Chapter I6 The layer test of page F1, run again on 11 Oct 2026 with two more sets of ears and one harder question. Frozen ears, a one-layer reader, speakers never heard.

Do Qwen's ears keep the voice and the line to the top?

Each chart is one question. Left to right is the first to the last ear layer. Higher is better. The red line is guessing.

  1. The same test, wider

    A tiny reader looks at one layer of frozen ears and answers a question about the clip.

    New here: the ears of Qwen3-ASR in two sizes, and a background test on a place never heard.

  2. The ears from before

    Blue is the live 0.6B ears and grey is Whisper. This repeats page F1 with the same result.

    The live ears know the line and the loudness low down and lose them at the top.

  3. Qwen's ears know it too

    Orange is the 1.7B Qwen ears and green is the 0.6B. Low down they are as good as the others.

    Line damage 100%, loudness 99%, background 95%, emotion 78%.

  4. And they keep it at the top

    Read the orange text under each chart. The last layer of Qwen's ears still answers most questions.

    The live ears do not. Their last layer falls to 47% on line damage and 68% on woman or man.

    95%line damage, last layer of Qwen 1.7B ears
    47%the same, last layer of the live ears
  5. A place never heard is hard

    The shaded chart is the new question. The reader learned each kind of place from one recording and was tested on another.

    All ears score about 40%. So the 93% on page F1 was partly the reader knowing that one recording.

    41%kind of place, new recording. Guessing is 15%.
  6. What this test is not

    English clips, acted emotion, damage made by code, one run. About 300 test clips for most questions.

    One recording per kind of place is very little to learn from. More places may lift that score.

Qwen-style ears carry the voice and the line to the last layer. A reader on top of them loses little. To name the place, the reader needs many more recorded places.
Chapter I9 The lab in one page. Nothing was trained. Every number is from the pages before this one.

What do these tests change in the plan?

Left: what we measured. Right: what to do about it. Green is settled, yellow is still open.

  1. Measuring the surroundings

    No open audio model could say what is wrong with a recording. So do not wait for a judge.

    Measure the damage with code. The answer is exact and costs nothing.

  2. Reading the voice

    Step-Audio 2 mini named acted emotion at 75% and angry or calm at 96%. That is good enough to read tone from speech.

    It was tested on English only. Test it on Indian speech before you trust it there.

  3. Which ears to build on

    Qwen-style ears keep the voice and the line up to their last layer. The live ears we tested lose them.

    So a small model built on Qwen's ears can feed the writer and the decision reader from one place.

  4. How the ears should listen

    Four seconds of sound around a frame gave Qwen's full quality. The whole clip is not needed.

    That fits a live small model with a short window and a cache.

  5. How not to stream

    Qwen's own live recipe redoes old sound in every run and Hindi lost quality when it ran often.

    Build the small model to hear each second once.

  6. Still open

    One test did not run: a reader trained on Hindi only, tried on Tamil, Telugu and Bengali. The method is ready to run.

    Also open: real phone calls, real emotion, and many more recorded places.

The next step is a small model on Qwen's ears, with a short window and a cache.
Chapter J1 Our test, night of 12 Oct 2026. Frozen ears, 12 Indian languages, 10,080 test clips. The ears were not trained. Each reader is one small layer that we trained.

How many seconds of sound does a decision need?

Up is better. 100% = always right, with both answers counted equally. The dashed line is what guessing gives.

  1. The test

    Each clip is cut after 0.5, 1, 2, 3 and 5 seconds. The ears hear only that much, as in a live call.

    A small reader then answers one question from what the ears made. The ears are never changed.

  2. Is the sound bad? Half a second is enough

    Four questions about the sound: noise behind the voice, a bad line, too quiet, echo.

    After half a second the reader is right 88% to 93% of the time. After 2 seconds it is at 94% to 98%.

    0.5 sof sound gives 88% to 93% on these four questions
  3. Who is speaking takes longer

    Man or woman is 64% after half a second and 97% after 2 seconds. A voice needs some time to show itself.

    Which of 12 languages is spoken needs the whole clip: 15% at half a second, 86% at the end.

  4. What the reader cannot do

    Which kind of place the noise comes from: 46%, where guessing gives 17%. The test places were never heard in training.

    So the reader can say "there is noise". It cannot say "you are in a car".

  5. Where it misses

    After 1 second it misses three cases: a second voice, an overdriven line, and faint noise. The first two get better with the whole clip.

    It also flags 4% to 6% of clean clips by mistake. For echo it is 10%.

  6. Read from the middle of the ears

    The best layer for these questions is a low or middle one, not the last. The last layers keep words and drop the rest.

    In the live Conformer the last layer drops "too quiet" from 97% to 73%. Man or woman drops from 98% to 73%.

  7. Limits

    The damage was added by code to read speech. Real phone calls can differ.

    One run. Each reader is one small layer. A real reader can do better.

The "I cannot hear you" decisions are fast. Half a second of sound is enough to flag noise, a bad line, low volume or echo. Read them from a middle layer of the ears.
Chapter J2 The same test on nine sets of frozen ears, from 8 million to 609 million numbers. Best layer of each. One run.

Do these decisions need big ears?

Each cell: how often the small reader is right, both answers counted equally. Green is good, red is near guessing.

  1. Nine sets of ears, one second of sound

    Each row is one set of ears. The number after the name is its size, in millions of numbers.

    After one second, even the smallest ears flag a bad line 94% of the time.

  2. The whole clip

    With the whole clip, all nine sets are close for noise, bad line and echo. Size helps for the last column only.

    Which language is spoken goes from 75% with the smallest ears to 88% with ears ten times larger.

  3. 8 million numbers are enough to hear a bad line

    The smallest ears are 38 times smaller than Qwen's large ears. On bad line they lose 2 points.

    So the decision part does not push the size of the model up. The writer does.

    97%bad line, whole clip, with the 8-million ears. The 314-million ears: 99%
  4. Two sets of ears cannot hear "too quiet"

    wav2vec2 and HuBERT score about 65%. Their own settings level the loudness of every clip before the ears.

    So the volume is gone before the first layer. Ears for our model must get the sound at its true level.

  5. What this is and is not

    These ears were all trained on other tasks. We only read what they already keep.

    A small model trained for these tasks can keep more. This page shows the floor, not the ceiling.

No. Noise, bad line, low volume, echo and man-or-woman are readable from very small ears. Only "which language" gains from size. The ears must not level the loudness first.
Chapter J3 Frozen Qwen 0.6B ears, whole clips. 120 test recordings for each language.

Does a reader trained on Hindi work in other languages?

Columns: the language of the test clips. Rows: which languages the reader was trained on. Green is good.

  1. Bad line: it carries over

    The top row is a reader trained on Hindi clips only. It never heard the other eleven languages.

    It still flags a bad line in most of them. A bad line sounds the same in every language.

  2. Noise: two weak spots

    The Hindi-only reader drops for Punjabi and Odia. It is at 73% and 66% there.

    Trained on all twelve languages, the same reader is at 90% or more everywhere.

  3. Man or woman

    The voice question also carries over. One language is weaker in every row: Malayalam.

    We did not find the cause. The test has 120 recordings for each language.

  4. Count it

    The bars show the average over the eleven languages that the Hindi reader never heard.

    Adding the other languages to the training closes most of the gap.

Mostly yes, but train on all languages. Sound decisions carry across languages. The weak spots go away when the reader is trained on all twelve.
Chapter J5 Qwen 1.7B and Model B, unchanged. Each clip is cut every half second and written again from the start.

With only part of the sound, what does it write?

Each line is the full text written from the sound up to that time. Nothing from an earlier run is kept.

  1. Our clip, cut early

    This is the clip from the Qwen pages. At 1.9 seconds it has written four words and a part of a name.

    The newest piece is often half a word. It is completed in the next run.

  2. An old word is rewritten

    At 2.5 seconds the year is written as three words. At 3 seconds the same year is written as the number 1537.

    So words that looked finished were changed more than a second later.

  3. How long until a word is final?

    We did this for 150 Hindi recordings. For each word we took the time from first showing to its final form.

    On clean sound, 55% of words are final at once and 84% within 2 seconds.

    55%of words are final when they first show (clean sound)
  4. Noise and a bad line make it worse

    With noise, 41% of words are final at once. On a bad line it is 38%.

    One word in four on the screen will still change. On clean sound it is one in seven.

  5. Model B, the Indic model, in 12 languages

    The same test with Model B on 60 clean recordings of each language. On average 48% of words are final at once, and 79% within 1 second.

    Tamil and Malayalam are the hardest, at 28% and 27%. A likely cause: their words are long and grow as more sound comes.

  6. What a live writer must do

    It can wait before it shows a word, or it can show drafts and mark them. Both cost something.

    Qwen's own live code keeps old text fixed. That is why its Hindi got worse in our earlier test.

About half of the words are drafts when they first show. A live small model needs a rule for this: hold a word back for 1 to 2 seconds, or show it as a draft. A decision read from the sound does not wait for these words (chapter J1).
Chapter J6 The test from chapter G5, now on 360 recordings in 12 languages: 15 runs for each clip, every frame of each run. Frozen Qwen ears.

How much later sound does a frame need?

Left to right: how much sound came after the frame. Up: how alike its answer is to its final answer (1 = same).

  1. From one frame to all frames

    Chapter G5 followed one frame of one clip. Here are all frames of 360 clips.

    The line is the average. The band holds 8 of every 10 frames.

  2. The first second does most of the work

    With no later sound a frame is 0.41 alike to its final answer. With 1 second of later sound it is 0.93.

    After that the gain is slow: 0.96 at 2 seconds and 0.98 at 4 seconds.

    1 sof later sound takes a frame from 0.41 to 0.93
  3. The middle of the ears settles sooner

    The same test at the middle layer: 0.82 with no later sound, 0.98 after 1 second.

    This fits chapter J1. The sound decisions sit in these layers, and they need little later sound.

  4. The smaller ears behave the same

    Qwen's 0.6B ears give almost the same lines. The effect comes from the design, not from the size.

    Frame 24 of chapter G5 started at 0.27. It was a harder frame than the average.

About 1 second of later sound is the useful part. A live small model with two-way ears can work with a look-ahead near 1 second. A reader on a middle layer needs far less: its frames are 0.82 alike with none.
Chapter J7 262 test recordings in four languages. Each test clip is 4 seconds of one version, then 4 seconds of another version of the same recording.

The line turns bad in the middle of a call. How soon is it noticed?

Each cell is one moment in the clip. The number is the share of clips that the reader flags at that moment. Green = right, red = wrong.

  1. The test

    The ears hear the sound so far, as in a call. Every half second the reader looks at the newest second of frames.

    The change is at 4 seconds. A good reader is quiet before it and flags after it.

  2. First try: it notices the change

    These readers were trained on steady clips only: all clean or all bad. One second after the change they flag 46% to 85% of the clips.

    Before the change they flag few clips: 1% to 16%. That part works.

  3. First try: it does not let go

    Now the line is bad first and then fine. With Qwen's ears the reader still flags 23% of the clips, 4 seconds after the line is fine.

    It looked as if two-way ears keep the old sound in the new frames. That was the wrong reading.

  4. Train the reader on clips that change

    We added changing clips to the training and marked each second with its own true state. Nothing else was changed.

    One second after the change, 91% to 97% of the clips are flagged, across five sets of ears. One second after the line is fine again, 3% to 9% are.

    1 safter the change, the reader has followed it
  5. Noise: the same, with more false alarms

    For noise the reader follows the change in one second too. But it flags about 1 clean moment in 6.

    One second of sound is short for noise. The clip-level reader of chapter J1 had 6% false alarms.

  6. What we keep

    The delay is the length of the piece that the reader looks at. With that training, even the 8-million ears follow the change.

    The training data was the limit. A reader must see changes to learn that a call can change.

  7. How a changing clip is scored

    Each second has its own true state.

    The second that holds the change is marked as mixed. A reader should skip it in training.

About one second. A small reader on the newest second of frames follows a line that turns bad or recovers. It must be trained on clips that change, with a state for each second.
Chapter J8 7,441 acted English sentences from 91 actors. The 23 test actors were never heard in training. Frozen ears; the reader is one small layer that we trained.

How fast can the tone of a voice be read?

Up is better. Both answers of a question count equally. The clips are short: half of them are under 2.5 seconds.

  1. Angry or calm: one second

    Actors say the same sentences in an angry voice and in a neutral voice. The reader hears only the start.

    After half a second it is right 88% of the time. After one second it is at 94%.

    94%angry or calm, after 1 second of sound
  2. Six emotions and age are harder

    Choosing among six emotions reaches 77% with the whole clip. Guessing gives 17%.

    Age in three bands reaches 52%, where guessing gives 33%. The ears keep little about age.

  3. Small ears again do well

    The grid shows all nine sets of ears after 1 second. Angry or calm is 89% or more for all of them.

    Larger ears help for six emotions and for age.

  4. Limits

    These are actors, in English, in a quiet room. A real angry caller sounds different.

    We have no Indian speech with tone labels. This page shows that the signal is fast, not how well it works on calls.

Tone shows itself in about one second. "Angry or calm" can sit beside the sound decisions as a fast reader. Age cannot be promised. Indian speech with tone labels is the missing data.
Chapter J9 The seven tests of this part, turned into rules for the small model. Every number is from chapters J1 to J8.

What does this change in the plan for the small model?

One rule on each step. The chapter that holds the proof is named on the drawing.

  1. The decision part is small and fast

    A reader of one layer on a middle layer of the ears answers the sound questions after half a second.

    It reads from the ears and writes nothing into them. So it can be added or removed without any change to the writer.

  2. It does not need big ears

    Ears of 8 million numbers already carry noise, bad line, low volume and echo. So a budget under 0.5 billion is not at risk from the decision part.

    One rule for the ears: do not level the loudness before them.

  3. Train the reader the way it will be used

    Use short pieces, all languages, and clips that change in the middle. Each of these three fixed a failure tonight.

  4. Two models, each right in its own place

    Model B writes all twelve languages. Qwen writes Hindi only, of these twelve. Where they differ, hear the clip before trusting either.

  5. The live writer needs a rule for drafts

    About one second of later sound is the useful part for the ears. Half of the words are still drafts when they first show.

    So the small model should hold words back for 1 to 2 seconds, or mark them as drafts.

  6. Still open

    Tone on Indian speech has no labelled test set yet. Real phone calls were not tested, only damage made by code.

    Age and the kind of place are weak. No speech model was trained tonight. The ears stayed frozen, and only one-layer readers were trained.

The decision part is the easy part. It is small, fast and can be detached. The work is in the writer. It needs about one second of look-ahead and a rule for draft words.
Chapter K2 Sizes are counted from the weight files. Pieces are counted on a fixed set of lines. The knowledge test ran on 12 Oct 2026: 25 writers gave a result and 6 did not load.

Which small writer fits behind the Qwen ears?

The writer is the part that turns what the ears heard into text. "Pieces" are the small parts of words that a writer puts out, one at a time.

  1. How much room is left

    Your limit is 500 million numbers. At 16 bits for each number, that is 1.0 GB of memory.

    The big Qwen ears leave 0.37 GB for the writer. The small Qwen ears leave 0.63 GB.

    0.37 or 0.63 GBis all the writer can have
  2. The candidates, by memory

    We searched 36 labs for small writers and counted each from its weight file. The smallest Gemma 4 needs over 9 GB, so it is out.

    The 1-bit and 3-level writers are large in numbers but small in memory. Three of them fit behind the small ears.

  3. Follow one real line

    A writer puts out pieces of words, one piece for each step. Fewer pieces means fewer steps of work.

    This Tamil line has six words. One writer needs 12 pieces for it. Another needs 103.

  4. The same count on all 12 languages

    The Gemma table has pieces for Indian scripts. It needs about 2 pieces for a word.

    The 1-bit writers are made from Qwen3. They keep its table: 7 pieces for an Indian word.

    2.1pieces for a word, Gemma
    7.2pieces for a word, the 1-bit writers
  5. Knowledge against memory

    We let each writer guess real lines from a test set. A writer that knows the language guesses well, so its number is low.

    Among the writers that fit, the small Gemma knows these languages best. The squeezed writers come next.

  6. What the squeeze costs

    A 1-bit writer is a normal writer with each number cut to one bit. It loses some of what it knew.

    The loss is larger in Indian languages than in English. And its maker gives no way to train it further.

  7. Indian-built writers, and a live Indic model

    We tested writers that Indian teams tuned or built. Two large ones know these languages best of all, but need 3 to 5 GB. None that fits beats the small Gemma.

    The writer inside a live Indic model is not a language model. It is a large part of that model, and it works only with its own ears.

  8. The Gemma word table can be cut

    Of the 268 million numbers in the small Gemma, 168 million are its word table. Most of those rows are never needed for the languages here.

    With only those rows, the writer needs 0.27 GB. Then it also fits behind the big ears.

  9. The choice

    Four stacks fit under the limit. We recommend the small Gemma as the writer, in row 1 or row 2.

    The release is open and not for profit, so the licence is not a limit here.

Use Gemma 3 270M as the writer. In the memory we have, it knows these languages best and writes them in the fewest pieces. Its numbers are normal, so the standard training tools apply. The 1-bit writers fit too, but they know less.
Chapter L1 Three speech-to-text models released in 2026, each under 0.8 billion numbers. All three run on the same real clip, 12 Oct 2026.

How do the small models of 2026 turn frames into text?

listenstep 2: click the top card to hear the clip

The clip is from the YODAS v3 set. Sizes are counted from the loaded models. The board is the Hugging Face Open ASR Leaderboard.

  1. Three designs

    Ears turn sound into frames. Something must then turn the frames into text.

    These three models of 2026 do it in three ways: votes, a small predictor, and a language model.

  2. One clip, three texts

    We gave all three the same real clip. The words that each one wrote match the caption.

    They differ in capitals, in marks, and in what they do at the end of the clip.

  3. The cost of each way

    The model with votes took 18 ms. The one with a language model took 625 ms.

    The reason is in the design. A writer works once for every piece, and votes come all at once.

  4. What each can do

    The fastest one is English only, and it cannot run live. The live one has the worst English score.

    The one with a language model wrote the most complete text here. It is also the largest and the slowest.

  5. What this means for our model

    Each design answers one of our open questions: the cheapest writer, live ears, and how to join a writer.

    The next three pages open each model, one step at a time.

The part that writes decides the cost. Votes are almost free. A small predictor is cheap and runs live. A language model costs one pass for each piece.
Chapter L2 IBM Granite Speech 5.0 470M, released Aug 2026. Read from its code and run once on a real clip, 12 Oct 2026.

How does a model write text with no writer?

listenstep 1: click the clip to hear it

Every size and every text on this page is from one real run of the model on this clip. The clip is from the YODAS v3 set.

  1. The whole path

    The sound goes through 16 layers. At the end, each frame gives one score to every word piece the model knows.

    No second part writes the text. The frames vote, and the votes are the text.

  2. One input row

    The sound is first turned into a picture with 80 bands. The model also gets how fast each band is changing.

    Two picture columns side by side make one row of 320 numbers. One row is 20 ms of sound.

  3. Time gets coarser, twice

    The first two layers each join two neighbour rows into one. So 492 rows become 246, then 123.

    From layer 3 to layer 16 the length stays at 123. One frame is now 80 ms.

  4. Inside one layer

    Each layer has four parts: a small network, attention, a convolution, and a second small network.

    The 16 layers hold 439 of the 473 million numbers. The rest is the vote layer and the way back from votes.

  5. Attention stays inside a block

    The frames are cut into blocks of 128. A frame looks at the other frames of its block and no further.

    Inside the block it sees later frames too. So the model must have a whole block before it can start.

  6. It reads its own first guess

    After layer 8 the model votes once. The votes are turned back into numbers and added to every frame.

    The last 8 layers work from this first guess. When we switch it off, most of the words are lost.

  7. One vote for each frame

    Here are all 123 frames. Most of them vote for "nothing here", because a word piece is shorter than its sound.

    Only 26 frames vote for a piece. Those 26 pieces are the whole text.

  8. From votes to text

    Three simple rules turn the votes into text. No part of the model is run again.

    All frames vote at the same time. So the time does not grow with the number of words.

  9. What it gives and what it lacks

    It is small and very fast, and on this clip its words match the caption.

    It lacks four things: marks and capitals, other languages, live use, and knowledge of words.

Ears alone can write. When the last layer gives one vote for each frame, no writer is needed. The model does one pass, whatever the length of the text. The price: no live use in this model, and no word knowledge.
Chapter L3 NVIDIA Nemotron 3.5 ASR Streaming 0.6B, released May 2026. Read from its code and run on two real clips, 12 Oct 2026.

How can a model write while the sound is still coming?

Every size and every text on this page is from real runs of the model. The English clip is the same one as on the page before.

  1. The whole path

    The model before this one needed the whole sound first. This one is built to work while the sound arrives.

    It has 24 layers of ears and a very small part that writes. One frame is 80 ms.

  2. A frame sees little of the future

    In the model before, a frame saw all frames of its block. Here a rule limits what a frame may see.

    It sees about 4.5 seconds back. Forward, it sees only to the end of its chunk.

  3. Live gives the same answer

    We fed the clip in real chunks. Between chunks the model keeps a small memory of what it needs from before.

    The frames came out the same as in one pass. So the frames do not change when it runs live.

  4. The language tag

    One model serves about 40 language regions. A tag tells every frame which one to write.

    The tag can also say "find it yourself". On our two clips that worked as well as the right tag.

  5. The predictor

    The part that writes asks one question for each frame: which piece is next, or none?

    It uses the frame and a small memory of the pieces so far. If a piece wins, it asks again on the same frame.

  6. Frame by frame

    This is the real run. Most frames write nothing, and some write two or three pieces.

    The text grows from left to right as the frames arrive. Nothing written is changed later.

  7. The price of a short wait

    The chunk size is a setting, from 80 ms to 1.1 seconds. The same model does all four.

    On this clip the words are the same in all four settings. Only the end of the sentence differs.

  8. Size and speed

    The ears are 95% of the model. The part that writes is under 4%.

    Each chunk takes about 19 ms of work, so the model keeps up with live sound.

Live is a property of the ears. Limit what a frame may see, keep a small memory between chunks, and the live run gives the same frames as the full run. The part that writes can then be very small.
Chapter L4 Qwen3-ASR-0.6B, released Jan 2026. Read from its code and run on two real clips, 12 Oct 2026.

How do sound frames get into a language model?

Every size and every text on this page is from real runs of the model. The ears of this family are opened in part G; this page follows the frames after the ears.

  1. The whole path

    The two models before had no writer, or a very small one. This one has a full language model as its writer.

    The ears give 128 frames for our clip. A small bridge makes each frame as wide as one word of the writer.

  2. Frames take the place of words

    The writer is given a short prompt with 128 empty slots. Each slot is filled with one frame.

    So the sound does not go through the word table. The frames are put straight into the row of words.

  3. It writes piece by piece

    The writer reads all 143 rows and writes one piece. Then it reads again, with that piece added, and writes the next.

    It first writes which language it heard. Then a mark, then the text, then a sign for the end.

  4. It finds its own place in the sound

    For each piece we looked where the writer was looking. The place moves forward through the clip, piece by piece.

    No rule in the code forces this. The writer follows the sound from left to right by itself.

  5. With part of the sound

    We cut the English clip short and let it write. It ends each cut with a full stop.

    So a cut in the middle of a phrase gives a wrong ending. The text must be written again when more sound comes.

  6. The Hindi clip

    The same model writes Hindi. It heard the language at once, and most words are right.

    It wrote the year wrong, and it needed 102 pieces for one sentence. Its word table cuts Hindi into many pieces.

  7. Size and speed

    The writer is 76% of the model. Each piece costs one pass through it.

    So this model is the slowest of the three on the same clip. On this clip it also wrote the most complete text.

A frame can stand where a word stands. A bridge makes each frame as wide as a word row, and the language model reads frames and words in one line. The cost is one pass for every piece that is written.
Chapter Q1 The numbers on this page come from the real training code and from a tiny test of it. The left side of step 1 is from the report of the makers of our ears. One test clip is followed through the model. The full run is on the last page of this part.

How do we train Hima, and what exactly is the objective?

"Frame" = what the ears give for a short moment of sound. "Piece" = a small part of a word. "Loss" = one number that says how wrong the model is; training makes it smaller.

  1. Their way and ours

    The makers of our ears trained their model in four stages.

    We start from their finished ears and train further.

  2. The model

    The ears turn sound into frames.

    Two readers look at the same frames: the writer and the vote layer.

  3. Objective 1

    The writer must predict each next piece of the true text.

    It is of the same family as the objective of the first stage of their makers.

  4. Objective 2

    The vote layer must name the pieces from the frames alone.

    The training code needs no word timings.

  5. Why two

    A writer can guess likely words. The vote layer reads each frame by itself.

    Three small tests compared the mixes.

  6. Four speeds

    The new parts learn fast, from the first step.

    The trained parts wait, and then move slowly.

  7. The tiny test

    A few hundred steps.

    It shows that the code learns. It does not judge the method.

We train the ears, a new bridge and our small writer together, starting from ears that are already trained. The main objective is the writer loss. The vote loss is a helper: in three small tests the writer was ahead with it. The full run uses both.
Chapter Q1b Layer shapes are read from the public weight files of Qwen3-ASR 1.7B and Gemma 3 270M.

How do Qwen's ears plug into Gemma's writer?

One frame = about 80 ms of sound. A "word vector" = the list of numbers a language model reads for one piece of text.

  1. Two parts that never met

    The ears come from Qwen3-ASR. They turn sound into frames of 1,024 numbers each.

    The writer is Gemma 3 270M. It reads one vector of 640 numbers per piece of text. The sizes do not match.

  2. Qwen already built half the bridge

    Inside Qwen3-ASR, two layers turn each frame into a vector its own language model can read. That vector has 2,048 numbers.

    These two layers were trained on exactly these ears. We copy them as they are.

  3. One new layer: Qwen's space to Gemma's

    The vector is now in Qwen's word space, 2,048 wide. Gemma reads 640.

    One new layer, called the map, turns 2,048 numbers into 640. Now Gemma can read each frame like a word.

  4. Where the map starts

    A random map would hand Gemma nonsense at the first step.

    So the map starts from a fit: for text pieces both models know, it turns Qwen's vector into Gemma's vector. Then training adjusts every part.

  5. The whole path

    Sound, ears, the two copied layers, the map, then Gemma.

    The frames sit in the row where words would go. After them comes a "now write" mark, and Gemma writes the text piece by piece.

Borrow Qwen's bridge, add one map. The copied layers already understand the ears. The map only translates from Qwen's word space into Gemma's.
Chapter Q3 The numbers on this page come from the log, the tests and the settings of the full run. The run ended on 14 Oct 2026.

How is the full run going, and what went wrong on the way?

"Letters wrong" = letters to add, remove or change to turn the written text into the true text, as a share of the true letters. "Step" = one round of clips and one small change of the weights.

  1. The score

    Over the run, the letters wrong on the test clips fall.

    One rise in the middle needs an explanation.

  2. Each language

    Most languages are near or under 10%.

    One language is far behind.

  3. How it stops

    The writer writes one piece at a time.

    It must pick the piece "end" by itself. Nothing else tells it that the clip is over.

  4. The problem

    On this real clip the writer never picked "end".

    It wrote one piece 197 times. We call that a loop.

  5. Why it hurts

    A clip that runs on can have far more wrong letters than true letters.

    So five clips held most of the wrong letters of English.

  6. Where it breaks

    Most of these clips left the sentence early, before half of it was written.

    The loop came after. The guards in the next steps limit the damage. They do not bring back the lost sentence.

  7. Guard 1

    The writer is stopped when the end of its text is a loop.

    The clip is still wrong. The guard only stops the damage from growing.

  8. Guard 2

    The writer may write only so many pieces for each frame of sound.

    Our first limit was too low for Odia. That was our mistake.

  9. Did it work?

    The run now flags texts that loop.

    Fewer clips run on than at the worst point. It is better, and it is not solved.

  10. Now

    The run is done.

    Some things are still open.

Over the run, the writer gets better. At the rise in the middle, a few clips ran on: most of them lost the sentence early and then repeated themselves. Two guards limit that damage. They do not fix the writer. Our first guards had two faults, and one language is not solved.
Chapter Q4 Every number on this page is from test clips: 960 of them, and 1,200 clips of a public read-speech test (FLEURS). The saved model of step 125,000 is used where a step does not name another. Nothing was trained for this page.

Why do some languages look bad in the tests?

"Letters wrong" = letters to add, remove or change to turn the written text into the true text, as a share of the true letters. "Script" = the set of letters of a language. "Run-on" = a clip where the writer wrote far more than was said.

  1. The jumps

    All languages together are steady.

    Hindi and English jump up and come back.

  2. One clip

    The writer heard the Hindi sentence.

    It wrote it in the letters of another language.

  3. How often

    It happens in 14 to 60 of 960 test clips.

    The count went up and down, and it was lowest at the end of the run.

  4. Why

    Nothing tells the writer which language the clip is in.

    One stray piece of another script can also start a run-on.

  5. The test

    We wrote the same clips again with other scripts blocked.

    On the clips in another script, most wrong letters are gone, with no training.

  6. Gujarati

    On a public test, Gujarati is one of the best languages.

    The Gujarati test texts look like the problem. We did not listen to them yet.

  7. What we change

    In six of the seven languages shown, short clips score worse than long ones.

    Three changes follow from this page. None is done yet.

The jumps of Hindi and English that we looked into are one fault: the writer picks the wrong language. It hears the clip and writes it in another script. With other scripts blocked, most wrong letters of those clips are gone. Gujarati seems to look bad because of its test texts.
Chapter Q4b Measured on 44,763 words of public test clips, at one saved model during training. Nothing was trained for this page.

Why does Hima write a word that only sounds right?

"Chance" = how likely the writer found the right word, given the sound and the right words before it. All clips are from public test sets.

  1. Heard right, written wrong

    The speaker says "pull". Hima writes "pool".

    The two words sound almost the same. So the sound reached the model, but the written word is wrong.

  2. The right word was there

    At that spot, the writer gave "pull" a chance of 46%.

    The writer takes its top choice at each step. With "pull" under half, a close neighbour could score higher. "pool" did.

    46%chance of the right word
  3. One word, written as pieces

    The writer builds words from small pieces of text. A rare word needs many pieces.

    For the town "कणकवली", the right word had a 52% chance after the right words. But Hima had already split the word before it. From there it chose other pieces, one by one: "कण कव्वाली".

  4. The same in English

    "nouns" became "now as". "outer" became "air of". "Addenbrooke's" became "a second brook's".

    Each wrong text sounds like the right one. It is made of pieces of common words.

  5. How often it happens

    We sorted all 7,242 wrong words by the chance of the right word.

    In 40% of them, the right word had a real chance, between 5% and 50%. The writer was not sure.

    40%of wrong words: right word had a real chance
  6. Long words fail most

    Words of one piece are wrong 8.9% of the time.

    Words of four or more pieces are wrong 34.7% of the time. Every extra piece is one more place to choose a wrong path.

  7. A better search does not fix it

    A wider search keeps several guesses at once. It helps only if the model scores the right text higher.

    That was true in only 175 clips. In 2,199 clips, the model scored its own wrong text higher.

    2,199clips: the model preferred its wrong text
    175clips: the search missed the right text
The sound arrived; the choice went wrong. The fix is in training: teach the writer to rank its own close guesses (chapter T, MWER), not a wider search.
Chapter Q5 This page follows one real Hindi test clip. Every clip and number is from our test clips or from a public test, written by saved models of the full run. Steps 9 and 10 also show texts and numbers of another open speech model. Nothing was trained for this page.

Should we tell the writer which language it hears?

"Writer" = the part of Hima that writes the text. "Alphabet" = the set of letters of a language. "Label" = one extra piece in front of the text that says the language. "Letters wrong" = wrong letters as a share of the true letters.

  1. Ten alphabets

    One writer writes all 12 languages.

    It may use any of ten alphabets, and nobody tells it which.

  2. One real clip

    Four saved models wrote the same Hindi clip.

    One wrote it in Marathi words, one in Odia letters.

  3. The problem

    A Hindi reader cannot use a text in Odia letters.

    At one saved model, 26 of 80 Hindi clips came out like that.

  4. Why

    The writer gets only the sound.

    Its first letter picks the alphabet, and that first letter is a guess.

  5. Fix A

    Put a label in front that says the language.

    The app writes the label, and the writer reads it first.

  6. Does it help?

    We tested a stand-in: the other alphabets were closed.

    The clips in a wrong alphabet were mostly repaired.

  7. Mixed speech

    English words inside Hindi are written in Hindi letters.

    So a Hindi label should not stop them.

  8. The cost

    A fixed label would fail when the app is wrong.

    It would also fail when the app does not know the language.

  9. Fix B

    The writer writes the label itself, as the first piece.

    The app may write it instead, when it knows the language.

  10. A second label

    A second label can say how to write English words.

    Hima writes only one style today.

  11. The choices

    Three choices, side by side.

    We would take the third. It is not trained or tested yet.

The writer is never told the language, so it sometimes writes a clip in the wrong alphabet. A label in front should fix that: in a stand-in test, about four of five wrong letters of those clips went away. The label should be a piece that the writer can write itself and the app can overrule. In our test clips, English words inside another language are written in that language's letters, so a label should not block them.
Chapter Q6 Every row on this page is a real clip, with what was said and what the final model (step 200,000) wrote. Click a row to hear it. Nothing was trained for this page. The noise is real recorded noise of places, from a public set.

What does the final model do with the hard cases?

listenclick a row to hear the clip

"Letters wrong" = wrong letters as a share of the true letters. "A third as loud" = the noise or the other voice has a third of the strength of the caller's voice (10 dB lower).

  1. The picture

    Normal clips are fine.

    The model breaks on very short clips, on long audio, and on a second voice.

  2. 1 to 2 seconds

    One short word is often right.

    When it is wrong, it is often written in another language's letters.

  3. Under 1 second

    Very short clips are the hardest.

    Half of them come out wrong, mostly in the wrong alphabet.

  4. Long audio

    Up to about 20 seconds almost nothing is lost.

    At a minute the model writes a few words and stops.

  5. Real noise

    Traffic and metro noise cost a few points.

    Cafe noise costs most, because it is other people talking.

  6. Telephone

    A telephone channel costs about 2 points on the public test.

    It is a simulated channel, not real calls.

  7. A second voice

    The model cannot tell which voice is the caller.

    When the other voice is as loud as the caller, the caller's text is lost.

  8. Wrong alphabet

    One Hindi clip came out three different ways at earlier saved models.

    The final model writes it right.

The model is good on normal clips and weak on the edges of a real call. Short clips, long audio and a second voice are where it breaks, and nothing yet trains it to ignore a second voice. Traffic noise is the smallest of these problems.
Chapter Q9 The saved model of step 12,000 of the fine-tuning run, on seven public Hindi tests. Nothing was trained for this page.

Why does Hima write Hindi in other alphabets?

A "piece" is the unit the writer writes: a whole word, part of a word, or one letter. Red letters belong to another alphabet.

  1. The symptom

    One Hindi test clip in nine has letters of another alphabet.

    Sometimes a whole word, often only part of a word.

  2. Which alphabets

    Gujarati, Punjabi, Tamil and Telugu lead.

    Bengali is only fifth.

  3. Ruled out

    The letters are not broken bytes.

    The mixed letters are not a decoding error.

  4. Not the search

    At the stray piece, the other alphabets hold three times more chance than Devanagari.

    The model believes its wrong letters.

  5. The label is ignored

    Right label, no label or wrong label: the result is the same.

    In training, the label never told the writer anything new.

  6. Inside words

    Most stray pieces continue a word.

    Few start one.

  7. Hindi words are whole

    Most Hindi words are one piece.

    So the writer rarely writes Hindi word endings by itself, and borrows endings from other alphabets.

  8. Unknown words

    Strays sit on words Hima did not know.

    The sound is usually wrong too.

  9. Forbidding is small

    Forbidding other alphabets gains under 1.5 words per 100 in Hindi.

    It does not fix the word.

  10. The fix

    Train Hindi word endings piece by piece, and make the label count.

    No hard block, because people switch languages.

The writer believes the wrong letters, and it ignores its label. It slips inside words it does not know, most likely because the writer rarely writes Hindi word endings by itself. Two training changes target the cause. The expected gain is about 1 word per 100. The bigger problem is unknown words.
Chapter Q10 The public tests on Smallest Pulse's model card, run on Hima's saved model of step 12,000. Nothing was trained for this page.

How far is Hima from Pulse, and what closes it?

"Words wrong per 100" = words to add, remove or change to turn the written text into the true text, per 100 true words. "×" = Hima's errors divided by Pulse's.

  1. Hindi

    Hima makes 2.5 to 7 times Pulse's errors.

    It is also behind the open IndicWhisper model.

  2. English

    About three times Pulse's errors, in every kind of sound.

  3. Not the hard sound

    Hard sound adds the same share for both models.

    The gap is already there on clean sound.

  4. Not the alphabet

    The wrong alphabet is a small slice.

    Most lost words are heard wrongly.

  5. The plan

    Score the later steps tonight. Then fix the alphabet, handle the words it does not know, and add reward learning.

Hima makes about three times Pulse's errors. Hard sound and the wrong alphabet explain little of it. The gap is words Hima does not know. Closing it needs more training, not better decoding.
Chapter Q11 Public test clips in Telugu, Hindi and English. Hima (its final saved model), Model B and Sarvam each wrote every clip. Click a card to hear it. Nothing was trained for this page.

Where do Hima, Model B and Sarvam each fail?

listenclick a card to hear the clip

"Words wrong" = words to add, remove or change to reach the true text, per 100 true words, after the tests' usual cleaning. A clip is "right" for a model when at most 10% of its words are wrong.

  1. The scores

    The same clips for all three models.

  2. Who fails where

    Some clips only Hima gets wrong.

    Some clips all three get wrong.

  3. Telugu, only Hima

    Model B and Sarvam both get these right.

  4. Telugu, Model B or Sarvam too

    One of the other two is wrong as well.

  5. Telugu, all three

    No model gets these right.

  6. Hindi, only Hima

    Model B and Sarvam both get these right.

  7. Hindi, Model B or Sarvam too

    One of the other two is wrong as well.

  8. Hindi, all three

    No model gets these right.

  9. English, only Hima

    Model B and Sarvam both get these right.

  10. English, Model B or Sarvam too

    One of the other two is wrong as well.

  11. English, all three

    No model gets these right.

  12. Model B and Sarvam agreeing

    When the two agree, their text is closer to the truth.

Hima fails many clips that both Model B and Sarvam get right. Those clips show where Hima trails the other two. Clips that all three fail are hard for every model.
Chapter S1 The numbers are the model card's own claims. We did not measure them here.

What did they build?

Colour key: gold = trained in the run, grey = frozen. Green = a good result, red = a limit.

  1. The claim

    6.87% of words wrong, on average, over 8 Vietnamese tests.

    3,713 times real time, from the card.

  2. The pipeline

    Sound becomes log-mel numbers, then flows through three model parts to text.

    The ears are EmbeddingGemma 2's audio tower, about 305M weights, found by subtraction.

  3. What was trained

    10 of the 12 ear layers were frozen, so they never changed.

    Trained in the run: the top 2 ear layers, the 13 layer-mix weights, the reader and the head.

  4. One pass

    A writer that writes piece by piece loops once per piece. A word is often several pieces.

    This model reads all frames at once: one pass per clip.

A strong pretrained ear, with 2 of 12 layers retrained, read in one pass per clip. The 6.87% and 3,713× are the card's claims, not our measurements.
Chapter S2 Numbers come from QUAN's code and config files, and from the base model's config.

How can an embedding model hear?

Blue = the frames and the units the model uses. Grey = the other inputs or the pooled idea we do not keep.

  1. What an embedding model is

    It turns an input into one point of 768 numbers.

    A sound and its text land close together.

  2. 25 frames a second

    The audio tower keeps time: one frame every 40 ms.

    One second of sound gives 25 frames.

  3. Pooling is thrown away

    An embedding model squeezes its input into one vector.

    QUAN keeps every frame and passes all of them on.

  4. The layer mix

    The tower has 13 outputs: one after the first step, one after each layer.

    A learned weight for each output sets the mix.

    Lower layers keep more sound detail: the recipe's idea, not measured here.

    At step 250, outputs 1 to 4 hold 0.71 of the weight; the last holds 0.11.

  5. The head: into Gemma's text space

    The reader's 768 numbers become 512, the size of Gemma's text vectors.

    Each frame is scored against 14,917 units, plus blank and unk.

    Its training config starts the unit rows from Gemma's text vectors.

The ears keep all 25 frames a second. The head scores each frame against text units, starting from Gemma's text vectors per its config.
Chapter S3 The 40 ms frame and the 0.48 s pieces come from QUAN's config. The guesses drawn are an example.

How do 25 frames a second become words?

Colour key: blue = a unit, grey = blank. The guesses and the sound strip are invented for explaining, not real model output.

  1. The frames

    One second of speech is 25 frames, 40 ms each.

    The strip is an example, not a real recording.

  2. One guess per frame

    Each frame guesses one unit, or blank.

    Blank means: no new unit starts here.

  3. Merge and drop

    Repeats in a row merge into one unit.

    Blanks are dropped. What is left is the text.

  4. Room to spare

    Vietnamese has about one unit per syllable.

    Assumed rate, not measured: 4 to 6 units a second, against 25 frames.

  5. All at once, and streaming

    All frames are read in one pass, with no loop per piece.

    Streaming uses pieces of 12 frames, 0.48 s, that look only back.

Vietnamese suits CTC: about one unit per syllable (assumed), so 4 to 6 units a second, against 25 frames. The cost is that CTC has no grammar inside. That is page S5.
Chapter S4 Every number is from the QUAN model card or its code. Nothing was re-measured for this page.

Why does it work?

Four tiles are the four reasons, one lit per step. The last drawing is the card's own error table: a shorter bar is fewer errors.

  1. A strong ear, mostly frozen

    The sound part is a Google audio encoder, built like USM.

    Only its top 2 of 12 layers are retrained.

  2. Units that match the sound

    It has 14,917 units, taken from Gemma's tokenizer.

    That is about one unit per Vietnamese syllable.

  3. A head that starts in text space

    The head starts from Gemma's own text vectors, 512 numbers each.

    Its config file sets the head to start from text vectors (head_init: text).

  4. About 2,800 hours of speech

    The training data is about 2,800 hours of Vietnamese, from several sets.

    The next page shows how close those sets are to the tests.

  5. The result on the card

    Average error over 8 tests, lower is better.

    QUAN 6.87%, Qwen3-ASR-1.7B 7.01%, Whisper large-v3 18.04%.

By the card's own table, QUAN has the lowest error of the four shown. These are the four parts that the card and code show. Which part matters most, we did not test.
Chapter S5 Numbers are from the QUAN model card and its code. The overlap with the training list is our reading of the card.

Where does it break?

Red marks a limit. Green marks a result that holds. Bars are drawn to scale from zero, and a shorter bar is fewer errors.

  1. Six of eight tests share its corpora

    Six of the eight test sets come from corpora on its training list.

    The card does not say whether test utterances were excluded.

  2. GigaSpeech2: QUAN ranks 9th of 17

    GigaSpeech2 is not on its training list.

    QUAN has 12.34% errors; Qwen3-ASR-1.7B has 8.47%.

    On the card it is the worst of the top seven.

  3. Streaming makes more errors

    On the training log's average of 7 test sets, error rises from 6.14% to 7.47%.

    Both numbers are from step 300 of training.

  4. No grammar inside the model

    It writes no capitals and no punctuation, and numbers only as words.

    An optional 4-gram word model outside it scores which word sequences are likely.

  5. A fixed list of 14,917 units

    A word the units cannot spell may be lost.

    Units are sub-word pieces. Whether this happens: not tested.

  6. Only steps 25 to 300 are published

    The published log covers steps 25 to 300.

    The first check (step 100) is already 6.23%, a 7-set average.

Strong and fast, but part of its headline rests on shared corpora. Six of its eight tests come from corpora on its training list.
Chapter S6 Hima numbers are from our own 960-clip test and our code. QUAN numbers are from its card and code. Nothing new was trained for this page.

Did we do this, and should we?

Hima and QUAN side by side. Green is what works, red is what limits. Bars show letters wrong on our own test, lower is better.

  1. Hima and QUAN, side by side

    Hima's writer writes piece by piece, in a loop. A word is often several pieces.

    QUAN's head and CTC read the whole clip in one pass.

  2. Hima already has a CTC part

    Its vote layer is 25.7M, used as a helper (x0.3) in Hima's runs.

    Measured: the writer 8.8% letters wrong, the vote layer 15.1%.

  3. What QUAN's reader has that ours lacks

    QUAN's reader has 6 attention layers, mixes all layers, and starts from text.

    Ours is a 2-layer MLP with no attention, used as a helper (x0.3) in Hima's runs.

  4. Why our languages are harder for CTC

    Vietnamese fits: about one unit per syllable.

    Longer Indian words split into several pieces. Not measured yet.

  5. We built the test; the result is to come

    We built a QUAN-style reader on Hima's own ears. A short test run has started; the full run is queued.

    Then compare letters wrong on the same clips.

QUAN does not show the writer is wrong. It suggests our CTC part is under-built. The result is to come.
Chapter T11 One training method, scored on the same 10 test sets. Half B was never used to choose. Lower is better.

What is MWER, and why does it fix है vs हैं?

Blue = normal training. Green = better. Red = worse. Grey = before. Gold = the right word or a range. Example sentences are invented; totals are measured.

  1. Normal training pushes label pieces up

    Each label piece is pushed up, one at a time, toward the right answer.

    The example sentence is invented to show the idea.

  2. MWER: four guesses for one clip

    The model writes its 4 best guesses for the same clip.

    Each guess gets its word errors against the label. They differ only in है/हैं or के/की.

  3. Push toward the fewest errors

    Guesses with fewer word errors gain probability; the others lose it.

    The bars are illustrative, not measured.

  4. Why it fits: the right word is often there

    The best of the 4 guesses has 0.202 word errors per word.

    The top guess has 0.239. That gap is what MWER chases.

  5. Two rounds gained; round 3 did not

    Total gap: 11.1 before, 10.5 after round 1, 9.8 after round 2.

    Round 3 gave 10.1 to 10.4, so no further gain.

  6. Checked on half B, never used to choose

    Half B total: 159.17 after round 2, 159.66 after round 1, 161.04 before.

    Half B is every other clip of each test set.

MWER was the biggest real training gain of the night. Total gap 11.1 to 9.8, and it held on half B.
Chapter T12 One trained model, four ways to read out its words. Scores are words wrong per 100 from our strict scorer.

How does the model pick its words at the end?

Trees and frame strips are examples made for the drawing. Every bar and total is a real score.

  1. Greedy: take the best piece now

    At each box, take the piece with the bigger score and move on.

    Fast, but an early small choice can lock out a better sentence.

  2. Beam 4: keep four sentences alive

    At each step, keep the four best partial sentences.

    At the end, pick the best whole sentence. In the example, that beats greedy.

  3. Blank penalty: write a little more

    Each frame chooses a piece or "nothing yet". A penalty makes it write more.

    0.5 helped a little; 1.0 and 1.5 were worse.

  4. Every decode on half A

    Half A is the half used to choose. Lower bars are better.

    Beam search beats greedy by about 3 points. Blank penalties barely move it.

  5. Full test: beam 4 wins

    On the full test, beam 4 scores 7.5; beam 8 with penalty scores 7.9.

    Beam 4 is the final decode, with no penalty.

  6. Language model: not used

    A separate text model helps Lahaja and Gram Vaani.

    It makes Monsoon worse, so we do not use it.

Beam 4 is the final decode: about 2.3 points on the full test, 3.1 on half A. The other tricks are noise-level or trade one set for another.
Chapter T13 Averaged models, and how we chose among them. Scores are words wrong per 100 on half A, the half used to choose.

Do averaged models (soups) help, and how did we choose fairly?

Weight grids, soup diagrams, model ranks and clip strips are illustrative. Every score bar is a real score.

  1. What a soup is

    Two saved models' weights are averaged, cell by cell, into one model.

    No extra training is needed to make it.

  2. Three kinds of soup

    Uniform: every saved model counts the same.

    Greedy: add a model only if the score does not get worse. Best-of: take the best model per set, then average.

  3. Results on half A

    Plain average scored best. Every soup scored worse.

    The axis starts at 168, so small gaps look big.

  4. Greedy soup: 13 tries

    Each try added one more model to the soup.

    Every addition made the score worse, so none was kept.

  5. Fair choosing

    The dev set ranked models in the opposite order to the tests.

    Its references follow the training labels' style, so it misled us.

  6. Half A chooses, half B checks

    Every other clip of each test set goes to half A, the rest to half B.

    Choices use only half A. Half B is the check we report.

Soups did not help, so none ship. Choosing on half A and checking on half B keeps the morning numbers honest.
Chapter V1 The sound and questions are one real Hindi clip; the targets are the known answers for it.

What are we building?

Read left to right, one scene per step. Bars are drawn to scale from the real numbers.

  1. Sound and questions go in

    One caller clip goes in, with several typed questions about it.

    No transcript is written in between.

  2. Three kinds of question

    Yes or no, pick one from a list, or score a level on a scale.

    Each option gets one probability.

  3. Hima itself never changes

    Its checksum, called a fingerprint, is the same before and after the probe.

    We only add to it.

  4. The plan in one picture (plan)

    Frozen Hima stays grey. A small blue add-on is the only part that learns.

    The gold spot is where the answer is read.

The goal: decisions straight from sound, with Hima frozen. In the plan, only a small add-on learns, and it does the deciding.
Chapter V2 Sizes, frame counts and transcripts are measured on the frozen model, on two real clips.

What does Hima's writer do today?

Read left to right, one scene per step. Bars are drawn to scale. Grey parts never change.

  1. Three frozen parts

    Each part is grey, which means it is locked and never changes.

    The encoder is the largest, and the writer is close behind.

  2. Sound becomes frames, then vectors

    The encoder cuts the sound into frames, one list of numbers each.

    The bridge turns each frame into a vector the writer can read.

  3. The row the writer reads

    One block starts the row. The sound frames follow, one vector each.

    The last block says the sound is over: write the text.

  4. It writes the text, one piece at a time

    A piece is a small part of a word.

    Compare what it wrote with the true text.

  5. The Telugu clip works the same way

    Same three frozen parts, same row layout, a different language.

    Its transcript is also in Telugu script.

Today the writer hears the sound and writes text. It does not answer questions yet, so it must be taught to.
Chapter V3 The question pieces are the real tokenised text of the wants-a-human question from the Hindi clip.

How do we ask the writer a question?

Read left to right, one scene per step. Each box is one piece of text, as the writer reads it.

  1. Today the row ends at now write

    The sound fills the row, and the last block says to write.

    Nothing after it asks a question.

  2. One new block, then the question as text

    The sound stays the same. A new blue block, now decide, takes the place of now write.

    The question follows, written in the writer's own style: lowercase, no punctuation.

  3. Options get numbers, one piece each

    Each option is labelled with a number: 1, 2, and so on.

    The number is one piece. The option words take their own pieces.

  4. Other questions are just other text

    Each question is a different text, so it has a different number of pieces.

    The shortest question is about a fifth the length of the longest.

A new question is just more text in the same row. The only new block is now decide, and it is added once.
Chapter V4 Numbers come from the frozen writer run with no training, and from its own token table.

How does it answer without writing a word?

Read left to right. Each step adds one idea. Bars are drawn to scale. Grey is today's writer, green is the known answer.

  1. It scores every piece at the answer spot

    The question ends with "answer", the last spot in the row.

    At that spot the writer gives a score to all 262,144 pieces.

  2. We keep only the option numbers

    Plan: the answer is one option number, so only their scores matter.

    Their scores become chances that add to 1. Nothing is written.

  3. First try, letters: it failed

    Untrained, the letters A and B split the chance almost evenly.

    The known answer for this clip is 0.08 for yes and 0.92 for no.

  4. Why the letters failed

    Only a small slice of the writer's pieces was ever used in its training.

    The unused pieces collapsed onto one shared vector, so the letters look identical.

  5. The fix: numbers already lean the right way

    Numbers are clean text, which the writer already knows how to read.

    Untrained, most questions already put the top chance on the right option.

The writer could not read letters. With numbers it already half understands. The add-on must finish the job.
Chapter V5 Targets are the known answers for the Hindi clip. The expected level is computed from those targets, not measured.

How do yes/no, choice and score come out?

Read left to right. Each step adds one idea. Bars are drawn to scale. Green is the known answer for this clip.

  1. Yes or no: number 1 is yes

    Option 1 is yes and option 2 is no.

    The chance of yes is simply the chance of number 1.

  2. Choice: one number per option

    Each option gets its own number, one piece each.

    The answer is the number with the highest chance.

  3. Score: one number per level

    Each level has a number: not urgent 1, somewhat urgent 2, very urgent 3.

    The expected level adds each level times its chance.

  4. All three read from one spot

    Plan: the three question types differ only in their numbers.

    One reading of the "answer" spot serves all three.

All three types come out of one reading. Only the numbers and the way we read them change.
Chapter V6 Counts come from the Hindi clip and the 13 question types. The time is not measured yet.

Why are many questions cheap?

Read top to bottom. Each block is one vector the writer reads. Bars are drawn to scale.

  1. The writer keeps a memory of what it read

    This memory is called the cache. It holds the sound it has already read.

    A new question starts from that memory, not from zero.

  2. The first version re-read the sound for every question

    Each question got its own full copy of the sound.

    Thirteen questions meant the sound was read thirteen times.

  3. Plan: read the sound once, then branch

    The sound is read once. Each question is a short tail after it.

    The question pieces are the same text as before.

  4. Far fewer vectors are read

    Counted from the real pieces: the bars are drawn to scale, far fewer with the memory (plan).

    The time is not measured yet, so the speed is still a claim to test.

Thirteen questions need well under half the reading. The counts come from the real pieces. The speed still has to be measured.
Chapter V7 Sizes come from the model file and from our add-on settings. Nothing here is guessed.

What learns, and what stays frozen?

Read left to right, one idea per step. Bars are drawn to scale. Grey is frozen, blue learns.

  1. Three frozen parts stay as they are

    The encoder, the bridge and the writer never change.

    Their numbers stay locked for every question we ask.

  2. The add-on is a few thin tables

    A weight table is a grid of learned numbers. Each writer layer has seven.

    Each one gets a thin blue pair. The thin side is the rank, a width we chose.

  3. Add-on off gives text, add-on on gives decisions

    With the add-on off, the writer writes the transcript, as today.

    With it on, the same writer answers questions. This is a plan.

  4. One reading of the sound serves both

    The sound is read once, by the plain writer, as today.

    Each question adds one block and its pieces. The transcript branch reads from the same memory.

In the plan, only the blue add-on learns. Everything else in Hima stays exactly as it is.
Chapter V8 Targets are the known answers.

How does the add-on learn to decide?

Read left to right, one idea per step. Green is the answer we want. Bars are drawn to scale.

  1. One example: clip, question, target

    A clip goes in, with one question about what the caller says.

    The target is the answer we want. It is green on the drawing.

  2. Loss: how far the answer is from the target

    Loss is the score that training lowers. Lower means closer to the target.

    Untrained, both losses sit well above their lowest possible value.

  3. Known answers for each question

    Every option has one known answer, a chance between 0 and 1.

    Training pulls the head's bars toward these answers.

  4. Shuffle the options every time

    The same question is shown in two orders of the numbered options. This is a plan.

    Both orders must give the same answer, so the order does not matter.

  5. Only the blue add-on changes

    A gradient is the direction that lowers the loss. Plan: only the blue part gets one.

    The grey parts stay locked, so Hima's own numbers never move.

In the plan, the add-on learns by matching the known answers. Only its blue numbers change, and the rest of Hima stays locked.
Chapter V9 The bars to beat come from the test set. The Hima numbers are not measured yet.

How will we know it worked, and broke nothing?

Read left to right, one check per step. Solid bars are measured. Dashed boxes are still to measure.

  1. Hima's fingerprint did not change

    A fingerprint is a short code made from every number in the file.

    It was the same before and after our probe. Training will repeat this check.

    A small memorise test also passed after the fix.

  2. With the add-on off, transcripts must not change

    We will test 200 clips and compare the text character by character.

    Plan: every clip must match today's transcript exactly.

  3. The bar to beat is the first version's result

    Both bars come from the same test: unseen clips and their decisions.

    The dashed bar is the writer with the add-on. We still have to measure it.

  4. Three controls keep us honest

    A transcript-only arm shows what the text alone can do.

    Noise instead of sound must collapse. Reordered options must not change the answer.

  5. Side by side with option A

    Option A is Hima's encoder with a published router. Its smoke test passed.

    Both get the same clips, the same questions and the same scoring.

The plan is measurable at every step. Each step has a number to beat, or a check that must hold.
Chapter V10 Every number here is measured on the same 2,628 clips as the test set.

Did the frozen Hima writer win?

Read left to right, one question per step. Green is the new model, grey is the first version, red is transcript, then decide.

  1. Our 12 languages: the new model leads

    Each pair of bars is agreement with the answer key, then balanced accuracy.

    The green bars are the new model, the final version. It is the best of the five.

  2. Per language: where the new model gains and loses

    Each bar is the new model minus the first version, for one language.

    Hima never learned five languages. Those five lose the most.

  3. All 18 languages: balanced accuracy wins

    Balanced accuracy counts each answer type equally.

    On agreement the new model is slightly behind the first version.

  4. Per question: balanced accuracy rises on every question

    Each question shows the first version in grey and the new model in green.

    Green means the new model scores higher on that question.

  5. Sound-only questions: three better, two worse

    These questions need only the sound: language, turn end, tone, gender, intent.

    Gender is the weak spot. The fix we plan is labelled plan on the drawing.

  6. What it costs: a small add-on, not the whole model

    The new model learns only its add-on. The first version trained its whole model.

    Hima itself stays unchanged. Speed is not measured yet.

On our 12 languages the frozen Hima writer with a small add-on wins. It leads every earlier model on balanced accuracy and ties the best on agreement.
Chapter V11 Every number here is read from the result files of the 22-23 Oct runs, on our 12 languages.

Can it now answer new questions, and real calls?

One question per step. Green is the newest model: the final version. Grey is where we started, red is transcript, then decide (Hima writes the text, then a text model reads it).

  1. New questions: answered far better

    We asked new questions, never seen in training.

    Before, the model had learned a fixed list of questions. Now it has met far more different ones.

  2. Real calls: it beats transcript, then decide

    Real Hindi collection-call replies, each scored for its caller intent.

    Right answer: the share of replies with the correct intent. Balanced: every intent counts equally.

  3. Per intent: where transcript, then decide still wins

    Each row is one caller intent. Bars right of the line: the final version is better than transcript, then decide.

    Transcript, then decide still wins on replies that hinge on one short word, like "bye" or "no".

  4. From the voice: emotion, age, accent and more

    Each bar is the final version on held-out clips. The thin mark is chance, the grey bar is the start model. The number on the right is the change from the middle version.

    Emotion clips say the same sentence in different emotions, so only the tone tells them apart.

  5. The 13 standard questions held

    Agreement with the answer key and balanced accuracy, on the test set's 23,660 decisions in our 12 languages.

    All the new skills came without losing the old ones.

  6. What changed to get here

    Five changes, each measured on its own before the next.

    Each one names its paper or reason on the drawing.

The final version hears a call and beats the text route. Real calls: right 69% vs transcript, then decide's 64%, balanced 65% vs 62%. Emotion from tone: 66% to 72%.
Chapter W2 One clip from the held-out test set, followed through the model. Every number is read from its saved answers.

What happens to one clip, from sound to answer?

One step per scene. Grey is frozen: no training changes it. Blue is the add-on, the only part that learns. Gold is where the answer is read. Click the clip to hear it.

  1. Sound goes in, frames come out

    The encoder hears the clip once and turns the sound into a row of small frames.

    The bridge turns each frame into one vector.

  2. The writer reads one row

    For each question the writer reads one row: the sound vectors, the two blue learned vectors, then the question.

    The question is written in plain lowercase with numbered options.

  3. The add-on works only on the question

    The add-on (LoRA) is switched on over the question pieces only.

    Over the sound part the frozen writer reads alone, so the same sound can still give a transcript.

  4. The answer is read from the digit scores

    At the last piece the writer scores every piece it knows.

    We keep only the option digits and turn them into probabilities (softmax).

  5. The voice vector mixes the encoder layers

    Tone, voice and speaker live in the encoder's layers.

    A learned mix of those layers gives one voice vector for the clip.

One frozen reading of the sound, a small blue add-on, and the answer read from the digit scores. The writer never writes the answer. It scores the option digits, and the add-on learns only where the question is.
Chapter Wa Every clip, answer and percentage here is read from the real run files, from the first version to the final version.

What does it say on real clips?

Click a clip or a call to hear it. Gold bar = the target answer. Green = right, red = wrong. ▶ click to hear.

  1. Held-out test clips, never trained on

    These 12 clips come from a held-out test set. The model never trained on them.

    Click one to hear it. Its three answers are drawn below.

  2. Real calls: which intent did the caller express?

    8 real collection-call replies from a held-out test set, never trained on. The row "text first" writes the transcript, then decides from it.

    The final version is wrong on the reply that ends the call. Text first says end call, and the final version says unclear. It also misses one refuse-to-pay reply.

  3. Where it still fails: intent by intent

    Each row is one caller intent. Right of the line, the final version hears it better than transcript, then decide.

    Red rows are where transcript, then decide is better, such as ends the call and refuses to pay.

Hear it yourself: the final version is right on most of these clips and calls. It still misses where transcript, then decide wins, such as ending the call.
Chapter X1 Numbers come from one real packed row and from the measured sizes of Hima's parts.

What are we building?

Read left to right, one scene per step. Grey is frozen, blue learns, coral is sound, sky is question text, green is the known answer. "Plan" marks what is not built yet.

  1. One caller, one short clip

    A real Hindi caller says the money was already transferred.

    The clip is 5.32 seconds long.

  2. Frozen Hima hears the clip

    The encoder, projector and writer are frozen. They never change.

    The encoder turns the clip into 69 frames, about 13 a second.

  3. The writer also reads the four questions

    Each question is short text that the frozen writer reads.

    The questions sit beside the sound, one by one.

  4. The small head is the only part that learns

    Hima's 586.9 million numbers stay frozen.

    The head is 10.2 million numbers, or 17.5 million at the wider size.

  5. Out come chances, one set per question

    Green bars are the known answers for this clip.

    They are the target: what training must learn to say.

  6. The first plan was rejected

    A 307 million number trunk was too big.

    196.6 million of its numbers were a word table: 256,000 pieces x 768 numbers.

Hima already hears and reads. A head of about 10 million numbers only has to connect the two.
Chapter X2 Piece counts come from the writer's own text table and from the real question text.

What goes in?

Read left to right, one scene per step. Coral is sound, sky is question text, gold is the summary or a vector, outlined blocks are option pieces. Bars are to scale. "Plan" marks what is not built yet.

  1. Each frame gives two stacks of views

    The frozen encoder gives 25 views of each frame, and the writer gives 19.

    The head learns one blend that adds them into one sound token.

  2. The clip becomes 70 sound tokens

    69 frames, plus one summary token.

    Each token is 384 numbers long.

  3. The question as the writer reads it

    A piece is one chunk of text the writer reads.

    The wants-a-human question has 15 pieces.

  4. Each option joins the question

    The option text follows the words "option no" or "option yes".

    Its pieces are averaged into one gold vector.

  5. All four questions, counted

    Sky bars are question pieces. Gold bars are option pieces.

    An option is 2 pieces for yes or no, and 4 to 13 for call intent.

  6. Only some writer pieces are alive

    The writer has 262,144 pieces. Only 63,335 are alive.

    Plan: the question text would be read once and kept, as a cache.

The sound is shared. Each question adds only its own short text to it.
Chapter X3 Rules from our head's own code, and one small local test. Result not shown here.

Who looks at whom?

Each row is one reader, and each column is what it may read. Green is allowed, red is blocked. Built drawings are tagged built; the reorder test is tagged tested.

  1. One group: one clip, one question

    Each group reads one clip and one question, with its own options.

    Two groups sit side by side, as the head sees them.

  2. Sound and question pieces see each other

    Block 1 is one grid. Every cell in it is green, so they all look at each other.

    Each row is one reader, and each column is what it may read.

  3. Each option asks the memory four times

    An option reads the block 1 memory with cross-attention.

    It asks four times, so its answer comes from what the sound says.

  4. Options never look at each other

    The red cross between options means blocked, both ways.

    Each option reads the memory alone, so one option cannot pull another.

  5. Groups never look at each other

    Question 2 cannot change question 1.

    Each group has its own memory, with a red cross between them.

  6. Swap the options, the scores swap too

    Tested in a small local check: 20 random shuffles of 8 options, at both head widths.

    The scores moved with the options exactly, largest difference 0.0.

Each question sees only sound and its own pieces. Option position cannot bias the answer. Result not shown here.
Chapter X4 Layouts read from each published model's released code. Scores are the ones each paper reports.

How do the published models do it?

Coral is sound, light blue is question, gold is where an answer is read. Bars are drawn to scale. Dark blue is our own head.

  1. One full row per question

    A published router, vLLM Decision-2.0, one audio model and the Liquid d1-600M trunk work this way.

    The same sound appears in every row, so it is read once per question.

  2. State: sound read once, blind to questions

    FRIDA and the audio part of Liquid d1-600M read the sound once.

    Questions read the sound. The sound never reads them back.

  3. State: many questions packed in one row

    Liquid d1-2B and d1-Omni-2B pack up to 16 questions in one row.

    One published model packs every question of one case into one row.

  4. Clef-omni: questions look at each other

    All questions sit in one sequence, one after another.

    A 109 M head lets the questions look at each other.

  5. Small heads on frozen parts

    Whisper-AT: 7.2 M scored 32.8 mAP, 40 M scored 33.0.

    mAP is audio tagging, not a decision score.

Hima reads the sound once. On audio tagging, a small head came within 0.2 of a large one. Ours is still to measure.
Chapter X5 The numbers come from the Hindi clip's emotion question and the known answer; the head's scores are still to measure.

How does one number per option come out?

Read left to right, one step at a time. Blue is the small head, the only part that learns. Green is the known answer.

  1. Each emotion option becomes one vector

    The writer reads the question, then the option's words; only the option's own pieces are averaged.

    Five options give five vectors, one per emotion.

  2. Each option asks the memory four times

    This is cross-attention: the option asks which sound tokens support it.

    Four stacked blocks, so each option asks four times in turn.

  3. A scorer gives each option one number

    The scorer has two layers: LayerNorm, 384 to 384, GELU, then 384 to 1.

    Its 148,993 numbers turn each vector into one number; the results are still to measure.

  4. Softmax turns numbers into chances

    Softmax makes the chances add to 1, so a bigger number takes a bigger share.

    Green bars are the known answers: what training must reach.

  5. Each question has its own softmax

    The four questions have 2, 8, 5 and 3 options.

    That is 18 numbers, and each question's chances add to 1 on their own.

One number per option, then one softmax per question. Training must make the head's bars match the known answers.
Chapter X6 Loss values come from the known answer on the Hindi clip; the head's own loss is still to measure.

What is it punished for?

Read left to right, one step at a time. Grey is equal chance, the start. Green is the known answer, the answer training must reach.

  1. Equal chance is where training starts

    Before training, every level gets the same chance.

    The known answer is what the head must learn to give.

  2. Soft cross-entropy rewards chance on the target

    It adds up the target times the log of the chance, then flips the sign.

    Lower is better, and the lowest it can reach is the target itself.

  3. Brier counts each gap, squared

    Brier takes the gap at every level and squares it, then adds them up.

    It is weighted by 0.5 in the recipe.

  4. RPS compares running totals for ordered levels

    For ordered levels, it compares the chance up to each level.

    It is used only for the score questions, with weight 1.0.

  5. Logit adjustment acts inside the training loss only

    Example only, with made-up numbers. The loss sees each score plus 0.5 times the log of the prior.

    At answer time the raw scores are used, which then lean toward rare answers. It is for choice questions with skewed answers.

  6. The recipe stacks three weighted terms

    Soft cross-entropy 1.0, Brier 0.5, and RPS 1.0 for score questions.

    Logit adjustment has strength tau 0.5, and it is not a weight.

    Two ideas are left out: an order-twin term and reinforcement learning.

    The head cannot see option order, so an order-twin term has nothing to fix.

    In one public GitHub issue (#741), one seed, RL scored 79.1% against 80.5% for soft cross-entropy alone. A hint, not proof.

Three weighted terms, and one shift inside the loss. Wrong chance, wrong gap, wrong order of levels. Each is computed on the known answers for the example clip.
Chapter X8 Each alarm is a failure another model showed in its own measurements.

How will we see it going wrong?

Read left to right, one alarm per step. Red marks the failure another model showed. Bars are drawn to scale. Examples are labelled.

  1. Prior collapse: one answer for every case

    A published router got stuck answering the base rate, in 6 of 15 runs.

    The spread inside a row fell from 0.62 to 0.01.

  2. Position bias: the first or last option wins

    Hosted Liquid d1 picked the first of five identical options 97 to 98 percent of the time.

    A multilingual published router picked the last option 285 times out of 290.

    Ours cannot see position. Tested once in a small local check: scores moved with the options exactly.

  3. Overconfident: a small set, no temperature

    sammyliu's speech head learned 1,330 decisions and scored Brier 1.01 on new clips.

    Brier is the squared gap between our chances and the answer. Equal chance is 0.5 for two options.

  4. Heard versus read: the same intents score lower

    Liquid d1-Omni-2B scored effective accuracy 85.2 on written and 63.4 on spoken Speech-MASSIVE intents, 0 is chance.

    Only the input changed, so the gap is what speech costs.

  5. Our two weak spots: emotion and age

    Today's best scores 0.71 on emotion and 0.41 on age: accuracy against the answer key on our test.

    The new head must lift both, and the first four alarms must stay quiet.

Each alarm is a number. We plan to print all five at every eval, once the trainer prints them.