Make things · Intermediate

Motion, Sound and Music

Draft, open for academic review

Why nothing in the world starts at full speed, and why a blanket beats a better microphone.

Your progress here is recorded once you pass the Video with AI exam.

8 modules. 72 lessons.

How motion reads as real

9 lessons · 1 h 23

You will be able toDiagnose a piece of flat or floaty animation by reading its timing and spacing (naming whether the fault is the easing curve’s influence, the spacing between frames, a missing arc, or an absent anticipation) and correct it by editing the value graph rather than adding an effect on top.

  1. 1.1Nothing in the world starts at full speedStart9 min
  2. 1.2Motion blur will not fix a floaty logo9 min
  3. 1.3Frames, not seconds9 min
  4. 1.4The panel most people never open9 min
  5. 1.5Why pressing Easy Ease still looks wrong10 min
  6. 1.6Springs, and what you give up for them10 min
  7. 1.7Straight lines and the things that lag behind9 min
  8. 1.8The old principles, filtered for a screen seen four hundred times10 min
  9. 1.9Where the eye already is8 min
An illustrative case, built from documented patternsThe sting the client kept calling cheapA two-person motion studio in Indore, three days before a co-operative bank’s rebrand goes live.

Ritu and Anand had five days and forty thousand rupees to make a five-second logo sting. It would run at the head of every branch video and on the idle screen of a hundred and forty ATMs, so it would be seen by the same tellers several hundred times a year. The contract included two revisions. A third would be at the studio’s cost.

The first cut was competent. The logo slid in from the left over twenty frames at twenty-five frames a second, the tagline faded up underneath, the colours matched the brand sheet and the typography had already been approved by the bank’s agency. The marketing head watched it twice and said it looked cheap. Asked what he meant, he could not say. Asked what would fix it, he could: motion blur on the logo, a light sweep across the letters, and a few drifting particles behind them.

Anand could do all three in an afternoon. He had the presets.

Ritu opened the graph editor instead, which she admits she did not usually do. The speed graph was a rectangle. The logo covered exactly twenty-four pixels on every one of the twenty frames, went from nothing to seven hundred and twenty pixels a second in no time at all, and stopped dead. The tagline started and stopped on the same frames as the logo, so the two elements moved as one rigid block.

That gave them a decision with three days left, and both answers cost something.

Doing what the client asked was four hours. It was visible, it was pointable-at in the next review, and it would have produced a floaty animation that was now slightly soft. Motion blur exists to stop fast motion strobing and to match synthetic motion to live footage; it does not create mass, and neither does a glow.

The other answer was to tell a paying client that the three things he had asked for would not fix his problem, and then to hand back something that looked, in the timeline, almost identical to the version he had rejected. The changelog would say “adjusted easing”. There would be nothing to point at. If it came back a third time, the studio would be working for nothing against a live date.

Ritu re-spaced the move: a four-frame anticipation in which the logo scaled down to ninety-six per cent, most of the travel in the first third, an overshoot to about a hundred and six per cent arriving fast, and a settle back to a hundred taking two and a half times as long as the overshoot. She offset the tagline three frames behind the logo and let it arrive after it. Nothing else changed: same colours, same type, same five seconds.

Then she hedged. She rendered three versions: the original with the requested effects, the re-spaced version with no effects at all, and the re-spaced version with the effects on top. She took all three to the review and did not say which was which.

There was one more decision buried in this, and it was about where the sting would live. On a branch video it is watched once. On an ATM idle screen it loops in front of a teller for six hours a day. Anticipation and overshoot are exactly the principles that make a single viewing memorable and the four-hundredth unbearable, so Ritu built the ATM cut with the same spacing and the overshoot reduced from six per cent to two, small enough to be felt rather than seen. Two files, one decision, and it added twenty minutes.

How it played out

The marketing head picked the re-spaced version with no effects, and described it as “the one where the logo has some weight to it”, a word nobody in the studio had used in front of him. He then asked whether the shimmer could go on top of that one. Ritu played the third version, he watched it twice, and he dropped the idea himself. The invoice went out at two revisions. Six months later the bank commissioned the branch-induction series and named the sting when they did. Anand now opens the graph editor before he opens the effects panel; he estimates the habit costs him thirty seconds a shot and has saved him about a week a year.

Worth arguing about

  1. The client asked for motion blur, a light sweep and particles. Why would none of the three have fixed the sting?

    One answer

    All three are applied on top of a move whose distance is spread evenly across every frame. Weight comes from spacing: uneven distance per frame, plus a wind-up before the move and a settle after it. Motion blur has two real jobs, stopping fast motion strobing and matching synthetic motion to filmed footage, and supplying mass is not one of them. Adding it to a floaty animation gives you a floaty animation that is slightly soft.

  2. Ritu showed three versions without labelling them. What did that buy her that an explanation would not have?

    One answer

    The client had a real perception (it looks cheap) and a wrong diagnosis. Explaining the diagnosis puts the studio’s authority against the client’s, three days before a live date. Showing the versions unlabelled let him keep the perception and drop the diagnosis by himself, and it tested the claim rather than asserting it. If he had picked the effects version, Ritu would have been wrong and would have known in ten seconds.

  3. What would have made the whole argument unnecessary?

    One answer

    Opening the speed graph before the first review. A rectangular speed graph is the signature of the linear default and it is visible in two seconds. The disagreement came from shipping a review cut that nobody had checked in the one panel that says what the software is doing between the keyframes.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    You step through a twenty-frame move and find the object exactly halfway across at frame ten. What does that tell you?

  2. 2

    A dropdown opens with a 400 ms ease-in-out and users report that the app feels laggy. What is the mechanism?

  3. 3

    Why is a spring the wrong animation for a download progress bar?

  4. 4

    A finished 24 fps composition is changed to 25 fps in After Effects. What happens to the spacing you set by hand?

  5. 5

    Why is a three-frame lag on the button a user has just pressed a bug rather than a flourish?

  6. 6

    An element exits screen-right at frame forty and the next enters screen-left at frame forty-two. What is missed, and why?

Motion that carries meaning

9 lessons · 1 h 24

