The film’s impressive opening number drops you into a world of corruption and chaos.
ByPaula Aceves,
an associate editor at New York Magazine
Zoe Saldaña performing “El Alegato.”
Photo: Page 114, Why Not Productions, Pathé Films, France 2 Cinêma
Zoe Saldaña performing “El Alegato.”
Photo: Page 114, Why Not Productions, Pathé Films, France 2 Cinêma
Jacques Audiard’s genre-melding noir musical, Emilia Pérez, opens with a plea. Zoe Saldaña as Rita, a jaded defense attorney for white-collar criminals, is writing her closing argument, asking the jury to exonerate her client, a corrupt bureaucrat accused of pushing his wife off a balcony. But the following musical number, a grand procession through the streets of Mexico City, also functions as a plea to the viewer — to buy in, to accept the film’s idiosyncratic world, one where Rita quickly gets entangled with a drug lord (Karla Sofía Gascón) seeking gender-affirming surgery. “From day one, there was this understanding that if we didn’t manage to make that scene convincing,” says choreographer Damien Jalet, “we would lose the audience.”
Like the rest of the film, which “ranges from being a telenovela to a narco movie to a family drama,” says Audiard, the song — called “El Alegato,” which translates to plea — doesn’t fit cleanly into any category. It is both a rap and a power ballad, an orchestral anthem and a techno remix. “This fucker kills his wife,” Rita begins in an almost ominous whisper, typing at her desk, her face lit by a screen airing coverage of ongoing protests against femicide, “and we allege suicide.”
As she walks through a convenience store and back out onto the street, her breathy staccato takes on more intent. Her tone oscillating between bitterness and sincerity, she starts writing the speech that will ultimately free a man she knows is guilty. The tempo builds, and a bustling outdoor market emerges from the dark, dozens of dancers and market stands weaving around her, while a few self-contained scenes — including one blink-and-you-miss-it knife fight — play out in the margins. “What is it that we’re talking about today, right now?” she talk-sings, as a chorus begins to echo her words. “We’re talking about violence, about love, about death, about a country that is suffering.”
It is more than a closing argument. “It’s the birth of the movie,” says Clément Ducol, the song’s composer. And, tonally, it was important to set a standard. “We wanted to create a feeling in which the viewer can maybe start to think that daily life can be looked at through this lens,” he says. “Maybe a walk could be a dance; maybe the noise from a construction site could become a percussion orchestra.”
1.
Bring Mexico City to Paris
Mapping “Rue Alegato,” a replica of a CDMX street and outdoor market.
Photo: Page 114, Why Not Productions, Pathé Films, France 2 Cinêma
For the better part of a year leading up to production, Audiard and his team had planned to shoot on location in Mexico City. Then, in August 2022, when the start date got delayed several months, Audiard sent everyone an email saying he had changed his mind: He wanted to shoot in a studio in Paris instead.
Some of his concerns were practical. It was useful to not have to worry about background noise in musical numbers, for instance. “But what mattered most was that the studio gave me the opportunity to create some images that one cannot create the same way on location,” says Audiard, like a shot toward the end of “El Alegato” in which the chorus of voices from the crowd collapses into a moody piano melody and the world around Rita seems to go pitch black and freeze.
But re-creating the open-air market, known as a tianguis, posed some problems. The team scrambled to build one from the ground up, including dozens of market stands, which required specific design elements, like the 30 sets of string lights brought back from Mexico to achieve the right warm glow. Then there were the dancers: “I was like, ‘Okay, so Jacques, you need people in your market, and they should not look like tourists from France,’” says Jalet. Twelve Mexican dancers were flown in and reappear through the scene.
2.
Give Rita a Theme Song
The music in the film combines live vocals and instruments with studio recordings.
Photo: Page 114, Why Not Productions, Pathé Films, France 2 Cinêma
Ducol and the French singer Camille first began working with Audiard in 2019, and from then until filming, the songs were in constant revision. Because the director was conceptualizing and writing the script simultaneously, adapting it from his original four-act operatic libretto, he would often raise an idea for a scene to Camille and Ducol and say, “Does that trigger a song in you?” The “Alegato” scene, though, was always going to be a musical number.
For the lyrics, Camille integrated the legal jargon that would typically go into a closing argument. She then used that as a template to introduce Rita’s inner conflict — she’s defending a man she knows is guilty, but she’s also keenly aware that corruption is a nationwide epidemic, undergirding every institution, and she feels helpless to stop it. “She’s denouncing corruption, and she’s corrupted,” says Camille. “Her singing is still meant to seduce a corrupted audience.” The lyrics swing from weary irony — “This case is a very mundane case / A case about violence” — to moments of chillingly resolute belief in her client. “Long live the triumph of love,” she sings about his professed devotion to his wife toward the end of the song. “Long live innocence.”
Spanish was its own challenge. Camille isn’t a native speaker, but “Jacques didn’t even ask me any questions,” she says. “He said, ‘Do you want to do the lyrics?’ and I said ‘yes.’ He didn’t ask me, ‘Are you sure you can write in Spanish? What level have you got? Don’t you want to take courses?’” She worked with Mexican language consultant Karla Avilez to root the song in its specific context, in northern Mexico where Rita is from, with the correct colloquialisms and accents.
3.
Let the Actors Move Their Way
Saldaña had only around three weeks to rehearse before filming began.
Photo: Page 114, Why Not Productions, Pathé Films, France 2 Cinêma
Most films that involve dance include at least basic ideas or guidance for that element in the script, says Jalet, but Audiard’s had “absolutely nothing.” It was up to Jalet, who worked on Suspiriaand with Madonna, to determine which songs even featured dance. The director also made it clear he didn’t want the look of a standard musical, pushing instead for intimate close-ups and Steadicam trailing during dance numbers and a modern, interpretive style of choreography. “At one point, I nearly left the film because I was like, ‘I don’t think you need me, guys,’” says Jalet.
Part of what kept him invested was Saldaña, who was trained classically as a dancer and has the skill to tell a story through movement. “El Alegato,” in particular, required intense care. The first three minutes, in which Rita merely types at her laptop, stops at a store, and enters the market, are “incredibly precisely choreographed, but you can’t tell because it’s just daily actions,” he says. Each word has a gesture attached to it, and something as simple as setting a cup down had to be intentional, timed to the second.
When, suddenly, the marketgoers surrounding Rita begin making beat-by-beat hand motions, it comes without warning, but it is here that the sequence hits its crest. While many of the moves seem intently descriptive — a finger across the throat for the phrase “slit throats” — they carry an underlying anger. The body language is harsh, angular, almost defensive: “an energy of resistance,” says Jalet. For Rita, there’s a wryness marking every motion. “It would not have been meaningful had I not added the sarcasm that Rita is feeling as she knows she’s lying,” says Saldaña. “In the dance, you really feel how disgusted, despondent, and detached she feels against this world that she has no control over.”
4.
Make It Look Like One Shot
If you look carefully, many dancers are “recycled” — seen in different costumes or at new angles.
Photo: Page 114, Why Not Productions, Pathé Films, France 2 Cinêma
“El Alegato” was the first scene they filmed once production got underway in April 2023. “I told myself that whenever you shoot a new movie, you have to start off with the most difficult part,” says Audiard. “So if you are shooting a western, you start with a gang fight. If you’re shooting a musical, you start with the piece that will require the greatest amount of energy.” They rented the biggest studio they could find in Paris solely for the sequence — everything else was shot on a different lot.
A couple of weeks before the shoot, Jalet began recording rehearsals in full with an iPad on a DGI stabilizer, establishing exactly when the remote-controlled market stands would shift in another direction or the camera would pivot to a different angle in order to make it seem like a different street and give the illusion of one continuous shot. Once on set, Jalet had to teach the Steadicam operator the same exact movements.
It was all in the service of preserving a kind of “chaos and roughness,” as cinematographer Paul Guilhaume calls it, which, counterintuitively, is sometimes harder than achieving a blockbuster polish. That’s why, he adds, the market stands are lit only with practical lights — meaning lights you can see in the shot itself, which start flashing then fade out as the song crescendos — and why, despite having two cameras on set, the resulting sequence mostly uses the Steadicam footage. “We are all very ambitious,” Audiard says. “And I could say pretentious, but let’s just stick with ambitious.”
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]