QuantCinemaCinema, decoded.
FilmsRankingsCompare
QuantCinema

AI-powered cinema analytics.

DISPATCH

Suggest a film · get notified when new data drops

© 2026 QuantCinema
CAST · ZODIAC

Faces & feelings

Per-character screen time, dialogue and emotion breakdown — derived from face recognition + expression classifier across every frame.

← Back to Zodiac
Faces detected
35,739
across full runtime
Named matches
14
actors identified
Close-up shots
14.2%
of all framed shots
Smile rate
1.6%
frames with detected joy
Gender split
81%
19%
M / F · screen-time weighted
Dominant emotion
Neutral 38%
film-wide aggregate
Most expressive
Donal Logue
83% non-neutral
Lead screen share
32%
14 tracked characters

Overall emotion distribution

7 emotions · all characters · screen-time weighted
Happy
1.6%
588 frames
Surprise
6.4%
2,288 frames
Neutral
37.9%
13,562 frames
Fear
15.1%
5,379 frames
Sad
17.0%
6,075 frames
Angry
18.8%
6,720 frames
Disgust
3.2%
1,127 frames

Screen time by actor

14 named · 115m tracked of 162.6m
01
Jake Gyllenhaal
as Robert Graysmith · 5205 scenes
36.2min · 32% of cast
neutral
02
Mark Ruffalo
as David Toschi · 3654 scenes
25.4min · 22% of cast
neutral
03
Anthony Edwards
as William Armstrong · 2049 scenes
14.2min · 12% of cast
angry
04
Robert Downey Jr.
as Paul Avery · 1669 scenes
11.6min · 10% of cast
neutral
05
Chloë Sevigny
as Melanie · 650 scenes
4.5min · 4% of cast
neutral
06
Elias Koteas
as Jack Mulanax · 502 scenes
3.5min · 3% of cast
angry
07
Donal Logue
as Ken Narlow · 485 scenes
3.4min · 3% of cast
angry
08
John Carroll Lynch
as Arthur Leigh Allen · 467 scenes
3.3min · 3% of cast
angry
09
Dermot Mulroney
as Martin Lee · 411 scenes
2.9min · 2% of cast
angry
10
Brian Cox
as Melvin Belli · 408 scenes
2.8min · 2% of cast
angry
11
Zach Grenier
as Mel Nicolai · 319 scenes
2.2min · 2% of cast
angry
12
Charles Fleischer
as Bob Vaughn · 277 scenes
1.9min · 2% of cast
angry
13
Philip Baker Hall
as Sherwood Morrill · 271 scenes
1.9min · 2% of cast
sad
14
James Le Gros
as George Bawart · 119 scenes
0.8min · 1% of cast
angry

Dialogue by character

words spoken · WPM · share of total dialogue
NOTE — speaker matching uses face-detection overlap; actors not recognized by the AI appear as unidentified.
Actor / CharacterWords spokenWPM% of dialogue
Jake Gyllenhaal
as Robert Graysmith
3,962216.8
23.5%
Mark Ruffalo
as David Toschi
3,059272.1
18.2%
Robert Downey Jr.
as Paul Avery
2,391236.1
14.2%
Anthony Edwards
as William Armstrong
2,326242.1
13.8%
Brian Cox
as Melvin Belli
730211.5
4.3%
Chloë Sevigny
as Melanie
576212.1
3.4%
Zach Grenier
as Mel Nicolai
547232.7
3.2%
Elias Koteas
as Jack Mulanax
522216.1
3.1%
Donal Logue
as Ken Narlow
503283.6
3.0%
Unidentified speakers
499—
3.0%
John Carroll Lynch
as Arthur Leigh Allen
457212.4
2.7%
Dermot Mulroney
as Martin Lee
455269.3
2.7%
Philip Baker Hall
as Sherwood Morrill
398198
2.4%
Charles Fleischer
as Bob Vaughn
299191.4
1.8%
James Le Gros
as George Bawart
124203.6
0.7%