You will be able toSpecify the motion in an interface as something a second developer could build from a written brief (naming which element moves, for how many milliseconds, on which curve, in what order relative to its neighbours, what it does when the viewer has asked for reduced motion, and which CSS properties the browser can animate without re-running layout) and justify each number from the perceptual or rendering limit it comes from.

  1. 2.1The three jobs an animation can do9 min
  2. 2.2How long an animation should take9 min
  3. 2.3The transition is the explanation10 min
  4. 2.4Staggering without making people wait9 min
  5. 2.5Why your lower-third looks like a template10 min
  6. 2.6Naming the motion so it stops drifting8 min
  7. 2.7Spinners, skeletons and honest waiting9 min
  8. 2.8Motion that makes people ill10 min
  9. 2.9Why transform is cheap and width is not10 min
An illustrative case, built from documented patternsThree hundred milliseconds, measured on the phone the invigilators actually haveA two-person team maintaining the attendance app used by nineteen coaching centres in Kota.

The app does one thing that matters. An invigilator taps a batch, a sheet rises from the row they tapped carrying that batch’s student list, and they mark absences before the test starts. The sheet enters over three hundred milliseconds on an ease-out, the rows arrive with a forty-millisecond stagger, and a scrim dims the list behind. On the team’s laptops, and on the one recent phone in the office, it is pleasant.

The centres reported that the app hung when you opened a batch. Neither developer could reproduce it. The tickets kept coming, and one centre head said his staff had gone back to paper for the morning slot.

They borrowed two of the phones the invigilators use, four-year-old Androids on the cheapest tariff, recorded the screen at sixty frames a second, and counted frames from the finger touching the row to the student list being readable. Seven hundred and eighty milliseconds. The animation they had budgeted for was three hundred.

The extra came from three places, and none was the animation being slow. The network request for the student list started when the animation finished rather than when the finger landed, which added two hundred milliseconds that were purely arithmetic. The row stagger was uncapped, so on a batch of twenty-four the last row began nine hundred and twenty milliseconds after the first, and although the top rows were readable early, the sheet was not interactive until the whole set had settled. And the sheet carried an animating box-shadow across its full width, which has no layout cost and repaints every frame, over a large area, on a weak GPU.

One developer proposed deleting every animation in the app. It was an afternoon’s work and it would measure fastest.

The other pulled the support log. Before the sheet existed, the commonest call had been “I marked the wrong batch”, and fixing one of those means a person editing rows in the database and, twice, driving to Kota. The sheet growing out of the row the teacher tapped is what tells them which batch they are in; a sheet that fades in at the centre of the screen is a new, unexplained object. Removing the motion would trade a complaint about speed for a complaint about data, and only one of those costs a day.

So the decision was between an afternoon with a known regression and a week of measurement and re-engineering, on a two-person team, with the exam season four weeks out.

They took the week. The request now starts on touch-down and the content arrives during the transition. The stagger is capped at six rows, with the rest appearing together, and every row is tappable while it is still animating. The shadow moved to a pseudo-element whose opacity is animated, which is a compositor property. They also added a reduced-motion path, because one centre head in his fifties had said the app made him feel “swimmy” and nobody had thought to write that down as a bug.

The reduced-motion work was smaller than either developer expected, because they had put their durations and curves in four custom properties rather than scattering them through the components. Redefining those four inside the media query, rather than overriding each screen, meant the behaviour reached parts of the app neither of them had opened in months, including two screens written by a contractor who had never heard of the setting.

How it played out

Touch to readable list fell from seven hundred and eighty milliseconds to three hundred and ten on the four-year-old phone. The hanging reports stopped within a fortnight and the paper registers came back to the office. The stagger cap turned out to matter more than the network change, because the rows a teacher looks at first are the top six and they were now all present at once. The shadow change was worth about forty milliseconds and took twenty minutes. The team keeps one old phone on the desk now, and treats a frame count taken from it as the only number that counts: the laptop figure, they say, was never wrong; it was just a measurement of a device none of their users owns.

Worth arguing about

  1. Why did a three-hundred-millisecond animation produce a seven-hundred-and-eighty-millisecond wait?

    One answer

    Because animation time is added to waiting time rather than overlapping it. The request started when the transition ended, so the two ran in series instead of together. On top of that the uncapped stagger pushed the last row past nine hundred milliseconds and the sheet was not interactive until it settled, and a full-width box-shadow repainted every frame. None of those is the transition being too slow.

  2. Deleting all the motion would have measured fastest. Why was it the wrong fix?

    One answer

    The transition was doing one of the three jobs that earn an animation its place: saying where a thing came from. A sheet that grows out of the row you tapped is understood as belonging to that row, and the causal reading depends on it starting within about a tenth of a second of the tap and starting from that position. Removing it would have restored a class of error, marking the wrong batch, that costs far more to fix than two hundred milliseconds costs to lose.

  3. Why was the box-shadow expensive when it does not trigger layout?

    One answer

    It forces a repaint every frame, and paint cost scales with area and with how complex the content is. A shadow across a full-width sheet is a large area on a weak GPU. Putting the shadow on a pseudo-element and animating that element’s opacity moves the work onto a compositor-only property, so the already-painted layer is simply blended differently.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    A panel grows from the button that opened it, but the growth starts 300 ms after the tap. What has been lost?

  2. 2

    A modal’s opening animation takes 300 ms and its data arrives 200 ms after the press. The request fires on the press. How long is the wait?

  3. 3

    A list of twenty cards is staggered at 40 ms per item. What goes wrong, and what is the standard fix?

  4. 4

    Under prefers-reduced-motion, what should replace a full-screen parallax hero?

  5. 5

    Why does a transform animation survive a 200 ms JavaScript task while an animation of left freezes?

  6. 6

    Why do many teams delay a spinner by 200 to 300 ms rather than showing it at once?

Shipping the motion

9 lessons · 1 h 26

You will be able toChoose a delivery format for a given piece of motion by reasoning from whether it must respond to state, whether its content is vector or photographic, and who will edit it next; then produce that file with the right encoder settings, verify it on the target platform rather than in the authoring tool, and hand it over with a written specification covering trigger, interrupt, exit, responsive behaviour and reduced motion.

  1. 3.1Five ways to put motion on a screen10 min
  2. 3.2What Lottie carries and what it drops10 min
  3. 3.3Animating a drawing that is also a document10 min
  4. 3.4Why a GIF costs twenty times what a video costs9 min
  5. 3.5Transparent video, and why it is two files10 min
  6. 3.6Frames in a grid, and the memory they cost9 min
  7. 3.7Motion that responds to state10 min
  8. 3.8Send the developer a file, not a video9 min
  9. 3.9The specification a developer can build from9 min
An illustrative case, built from documented patternsThe loader that arrived as a videoA four-person design agency in Coimbatore and the sole developer of a textile exporter’s new order portal.

Meera animated the upload loader in After Effects: three dots, a soft glow, a blurred trail behind the leading dot, a two-second loop. She exported a 1080p MP4, six hundred and forty kilobytes, and sent it to Sathish with the project files.

Sathish could not use it, and the reasons were not about quality.

The portal has a dark theme that buyers in Europe switch on and a light one the mill office uses. The loader has to sit on three different surface colours. An MP4 has a background, so it can sit on exactly one. The loader also has to stop on a “done” pose when an upload finishes, rather than loop until it is hidden; a video plays and takes no instruction beyond play and stop. Its colours are baked, so it cannot follow a theme. And it is a fixed size, so on the wide desktop layout it is soft.

That is four separate failures and none of them is a criticism of the animation. The animation was fine. The file was wrong.

They had two days before a customer demo, and three options.

Meera could rebuild it as a Lottie. The glow is an effect and effects do not export, so it would have to be reconstructed as shapes with gradients. The trailing blur is also an effect. The dot timing came from an expression, which either does not survive or is baked into hundreds of keyframes on export. Realistically two days, which was the whole margin, and she had another job booked for one of them.

Sathish could convert the MP4 to a GIF and ship it. Three hours. It would be around three megabytes on a portal whose users are frequently on mobile data, and because GIF has one bit of transparency the anti-aliased edges would carry a hard white fringe on the dark theme: the halo problem, which cannot be fixed inside the format. It would loop forever, so he would hide it and show a tick instead of resting on the done pose.

The third option came up on the third phone call, from Sathish. Three flat dots with staggered opacity is twelve lines of CSS. It inherits the theme’s colour because it uses currentColor, it weighs nothing, it scales, it stops whenever he wants, and it took an hour. It is not Meera’s animation.

That was the uncomfortable part, and it was not really about pride. Meera’s objection was that the agency had been paid for a designed loader and was about to ship a generic one, and that the next request would be for the developer to “just do it in code” every time. Sathish’s objection to the Lottie was that the file would arrive with four layers called Shape Layer 14 and no note about which frames meant what, as the last three had.

Both objections were about handover rather than about format, and both were fixable in an afternoon of writing things down. The format argument was the one that had eaten two days, and it turned out to have an answer neither of them had asked for out loud: the loader and the empty-state illustration were two different jobs that had been given the same file type because one person owned both.

How it played out

They shipped the CSS loader for the demo and commissioned the Lottie for the release. Meera rebuilt it over the following fortnight with the glow drawn as shapes, named her layers, wrote the frame ranges in the handover note (nought to twenty-four idle, twenty-five to forty-eight success) and supplied a first-frame SVG for reduced motion and for load failure. The CSS loader is still in production on the upload path eighteen months later, because nothing about it has ever needed changing. The Lottie went onto the dashboard’s empty state, where it earns its place: it is illustrated, marketing revises it twice a year, and a developer does not have to be involved to swap it. The agency added three questions to its delivery checklist (does the motion respond to state, is the content vector or photographic, and who will edit it next) and Meera says the second one would have ended the argument before it started, because three flat dots were never a job for a video.

Worth arguing about

  1. Beyond its size, list what the MP4 could not do that the portal needed.

    One answer

    It has a fixed size, so it blurs when scaled. It has a background, so it cannot sit on an arbitrary or theme-dependent surface. Its colours are baked, so it cannot follow a dark theme. It cannot be paused at a meaningful state, cannot rest on a final pose, and cannot be driven by what the application is doing.

  2. What exactly would GIF’s one bit of transparency have cost on the dark theme?

    One answer

    A pixel in a GIF is either fully opaque or fully transparent, so an anti-aliased edge drawn over an unknown background gets a hard fringe in whatever colour the file was matted against: a white halo around every dot on a dark surface. There is no partial alpha in the format, so no export setting or edge treatment removes it.

  3. The CSS loader was not the designer’s animation. What made it a defensible answer rather than a retreat?

    One answer

    The format follows from three questions, and this case answered all three toward code: it must respond to application state, the content is simple vector shapes rather than anything photographic, and it will almost never change. A CSS keyframe with a staggered delay is then the smallest thing that does the job, and it gets theme colour and interruption handling from the platform for nothing. The agency traded authorship for fitness deliberately, and kept the illustrated work where a designer’s ownership actually pays: the empty state that marketing revises.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    Of the three questions that decide a delivery format, which one eliminates the most options?

  2. 2

    A designer’s Lottie file arrives at 900 KB. What is the most likely cause?

  3. 3

    A gear in the middle of a 1000-unit viewBox swings across the screen when rotated. What is the fix?

  4. 4

    A 4096 by 4096 PNG sprite sheet compresses to 400 KB on disk. What does it cost on the device?

  5. 5

    A 24-frame sprite strip flashes blank at the end of every loop. What was done wrong?

  6. 6

    A hover animation is forty per cent through when the pointer leaves. What does a state-machine runtime do that playing a clip does not?

Putting two images together

9 lessons · 1 h 31

You will be able toCombine two pieces of footage that were never filmed together so the seam does not show: building the matte by the cheapest route the shot allows, diagnosing an edge fringe from its colour, repairing spill and edge interaction rather than the matte’s interior, attaching the insert with a track or solve whose error you have read, and matching black level, grain, focus and lens distortion in a defensible order.

  1. 4.1The greyscale image that decides everything10 min
  2. 4.2The dark fringe and what causes it10 min
  3. 4.3Every blend mode is one line of arithmetic9 min
  4. 4.4A green screen is fixed on set, not in the edit10 min
  5. 4.5Spill is real light, and light wrap is an honest fake10 min
  6. 4.6Drawing the matte by hand10 min
  7. 4.7What a tracker can and cannot see10 min
  8. 4.8Solving for a camera, and when you cannot11 min
  9. 4.9Black level, grain, focus, and the order to do them in11 min