Cast profiles

arc · volatility · emotion breakdown per actor
JG
Jake Gyllenhaal
AS ROBERT GRAYSMITH
● Dominant: neutral
Screen time
36m 11s
Scenes
5205
First seen
6:35
Last seen
155:47
Volatility
31 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
3%
Happy
4%
Surprise
40%
Neutral
9%
Fear
36%
Sad
6%
Angry
3%
Disgust
MR
Mark Ruffalo
AS DAVID TOSCHI
● Dominant: neutral
Screen time
25m 24s
Scenes
3654
First seen
26:31
Last seen
154:17
Volatility
35 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
1%
Happy
14%
Surprise
42%
Neutral
3%
Fear
15%
Sad
20%
Angry
6%
Disgust
AE
Anthony Edwards
AS WILLIAM ARMSTRONG
● Dominant: angry
Screen time
14m 14s
Scenes
2049
First seen
26:59
Last seen
105:39
Volatility
28 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
0%
Happy
2%
Surprise
15%
Neutral
4%
Fear
9%
Sad
68%
Angry
2%
Disgust
RD
Robert Downey Jr.
AS PAUL AVERY
● Dominant: neutral
Screen time
11m 36s
Scenes
1669
First seen
8:33
Last seen
134:15
Volatility
27 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
1%
Happy
3%
Surprise
55%
Neutral
4%
Fear
26%
Sad
10%
Angry
1%
Disgust
CS
Chloë Sevigny
AS MELANIE
● Dominant: neutral
Screen time
4m 31s
Scenes
650
First seen
67:04
Last seen
147:50
Volatility
25 Low
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
8%
Happy
2%
Surprise
69%
Neutral
1%
Fear
11%
Sad
3%
Angry
7%
Disgust
EK
Elias Koteas
AS JACK MULANAX
● Dominant: angry
Screen time
3m 29s
Scenes
502
First seen
12:37
Last seen
146:05
Volatility
27 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
0%
Happy
18%
Surprise
23%
Neutral
4%
Fear
8%
Sad
46%
Angry
1%
Disgust
DL
Donal Logue
AS KEN NARLOW
● Dominant: angry
Screen time
3m 22s
Scenes
485
First seen
37:57
Last seen
126:33
Volatility
36 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
3%
Happy
6%
Surprise
17%
Neutral
0%
Fear
21%
Sad
41%
Angry
12%
Disgust
JC
John Carroll Lynch
AS ARTHUR LEIGH ALLEN
● Dominant: angry
Screen time
3m 15s
Scenes
467
First seen
82:05
Last seen
157:53
Volatility
25 Low
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
6%
Happy
10%
Surprise
13%
Neutral
0%
Fear
4%
Sad
64%
Angry
2%
Disgust
DM
Dermot Mulroney
AS MARTIN LEE
● Dominant: angry
Screen time
2m 52s
Scenes
411
First seen
36:41
Last seen
129:28
Volatility
31 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
0%
Happy
2%
Surprise
31%
Neutral
1%
Fear
10%
Sad
46%
Angry
10%
Disgust
BC
Brian Cox
AS MELVIN BELLI
● Dominant: angry
Screen time
2m 50s
Scenes
408
First seen
43:27
Last seen
55:42
Volatility
29 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
0%
Happy
7%
Surprise
12%
Neutral
4%
Fear
23%
Sad
51%
Angry
3%
Disgust
ZG
Zach Grenier
AS MEL NICOLAI
● Dominant: angry
Screen time
2m 13s
Scenes
319
First seen
72:16
Last seen
121:21
Volatility
30 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
2%
Happy
8%
Surprise
19%
Neutral
1%
Fear
17%
Sad
49%
Angry
5%
Disgust
CF
Charles Fleischer
AS BOB VAUGHN
● Dominant: angry
Screen time
1m 56s
Scenes
277
First seen
135:60
Last seen
141:35
Volatility
36 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
2%
Happy
8%
Surprise
12%
Neutral
3%
Fear
5%
Sad
63%
Angry
7%
Disgust
PB
Philip Baker Hall
AS SHERWOOD MORRILL
● Dominant: sad
Screen time
1m 53s
Scenes
271
First seen
34:56
Last seen
128:06
Volatility
31 Med
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
1%
Happy
3%
Surprise
4%
Neutral
3%
Fear
45%
Sad
41%
Angry
3%
Disgust
JL
James Le Gros
AS GEORGE BAWART
● Dominant: angry
Screen time
0m 50s
Scenes
119
First seen
115:44
Last seen
158:12
Volatility
24 Low
Emotional arc — 30 segments~5m per bucket
00:0040m81m121m162.6m
0%
Happy
5%
Surprise
8%
Neutral
6%
Fear
7%
Sad
62%
Angry
12%
Disgust

Speaker diarization

talk-time · turns · pacing per speaker
Talk-time share · 24 clusterssums to 100.0% of all dialogue
Gyllenhaal 24.7%
Ruffalo 15.2%
Jr. 13.7%
Edwards 13.0%
First-word entry · per speakerdot = first line · trail = on-screen window · 18 ensemble
0:0040:3981:18121:57162:36
runtime
Mark Ruffalo
1:07enter
SPEAKER 01
1:08enter
Anthony Edwards
1:11enter
Zach Grenier
1:35enter
James Le Gros
1:42enter
Jake Gyllenhaal
1:46enter
Robert Downey Jr.
1:49enter
Philip Baker Hall
2:02enter
SPEAKER 34
2:42enter
Dermot Mulroney
4:52enter
Brian Cox
5:34enter
Chloë Sevigny
14:28enter
SPEAKER 43
17:60enter
John Carroll Lynch
21:19enter
Charles Fleischer
21:60enter
SPEAKER 25
22:03enter
SPEAKER 23
24:44enter
SPEAKER 19
25:06enter
SPEAKER 03
25:50enter
Elias Koteas
34:35enter
Donal Logue
37:56enter
SPEAKER 42
42:25enter
SPEAKER 41
53:55enter
SPEAKER 11
56:40enter
Jake GyllenhaalSPEAKER 36
Rapid exchange
24.7%
of all dialogue · 3,962 words · 18:16 spoken
WPM216.8
Turns685
Avg turn1.7s
Longest15.7s
enters at 1:46profanity 4
Mark RuffaloSPEAKER 39
Rapid exchange
15.2%
of all dialogue · 3,059 words · 11:15 spoken
WPM272.1
Turns470
Avg turn1.6s
Longest15.7s
enters at 1:07profanity 3
Robert Downey Jr.SPEAKER 22
Rapid exchange
13.7%
of all dialogue · 2,391 words · 10:08 spoken
WPM236.1
Turns458
Avg turn1.6s
Longest20.6s
enters at 1:49profanity 11
Anthony EdwardsSPEAKER 14
Rapid exchange
13.0%
of all dialogue · 2,326 words · 9:36 spoken
WPM242.1
Turns342
Avg turn1.9s
Longest22.7s
enters at 1:11profanity 4
Brian CoxSPEAKER 17
Rapid exchange
4.7%
of all dialogue · 730 words · 3:27 spoken
WPM211.5
Turns193
Avg turn1.7s
Longest11.7s
enters at 5:34profanity 1
Chloë SevignySPEAKER 35
Conversational
3.7%
of all dialogue · 576 words · 2:43 spoken
WPM212.1
Turns141
Avg turn1.1s
Longest6.3s
enters at 14:28profanity 2
Zach GrenierSPEAKER 05
Brief
3.2%
of all dialogue · 547 words · 2:21 spoken
WPM232.7
Turns70
Avg turn2.3s
Longest15.6s
enters at 1:35profanity 0
Elias KoteasSPEAKER 47
Conversational
3.3%
of all dialogue · 522 words · 2:25 spoken
WPM216.1
Turns106
Avg turn1.2s
Longest8.0s
enters at 34:35profanity 2
Donal LogueSPEAKER 33
Brief
2.4%
of all dialogue · 503 words · 1:46 spoken
WPM283.6
Turns83
Avg turn1.5s
Longest10.1s
enters at 37:56profanity 1
John Carroll LynchSPEAKER 46
Brief
2.9%
of all dialogue · 457 words · 2:09 spoken
WPM212.4
Turns85
Avg turn1.4s
Longest6.7s
enters at 21:19profanity 1
Dermot MulroneySPEAKER 45
Conversational
2.3%
of all dialogue · 455 words · 1:41 spoken
WPM269.3
Turns110
Avg turn1.3s
Longest21.6s
enters at 4:52profanity 0
Philip Baker HallSPEAKER 13
Brief
2.7%
of all dialogue · 398 words · 2:01 spoken
WPM198
Turns80
Avg turn1.4s
Longest7.3s
enters at 2:02profanity 0
Charles FleischerSPEAKER 32
Brief
2.1%
of all dialogue · 299 words · 1:34 spoken
WPM191.4
Turns78
Avg turn1.2s
Longest6.8s
enters at 21:60profanity 1
James Le GrosSPEAKER 53
Brief
0.8%
of all dialogue · 124 words · 0:37 spoken
WPM203.6
Turns27
Avg turn1.5s
Longest5.9s
enters at 1:42profanity 0
Unknown SpeakerSPEAKER 01 · unmatched
Brief
0.7%
of all dialogue · 108 words · 0:30 spoken
WPM216.1
Turns33
Avg turn1.3s
Longest5.9s
enters at 1:08profanity 0
Unknown SpeakerSPEAKER 34 · unmatched
Brief
0.4%
of all dialogue · 74 words · 0:16 spoken
WPM278.2
Turns14
Avg turn1.5s
Longest4.9s
enters at 2:42profanity 0
Unknown SpeakerSPEAKER 11 · unmatched
Brief
1.0%
of all dialogue · 59 words · 0:46 spoken
WPM77.6
Turns15
Avg turn1.5s
Longest3.8s
enters at 56:40profanity 0
Unknown SpeakerSPEAKER 03 · unmatched
Brief
0.3%
of all dialogue · 55 words · 0:13 spoken
WPM254.2
Turns10
Avg turn1.4s
Longest2.7s
enters at 25:50profanity 0
Unknown SpeakerSPEAKER 43 · unmatched
Brief
0.3%
of all dialogue · 52 words · 0:14 spoken
WPM220.2
Turns10
Avg turn1.1s
Longest2.9s
enters at 17:60profanity 0
Unknown SpeakerSPEAKER 23 · unmatched
Brief
0.3%
of all dialogue · 48 words · 0:11 spoken
WPM259.5
Turns4
Avg turn3.4s
Longest5.8s
enters at 24:44profanity 0
Unknown SpeakerSPEAKER 42 · unmatched
Brief
0.2%
of all dialogue · 36 words · 0:09 spoken
WPM247.7
Turns6
Avg turn1.7s
Longest7.1s
enters at 42:25profanity 0
Unknown SpeakerSPEAKER 19 · unmatched
Brief
0.1%
of all dialogue · 26 words · 0:04 spoken
WPM357.8
Turns6
Avg turn2.5s
Longest7.7s
enters at 25:06profanity 0
Unknown SpeakerSPEAKER 41 · unmatched
Brief
0.1%
of all dialogue · 22 words · 0:05 spoken
WPM253.8
Turns6
Avg turn1.0s
Longest3.5s
enters at 53:55profanity 0
Unknown SpeakerSPEAKER 25 · unmatched
Brief
1.9%
of all dialogue · 19 words · 1:25 spoken
WPM13.4
Turns21
Avg turn1.8s
Longest7.3s
enters at 22:03profanity 0
AGGREGATE — 14 unique characters · 35,739 faces detected · 14 named matches · 115m screen-time tracked