An illustrative case, built from documented patternsForty minutes of lecture on a phone-shot green screenThe media cell of an arts and science college in Pune, over the winter break.

Three chemistry lecturers, forty minutes of usable takes, and a plan to key each of them over animated diagrams for a revision series. The shoot had been cheap on purpose: a green cloth pinned to the wall of a seminar room, two phones, one recording, one as backup, and the room’s own tube lights.

The assistant keyed the first take in DaVinci Resolve’s free edition. On a paused frame it looked clean. The moment Dr Kulkarni turned her head it fell apart: stair-stepped edges through her hair, a green rim along her shoulder that survived every setting, and a matte that crawled between frames even where nothing moved.

Three causes, all of them decided before the camera rolled. The phones recorded 4:2:0, so the colour information a keyer builds its matte from exists at half resolution horizontally and vertically: the colour edge is two pixels wide where the luminance edge is one, and no amount of edge refinement recovers what was never sampled. The cloth was lit by the room, so it was about two stops brighter on the left than the right and no single tolerance covered both. And the lecturers stood roughly sixty centimetres from the cloth, so green bounce landed on the side of every face and shoulder.

The break was half over when they had to decide.

Reshooting meant borrowing two mirrorless bodies from the photography department that could record 4:2:2 to an external recorder, hiring two soft lights for four days at about nine thousand rupees, and getting three lecturers back: two of whom had gone home to Nagpur and Belgaum, and one of whom had made it clear that he had done this as a favour and would not be doing it twice. The cost was a week the cell did not have, money it did not have, and goodwill it could not replace.

Working with what existed meant a free segmentation model to generate a garbage matte and a core matte in minutes per shot, hand-roto confined to the edge band between them, despill, and a light wrap built from the diagram behind. Estimated at three weeks of the assistant’s time for forty minutes of footage, and the hair would still boil.

On the second day the assistant proposed a third thing: stop compositing. Put the lecturer in a corner of the frame at a fixed size, give the diagram the rest of the screen, and key nothing at all. The green cloth then stops being a matte source and becomes a background to be graded to the series colour, which it is perfectly good at.

The head of the cell resisted it at first, and his reason was not vanity. The series had been pitched to the principal as “the lecturer inside the diagram”, and a corner box looks like every recorded Zoom class the students had already sat through for two years. Against that, the assistant put a number on the alternative: at three weeks for forty minutes, the series would not exist before the exams it was made for.

They also checked the one thing that might have rescued the original plan. The backup phone had recorded the same takes from a slightly different angle, and if either device had been set to a higher bitrate the chroma might have held up better. It had not; both files were the same 4:2:0 at the same rate. There was nothing to go back to, which is the ordinary state of affairs when the shoot is discovered to be the problem.

How it played out

They keyed nothing for thirty of the forty minutes and composited the other ten: the shots where a lecturer’s hand entered the diagram to point at a bond, which is the only place the composite carried information the layout could not. The three-week estimate for those ten minutes came in at nine days, because the segmentation model handled the bodies in seconds and the hand work stayed inside the edge band, apart from two shots where a loose sleeve crossed the frame. Nobody was called back to Pune. The cell wrote a one-page shoot note for the next series: light the screen separately and evenly first and the subject second, keep two to three metres between subject and cloth, and shoot 4:2:2 if a key is planned at all. It ends with the sentence the assistant has repeated ever since: post-production negotiates with what the shoot handed over.

Worth arguing about

  1. The picture looked fine. Why did 4:2:0 specifically ruin the key?

    One answer

    A keyer does not remove green; it measures how far each pixel’s colour sits from a chosen colour and turns that distance into a matte. In 4:2:0 the colour is sampled at a quarter of the luminance resolution, so the data the matte is drawn from is already blurred across two pixels before the keyer starts. That produces stair-stepped edges on hair and motion blur that edge refinement cannot fix, because the information was never recorded.

  2. The matte was clean and the green rim on the shoulder stayed. Why can a matte not remove it?

    One answer

    The rim is real light: green bounced off a large green surface and landed on the subject, in a region where alpha is one. A matte decides whether a pixel shows, not what colour it is. Removing it is a despill operation, which clamps green down to about the average of red and blue, and which desaturates anything that was genuinely green, because in the image a green jacket and green bounce are the same photons.

  3. Option three keyed nothing at all. What made that engineering rather than surrender?

    One answer

    The right first question is whether the background is genuinely arbitrary, and here it was not: for thirty minutes the composite carried no information the layout could not carry. Asking it cost ten seconds and removed most of the problem along with most of the cost. The shots that survived the question were exactly the ones where the composite did something a side-by-side layout cannot: put the lecturer’s hand inside the diagram.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    Why do experienced compositors build a garbage matte and a core matte before touching the keyer?

  2. 2

    A rendered logo over a bright photograph has a thin dark outline on every edge. What is the cause?

  3. 3

    After despilling, an actor’s khaki jacket has gone grey. Why?

  4. 4

    A tracker placed on the top edge of a table slides along it and produces a useless track. What is the mechanism?

  5. 5

    A shot from a locked-off tripod pans across a room. Why will a 3D camera solve fail?

  6. 6

    Why do grain and lens distortion go last in the compositing chain?

Codecs, colour and delivery

9 lessons · 1 h 32

You will be able toExport a piece of video against a stated constraint (a size budget, a platform’s requirements, an archival master, an editable intermediate) by choosing the codec class, rate-control mode, bit depth and colour tags from what the file is for; and diagnose a delivered file that looks milky, crushed, banded, juddery or twenty times too large by naming which of those decisions produced it.

  1. 5.1What a codec throws away11 min
  2. 5.2Frames that stand alone, and frames that do not10 min
  3. 5.3Quality target or size target10 min
  4. 5.4Why your export looks washed out10 min
  5. 5.5Counting the steps in a gradient10 min
  6. 5.6Log footage and what a LUT is not11 min
  7. 5.7Frame rates, shutter and judder10 min
  8. 5.8Your hero video is why the page feels slow10 min
  9. 5.9The tool under most of the others10 min
An illustrative case, built from documented patternsTwo hundred lessons, rejected for milky blacksA four-person e-learning outfit in Bhopal delivering a Class 10 science series to a state education portal.

Two hundred videos, eight to twelve minutes each, graded in Resolve and exported as H.264. The upload took a fortnight on a ten-megabit line. The portal’s reviewer rejected the whole batch in one line: washed out, low contrast, the blacks are grey.

On every machine in the Bhopal office, and in VLC, the files looked correct.

The cause took an hour to find and cost nothing to state. The export had written no colour tags at all: no colr atom, no range flag, nothing in the bitstream’s video usability information. The files were limited range, with black at sixteen and white at two hundred and thirty-five. The reviewer’s player, faced with an untagged file, assumed full range and treated sixteen as a real sixteen, so every black sat above zero. Milky means limited data read as full. Nothing in the files was damaged; the numbers were right and the description of them was missing.

Three ways forward, none free.

The first was to re-tag. ffmpeg -c copy with the four colour flags writes the description into the container with no decode and no re-encode, about two minutes a file, and no generational loss at all. The processing was trivial. The re-upload was not: another fortnight on the same line, three weeks before term started.

The second was what the producer wanted. Take the reviewer’s screenshot as the truth, add contrast, crush the blacks until it matched his player, re-export everything. Two days of machine time and the same fortnight of uploading. It would pass the review. It would also make every file wrong in every correctly-behaving player, including the portal’s own Android app, which honours the tags: the same footage would then arrive crushed in the shadows and clipped in the highlights for the students it was made for.

The third was to argue: send a MediaInfo readout, ask the reviewer to open the file in a second player. Free, and it puts a four-person supplier in the position of telling a state portal that its review is wrong.

There was a fourth thing they considered and rejected, which is worth recording because it is the one most teams reach for. They could have re-exported with the tags written, rather than copying the existing streams. It would have been the same upload and roughly the same calendar time, and it felt tidier: one clean pass, one set of settings, everything consistent. It would also have put two hundred already-compressed lessons through a second generation of lossy encoding, spending real quality on a problem that was not in the pixels at all. Every encode quantises, and the second encoder would have been working to reproduce the first one’s block edges as if they were detail.

The argument inside the office was not about the physics, which nobody disputed. It was about whose fault the rejection looked like. Sending a corrected file with an explanation reads as a supplier fixing its own error; sending a MediaInfo readout reads as a supplier correcting a client. They wrote the note four times before sending it, and the version that went out did neither: it showed the tags missing and present, said what each player would do with each, and asked him to try a second player before they re-uploaded the remaining hundred and ninety-nine.

They did the first and the third together, in that order and on one file.

How it played out

They re-tagged a single lesson, uploaded it, and sent it with a two-line note and a MediaInfo screenshot showing the tags absent before and present after. The reviewer opened it in a second player, saw the same picture in both, and accepted the batch on condition the rest were tagged identically. The re-upload still took eleven days, which is the part nobody could compress. The outfit added four flags to its export script (bt709 for colourspace, primaries and transfer, and tv for range) and a check step that runs ffprobe on every finished file and refuses any that reports unknown. It costs nothing per file and has caught two since, both from a converter that strips tags. The producer, who had wanted to re-grade, now puts it in the plainest terms available: the values were correct and the label was missing, and changing the values to suit one player’s guess would have been the only way to actually break them.

Worth arguing about

  1. Milky or crushed: which way round was this failure, and how do you know without opening the file?

    One answer

    Milky means a limited-range file read as full range: the player takes sixteen for a real sixteen, so blacks sit above zero and the contrast collapses. Crushed and over-contrasty is the opposite error, a full-range file read as limited, where everything below sixteen clamps to black and above two hundred and thirty-five to white. The description of the symptom is the diagnosis.

  2. Re-grading would have passed the review. Why was it the worse fix?

    One answer

    It changes the pixel values to compensate for one player’s guess about a missing label. Every correctly-behaving player, including the portal’s own app, would then show crushed shadows and clipped highlights, and the fault would be much harder to find because the file would be authoritative and wrong rather than merely untagged. It converts a labelling error into a data error.

  3. Why does re-tagging with -c copy matter across two hundred files?

    One answer

    There is no decode and no encode, so it is near-instant and there is no generational loss. Every lossy encode quantises, and a second encode spends bits reproducing the first one’s artefacts. Re-encoding two hundred already-compressed lessons to change metadata would cost real quality to fix a problem that is not in the pixels.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    Two 1080p clips encoded at identical settings come out six times different in size. What best explains it?

  2. 2

    Why does scrubbing camera footage lag while the same footage in ProRes responds instantly?

  3. 3

    At a fixed CRF, what does changing the preset from medium to slow actually change?

  4. 4

    An export looks crushed and over-contrasty in a player. Which error is that?

  5. 5

    A sky that runs from level 40 to level 90 across 1080 pixels bands visibly. Why?

  6. 6

    A web video only begins playing once it has fully downloaded. What is missing?

Capturing sound

9 lessons · 1 h 31

You will be able toRecord a usable voice in an ordinary room (choosing pattern and distance from what the room is doing rather than from a specification sheet, setting gain so peaks land with headroom you can justify, capturing room tone as a matter of routine, and bringing a second microphone or a second device in without comb filtering or drift) and say for any given capture fault whether it can be repaired afterwards or not.

  1. 6.1Pressure, gradient, and everything that follows10 min
  2. 6.2People forgive a soft picture and leave over bad sound10 min
  3. 6.3Direct sound, reverberant sound, and the distance between them11 min
  4. 6.4Where the level should sit10 min
  5. 6.5Two numbers doing two different jobs10 min
  6. 6.6What the noise floor costs you later11 min
  7. 6.7Two microphones and a comb filter10 min
  8. 6.8Latency, and why a speaker starts stumbling9 min
  9. 6.9Two devices, one event10 min
An illustrative case, built from documented patternsA twelve-thousand-rupee grant and a tiled kitchenA government higher secondary school in Sirsa, recording revision audio for students who cannot stream video at home.

Manpreet and Iqbal record fifteen-minute revision talks. They go out on memory cards to students without data and on WhatsApp to those who have it. The first twenty were recorded on a phone laid on the staff-room table, about a metre and a half away. Students said they sounded far away. One boy said he could not follow them at all on his father’s phone speaker in the shop.

Then a district innovation grant arrived: twelve thousand rupees, to be spent on equipment, itemised in the register. A vendor quoted a USB condenser microphone and a desk stand. The headmaster liked the idea of a microphone. It is a thing, it can be shown to a visiting officer, and it is unambiguously equipment.

Manpreet measured before buying anything, which took about twenty minutes. She recorded ten seconds of room tone in the staff room and ten seconds of speech, and compared them with ffmpeg’s astats: the voice sat twenty-eight decibels above the room. She moved the phone to twenty centimetres and measured again: forty. Then she recorded the same paragraph three ways: staff room at a metre and a half, staff room at twenty centimetres, and the store room at twenty centimetres with two spare curtains hung on the facing wall and a folded blanket under the phone. She played all three on the cheapest phone in the building.

The store-room version was not slightly better. It was a different recording.

That produced an awkward decision. The two changes that had done the work (getting close, and putting soft mass on the surfaces facing the microphone) cost nothing and could not be entered in a register. The purchase that could be entered would not change the direct-to-reverberant ratio at all, because that ratio is set by distance and by the room, and the microphone’s price is not on the list.

Manpreet asked the office whether curtains and mineral-wool panels could be booked as acoustic material. The office said no: soft furnishing is not equipment.

So they split it. Three and a half thousand went on a wired lavalier and a small handheld recorder, so that a teacher could record in the store room without carrying a laptop. Twelve hundred went on a second memory card and a backup card reader. The remaining seven thousand bought the condenser the headmaster wanted, and it lives in the store room, used at twenty centimetres, behind curtains the science department donated because they were being replaced anyway.

Manpreet was clear with herself that this was not a pure outcome. Some of the grant went on the least effective item in the room, and she agreed to that knowingly, because a grant returned unspent is a grant the district does not offer again and because the headmaster’s support was worth more over a year than two thousand rupees of equipment. What she refused to do was let the purchase stand in for the change: the microphone was bought, and the recording position moved anyway.

The second thing she insisted on was cheaper still. Every talk now begins with thirty seconds of the room, recorded at the same gain, in the same position, before anyone speaks. It sounds like nothing. It is what lets a sentence be cut out of the middle of a talk without the background stopping for a frame at the join, and it is impossible to go back for once the chairs have moved.

How it played out

The store-room setup measured forty-seven decibels of signal to noise against twenty-eight in the staff room, and the difference was obvious to everyone in the room within one sentence on a phone speaker. Used in the same place at the same distance, the condenser measured only about two decibels better than the lavalier on Manpreet’s voice, but it was noticeably cleaner on Iqbal’s, whose voice is soft: the lavalier’s own self-noise is over twenty decibels A-weighted and audible under him, and the condenser’s is under fifteen. The curtains cost nothing and did more than either. Manpreet’s note to the district, since circulated to eleven schools, says the microphone was the smallest of the three changes and the only one the grant could pay for, and asks that future grants permit room materials. The teachers now record thirty seconds of room tone before every talk and lay it under their edits, which is why the joins stopped being audible.

Worth arguing about

  1. Why did two donated curtains change the recording more than a seven-thousand-rupee microphone?

    One answer

    What a listener hears as amateur or professional is the ratio of direct sound to reverberant sound. Direct sound falls about six decibels for every doubling of distance; the reverberant field is roughly constant throughout a room. So the ratio is set by how close you are and how absorbent the surfaces facing you are. A microphone’s price appears nowhere in that, and no microphone can separate a voice from its room: the capsule sums everything arriving at that point in space.

  2. What did moving from a metre and a half to twenty centimetres buy, arithmetically?

    One answer

    That is close to three doublings of distance (roughly a metre and a half to seventy-five centimetres to thirty-eight to nineteen) so about eighteen decibels more direct sound, against a room noise level that did not move at all. The measured signal-to-noise went from twenty-eight decibels to forty, and it cost nothing but standing closer.

  3. The condenser measured only about two decibels better, yet it was worth using for Iqbal. Why?

    One answer

    Self-noise. A condenser’s published A-weighted self-noise under fifteen decibels is quiet; over twenty is audible on a soft voice, and the cheap lavalier was over twenty. On Manpreet’s louder delivery the difference is buried; on Iqbal’s it sits under every pause. The number that mattered was not sensitivity or price but where the microphone’s own noise floor sat relative to the quietest thing he said.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    Why does a shotgun microphone often sound worse than a cardioid in a small reflective room?

  2. 2

    Why is recording 12 dB too quietly an inconvenience while clipping is fatal?

  3. 3

    A 25 kHz tone is sampled at 44.1 kHz with no anti-alias filter. What appears in the file?

  4. 4

    Moving a microphone from 60 cm to 15 cm improves signal to noise by how much, and why?

  5. 5

    Two microphones on one speaker differ by 34 cm in path length and the mix sounds hollow. Does the polarity button fix it?

  6. 6

    Separate audio drifts 3.6 seconds ahead of picture over an hour. What is the most likely cause?

Shaping and mixing sound

9 lessons · 1 h 32

You will be able toTake a raw voice recording to a delivered mix (filtering and cutting before boosting, ordering the chain so each stage is not re-creating work for the next, placing the voice in a space without losing intelligibility, sitting music under it by arrangement rather than by ducking alone, and hitting a named integrated loudness and true-peak ceiling with a gain change rather than a limiter) and predict what the mix will do on a phone speaker before hearing it there.

  1. 7.1Three EQ moves that cover most voices10 min
  2. 7.2Compression does not make anything louder11 min
  3. 7.3Wind, hiss, and why both are placement problems10 min
  4. 7.4Reverb is information about where10 min
  5. 7.5Music under speech10 min
  6. 7.6Three boring sounds beat any filter10 min
  7. 7.7The number every platform measures11 min
  8. 7.8What survives a phone speaker10 min
  9. 7.9The chain, and why the order is not arbitrary10 min
An illustrative case, built from documented patternsThe music bed that sounded right in the officeA ninety-second health department film in Marathi, mixed in Pune, to be watched on phones in Nanded district.

The film announces a free screening camp: where it is, which days, who should come. It goes out on WhatsApp and is played by ASHA workers on their own phones, frequently held up in front of two or three people in a courtyard with a fan running.

Sneha mixed it the way the module says to. Dialogue anchored and consistent, the music bed sitting about seventeen decibels under the speech while anyone is talking, integrated loudness at minus sixteen LUFS, true peak at minus one point five.

The communications officer listened on the studio monitors at a comfortable level and said the music felt thin and unimportant. He asked for it up six decibels. On those monitors, in that room, he was right: it did sound thin.

Sneha checked the same file on a six-thousand-rupee phone at arm’s length, at low volume, with the studio’s own fan switched on. At the officer’s level the Marathi voiceover was hard to follow, and the reason was specific. The bed had a bright string line living between one and a half and three kilohertz, which is squarely where speech intelligibility lives. The phone produced almost nothing below about six hundred hertz, so everything that had given the bed its body and weight on the monitors was simply absent: what survived on that device was its midrange, and its midrange was the voice’s.

The audience made it worse rather than better. A large share of the people who would watch this were over sixty, and the ability to separate speech from a competing sound falls with age and with hearing loss. Complaints about background music drowning speech come disproportionately from exactly those listeners.

Three ways to handle it. Do as asked, sign off today, ship on Friday, and lose the dates for the people most likely to need the camp. Refuse and explain, which is a supplier telling a government client that his ears are wrong with a launch four days out. Or change the arrangement rather than the level.

She took the third. She cut three decibels with a wide bell at two kilohertz in the music bus, which takes away the part that was in the way and almost none of what the bed is actually made of. She raised the bed four of the six decibels he had asked for. She put a two-second hole in the music under the single line that carries the camp’s dates, edited into the arrangement rather than ducked by a compressor. And she took the review to the phone.

She had tried a ducker first and taken it off again. A sidechain can only react after the fact, so it was pulling the bed down on every breath and every lip smack and letting it surge back between sentences: the pumping that makes an automated intro recognisable as one. Riding the level by hand meant she could start the move two hundred milliseconds before a line began and release it slowly, which is what a human can do and a detector cannot. On a ninety-second film there were eleven moves to draw, and it took less time than tuning the ducker had.

The deeper problem was never the level. Choosing a bed with a bright string line sitting in the intelligibility band had made every later decision harder, and a track with sparse midrange and its energy below five hundred hertz or above six kilohertz would have needed almost none of this work. Sneha now listens to candidate tracks on the phone before the edit is locked, which costs two minutes and has changed which tracks get chosen.

How it played out

She brought the phone to the next review with two versions on it and played his version first. He asked her to turn the music down before she had said anything at all. The delivered mix has the bed four decibels louder on the meter than her original and measurably less energy between one and a half and three kilohertz; the dates line is clean; integrated loudness stayed at minus sixteen LUFS, so nothing was gained or lost to any platform’s normalisation. The department has since added one line to the brief for all campaign films: mixes are reviewed on a phone speaker at low volume, and the review copy is played from the phone. Sneha says the disagreement was never about taste: two people were listening to two different films, one full-range and one midrange-only, and only one of those was the film the audience would hear.

Worth arguing about

  1. Why did the same bed sound thin on monitors and overbearing on the phone?

    One answer

    A phone speaker produces little below roughly five to seven hundred hertz, so the low end that gave the bed its weight on monitors does not exist on that device. What is left of the music is its midrange, and the one-to-four-kilohertz band is where speech intelligibility lives, so on the phone the bed is competing directly with the voice rather than sitting under it. Low listening level makes it worse again, because the ear is less sensitive to bass and treble when things are quiet.

  2. Why was a three-decibel cut at two kilohertz worth more than a six-decibel level drop?

    One answer

    It removes only the part that was in the way. The music’s character does not live in that narrow region, so it loses very little apparent presence, while the voice gains a clear channel. A broad level drop removes the parts that were not competing as well as the parts that were, which is why the bed then sounds as if it may as well not be there.

  3. What did bringing a phone into the review change about the disagreement?

    One answer

    It made the listening condition the same for both people. The client’s perception was accurate for his room and irrelevant to the delivery, and no amount of explaining would have moved it. Playing his own preferred version on the device the audience uses converted a difference of taste into a difference of equipment, and he heard the failure himself instead of being told about it.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    Why does a high-pass filter belong before the compressor rather than after it?

  2. 2

    Why does a de-esser sit after the compressor?

  3. 3

    Background hiss swells and recedes between sentences. What is happening?

  4. 4

    A dialogue reverb is making the words hard to follow. What is the first control to change?

  5. 5

    Why does manual level riding beat a sidechain ducker on edited material?

  6. 6

    You master a podcast 6 dB louder than the platform’s target. What is the result?

Machines that make sound and motion

9 lessons · 1 h 35

You will be able toUse a generative or analytic model inside a motion and sound pipeline (synthesised speech, a cloned voice, automatic captions, source separation, generated music, interpolated or upscaled frames) and state for each what it is estimating, which characteristic failure to look for and where, what consent or licence the use requires, and which parts of the surrounding law are unsettled rather than merely complicated.

  1. 8.1What a text-to-speech system cannot read10 min
  2. 8.2The vector that is supposed to be you11 min
  3. 8.3A cloned voice needs a yes you can point to11 min
  4. 8.4Five per cent, and which five per cent11 min
  5. 8.5Taking a mixture apart10 min
  6. 8.6Generated music, and three separate legal questions11 min
  7. 8.7What a music licence actually covers11 min
  8. 8.8Frames that were never photographed10 min
  9. 8.9Provenance, watermarks and what to tell people10 min
An illustrative case, built from documented patternsForty more lessons in a voice that had leftA district institute of education in Kozhikode, halfway through a sixty-part narrated science series in Malayalam.

Twenty of the sixty lessons had been narrated by Ms Beena, a teacher on deputation, in four hours and twenty minutes of clean, close-miked recordings. Then her deputation ended and she was posted three hundred kilometres away.

Three ways to finish. A new narrator, which changes the voice in the middle of a series that children would work through in order. Bringing Beena back for four Saturdays, at an honorarium of eight hundred rupees a day plus travel she would have to arrange herself. Or cloning her voice from the material already recorded.

The technical assistant built a test clone and played it to three colleagues who knew her. At three seconds all three said it was her. At thirty seconds all three said something was wrong and none could say what: the timbre was right and the timing and stress were somebody else’s, the generic behaviour of the synthesiser’s training distribution. On one line with a contrast in it, the stress landed on the wrong word, in a completely convincing voice.

The director insisted the decision be taken as three separate questions rather than one.

The first was consent. Beena said yes on the phone in under a minute. The director asked for it in writing and scoped: for which project, for which uses, for how long, and whether the trained model itself would be kept, where, and who could run it. Beena agreed to the remaining forty lessons of this series, for three years, with the model held on the institute’s own machine rather than a service and deleted at the end. She declined a clause offering the voice for future departmental material, the clause she said afterwards she would never have noticed in a one-line permission.

The second was quality. The assistant built a pronunciation lexicon of about sixty recurring terms (element names, three place names, the word for precipitate) which removed that category of error permanently. He then marked stress by hand in any sentence containing a contrast, because the written text does not encode stress and stress is the meaning. And every lesson would be listened to end to end against the script before publication, about forty minutes a lesson: twenty-seven hours of listening across the series, budgeted in advance rather than discovered.

The third was disclosure. India’s amended IT rules for synthetically generated information prescribe a label a person can perceive, and for audio one in the opening portion. They recorded a single line at the head of each lesson (in Beena’s own real voice, cut from the existing material) saying that the narration that follows is a synthesised version of her voice, used with her permission.

That line was written before a single lesson was generated, which the assistant now says was the only reason it exists. Written first it is one sentence. Written after forty lessons have been rendered and timed against slides, it is a change to forty locked timelines, and it does not get made.

The costs were not evenly distributed, and the institute counted them honestly afterwards. Bringing Beena back for four Saturdays would have been about six thousand rupees in honorarium and perhaps three weeks of calendar time waiting on her availability, with no consent question at all and no listening pass beyond the ordinary one. The clone cost five weeks of an assistant, twenty-seven hours of listening, a written agreement somebody had to draft, and a deletion to remember eighteen months later. What it bought was a series that sounds like one series, finished before the exam term, in the voice the first twenty lessons had already established.

How it played out

One assistant finished the forty lessons in five weeks. The lexicon removed the mispronunciations outright. Eleven of the forty went back for a re-render after the listening pass, and every one of the eleven was a stress error on a contrast rather than a wrong word: exactly the failure the written text cannot prevent, caught only because somebody listened to the whole thing. The disclosure line, which the director had expected to generate complaints, produced two emails, both asking how it had been done. The model was deleted eighteen months later when the series was reissued, and the deletion was minuted. Asked afterwards what had mattered, Beena did not talk about the cloning. She said she had been ready to say yes to “use my voice for this”, and it was the scoping (the term, and the question of whether a model of her voice would still exist next year) that she would not have thought to ask about herself.

Worth arguing about

  1. The clone convinced colleagues for three seconds and not for thirty. What is the mechanism?

    One answer

    A speaker encoder produces an embedding that captures timbre (the resonances of a particular vocal tract and its average pitch) which is most of what makes a voice recognisable in a single word. It does not capture idiolect: the person’s characteristic pauses, phrasing, filler words and which syllable they lean on. So a clone is the right voice performing somebody else’s habits, and the longer it speaks the more of the behaviour you hear.

  2. Why did the director insist consent be scoped rather than simply given?

    One answer

    “You can use my voice for this” is not permission to hold a trained model of a person’s voice on a machine for two years, and the gap between those two things is where the real disputes sit. Scoping means naming the project, the permitted uses, the term, whether the model is retained, where it lives and who may run it. It matters more than usual for a voice, because a convincing clone is also a fraud tool: documented cases turn on a few seconds being enough to convince somebody who is not expecting it.

  3. Why was listening to all forty lessons non-negotiable, given the voice sounded right?

    One answer

    A synthesiser has no confidence score for prosody. It will read a sentence with exactly the wrong emphasis in a perfectly natural voice and give no signal that anything is wrong, and the errors are local, so a spot check misses them. That is precisely what happened: eleven lessons had a stress error on a contrast, and only an end-to-end listen against the script would have found them.

Test yourself6 questions on this modulePractice. Nothing is recorded and no score is kept.
  1. 1

    A synthesiser reads the sentence with the stress on the word said, changing its meaning. What has gone wrong?

  2. 2

    An automatic transcript contains a fluent sentence nobody said, over a passage of silence. What is this?

  3. 3

    Why can a separator not cleanly split a vocal and a string pad in the same register?

  4. 4

    A number plate six pixels wide is upscaled and the characters come out sharp. What have you got?

  5. 5

    A colleague says yes, use my voice for this video. What has not been agreed?

  6. 6

    A widely shared video carries no content credentials. What does that tell you?

What this course is

Motion first: what a keyframe stores, why easing fixes most bad animation, and how timing, anticipation and overshoot give a logo weight. Then lower-thirds, Lottie handover, green-screen keying and exporting video that is not 40MB. Then sound: recording a voice in an untreated room, compression explained properly, EQ in three moves, music licensing and Content ID, and the consent rules for a cloned voice.

Who wrote it

Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.

More in Make things

  1. Making Things with AI84 lessonsImages, video, voice and music: how they work, where they break, who owns them.
  2. Design, before Any Software74 lessonsHierarchy, type, colour and spacing: the part of design you can do with a pencil, before any software.
  3. Editing an Image78 lessonsLayers, masks, curves and export: the craft behind a photo that still holds up at full size.
  4. Vectors, Logos and Things That Get Printed73 lessonsDraw curves that hold at any size, then hand a press a file it will not send back.
  5. Image Generation, in Practice69 lessonsReference images, inpainting, character LoRAs, upscaling, and the licence nobody read.
  6. Hugging Face, End to End75 lessonsRead a model card licence-first, run a Space for free, keep a token safe, publish something of your own.
  7. Editing Video77 lessonsCuts, sound, colour and export, taught on DaVinci Resolve, which costs nothing.
  8. Video with AI66 lessonsPlan the shots, generate ten takes, throw eight away, and cut what is left in a real editor.
  9. Making It Say Something64 lessonsClean work that communicates nothing is the commonest self-taught failure, and it is fixable.
  10. Working for Yourself84 lessonsSix portfolio pieces, twelve cold emails, a rate with arithmetic behind it, and a deposit before you start.