QuantCinemaCinema, decoded.
FilmsRankingsCompare
QuantCinema

AI-powered cinema analytics.

DISPATCH

Suggest a film · get notified when new data drops

© 2026 QuantCinema
CAST · SAVING PRIVATE RYAN

Faces & feelings

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

← Back to Saving Private Ryan
Faces detected
39,642
across full runtime
Named matches
15
actors identified
Close-up shots
18.0%
of all framed shots
Smile rate
5.0%
frames with detected joy
Gender split
92%
8%
M / F · screen-time weighted
Dominant emotion
Neutral 43%
film-wide aggregate
Most expressive
Vin Diesel
73% non-neutral
Lead screen share
36%
15 tracked characters

Overall emotion distribution

7 emotions · all characters · screen-time weighted
Happy
5.0%
1,993 frames
Surprise
2.3%
925 frames
Neutral
42.6%
16,907 frames
Fear
11.6%
4,617 frames
Sad
15.3%
6,079 frames
Angry
17.6%
6,961 frames
Disgust
5.4%
2,160 frames

Screen time by actor

15 named · 69m tracked of 169.5m
01
Tom Hanks
as Captain Miller · 3529 scenes
24.5min · 36% of cast
sad
02
Jeremy Davies
as Corporal Upham · 1255 scenes
8.7min · 13% of cast
sad
03
Matt Damon
as Private Ryan · 992 scenes
6.9min · 10% of cast
angry
04
Edward Burns
as Private Reiben · 911 scenes
6.3min · 9% of cast
sad
05
Tom Sizemore
as Sergeant Horvath · 843 scenes
5.9min · 8% of cast
angry
06
Barry Pepper
as Private Jackson · 802 scenes
5.6min · 8% of cast
angry
07
Giovanni Ribisi
as T/4 Medic Wade · 524 scenes
3.6min · 5% of cast
sad
08
Adam Goldberg
as Private Mellish · 387 scenes
2.7min · 4% of cast
angry
09
Max Martini
as Corporal Henderson · 208 scenes
1.4min · 2% of cast
angry
10
Joerg Stadler
as Steamboat Willie · 114 scenes
0.8min · 1% of cast
angry
11
Ted Danson
as Captain Hamill · 111 scenes
0.8min · 1% of cast
angry
12
Vin Diesel
as Private Caparzo · 81 scenes
0.6min · 1% of cast
angry
13
Dylan Bruno
as Toynbe · 74 scenes
0.5min · 1% of cast
angry
14
Dennis Farina
as Lieutenant Colonel Anderson · 63 scenes
0.4min · 1% of cast
angry
15
Paul Giamatti
as Sergeant Hill · 48 scenes
0.3min · 0% of cast
neutral

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
Tom Hanks
as Captain Miller
2,68694
28.3%
Edward Burns
as Private Reiben
1,859226.9
19.6%
Giovanni Ribisi
as T/4 Medic Wade
674169.4
7.1%
Tom Sizemore
as Sergeant Horvath
638221.2
6.7%
Adam Goldberg
as Private Mellish
630254.3
6.6%
Matt Damon
as Private Ryan
593113.7
6.3%
Jeremy Davies
as Corporal Upham
508115.8
5.4%
Paul Giamatti
as Sergeant Hill
283220.4
3.0%
Ted Danson
as Captain Hamill
277260.1
2.9%
Barry Pepper
as Private Jackson
272262
2.9%
Max Martini
as Corporal Henderson
254239.5
2.7%
Unidentified speakers
238—
2.5%
Vin Diesel
as Private Caparzo
208170.4
2.2%
Joerg Stadler
as Steamboat Willie
170226
1.8%
Dennis Farina
as Lieutenant Colonel Anderson
12280.9
1.3%
Dylan Bruno
as Toynbe
70249.1
0.7%

Cast profiles

arc · volatility · emotion breakdown per actor
CM
Tom Hanks
AS CAPTAIN MILLER
● Dominant: sad
Screen time
24m 32s
Scenes
3529
First seen
5:12
Last seen
158:28
Volatility
32 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
5%
Happy
1%
Surprise
16%
Neutral
6%
Fear
32%
Sad
28%
Angry
11%
Disgust
CU
Jeremy Davies
AS CORPORAL UPHAM
● Dominant: sad
Screen time
8m 43s
Scenes
1255
First seen
39:57
Last seen
158:33
Volatility
31 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
3%
Happy
1%
Surprise
8%
Neutral
6%
Fear
55%
Sad
21%
Angry
7%
Disgust
PR
Matt Damon
AS PRIVATE RYAN
● Dominant: angry
Screen time
6m 54s
Scenes
992
First seen
106:19
Last seen
158:58
Volatility
29 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
10%
Happy
0%
Surprise
15%
Neutral
1%
Fear
20%
Sad
44%
Angry
9%
Disgust
PR
Edward Burns
AS PRIVATE REIBEN
● Dominant: sad
Screen time
6m 20s
Scenes
911
First seen
16:16
Last seen
157:43
Volatility
35 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
4%
Happy
1%
Surprise
23%
Neutral
1%
Fear
41%
Sad
22%
Angry
8%
Disgust
SH
Tom Sizemore
AS SERGEANT HORVATH
● Dominant: angry
Screen time
5m 52s
Scenes
843
First seen
5:19
Last seen
152:42
Volatility
38 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
8%
Happy
6%
Surprise
23%
Neutral
8%
Fear
10%
Sad
27%
Angry
20%
Disgust
PJ
Barry Pepper
AS PRIVATE JACKSON
● Dominant: angry
Screen time
5m 34s
Scenes
802
First seen
6:17
Last seen
140:04
Volatility
30 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
0%
Happy
3%
Surprise
7%
Neutral
4%
Fear
19%
Sad
50%
Angry
18%
Disgust
TM
Giovanni Ribisi
AS T/4 MEDIC WADE
● Dominant: sad
Screen time
3m 38s
Scenes
524
First seen
15:57
Last seen
91:45
Volatility
23 Low
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
3%
Happy
1%
Surprise
32%
Neutral
9%
Fear
39%
Sad
10%
Angry
5%
Disgust
PM
Adam Goldberg
AS PRIVATE MELLISH
● Dominant: angry
Screen time
2m 41s
Scenes
387
First seen
19:40
Last seen
145:42
Volatility
33 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
3%
Happy
0%
Surprise
13%
Neutral
6%
Fear
20%
Sad
50%
Angry
8%
Disgust
CH
Max Martini
AS CORPORAL HENDERSON
● Dominant: angry
Screen time
1m 27s
Scenes
208
First seen
106:19
Last seen
134:15
Volatility
22 Low
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
15%
Happy
3%
Surprise
14%
Neutral
1%
Fear
8%
Sad
57%
Angry
2%
Disgust
SW
Joerg Stadler
AS STEAMBOAT WILLIE
● Dominant: angry
Screen time
0m 47s
Scenes
114
First seen
92:32
Last seen
154:45
Volatility
45 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
9%
Happy
1%
Surprise
5%
Neutral
14%
Fear
18%
Sad
46%
Angry
7%
Disgust
CH
Ted Danson
AS CAPTAIN HAMILL
● Dominant: angry
Screen time
0m 46s
Scenes
111
First seen
60:13
Last seen
65:23
Volatility
26 Med
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
1%
Happy
3%
Surprise
11%
Neutral
10%
Fear
3%
Sad
71%
Angry
2%
Disgust
PC
Vin Diesel
AS PRIVATE CAPARZO
● Dominant: angry
Screen time
0m 34s
Scenes
81
First seen
17:41
Last seen
57:20
Volatility
61 High
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
7%
Happy
3%
Surprise
27%
Neutral
4%
Fear
11%
Sad
36%
Angry
12%
Disgust
T
Dylan Bruno
AS TOYNBE
● Dominant: angry
Screen time
0m 31s
Scenes
74
First seen
106:28
Last seen
137:40
Volatility
24 Low
Emotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
0%
Happy
1%
Surprise
18%
Neutral
4%
Fear
12%
Sad
57%
Angry
8%
Disgust
LC
Dennis Farina
AS LIEUTENANT COLONEL ANDERSON
● Dominant: angry
Screen time
0m 26s
Scenes
63
First seen
36:55
Last seen
38:28

Too few detections for emotion analysis

SH
Paul Giamatti
AS SERGEANT HILL
● Dominant: neutral
Screen time
0m 20s
Scenes
48
First seen
47:37
Last seen
64:48

Too few detections for emotion analysis

Speaker diarization

talk-time · turns · pacing per speaker
Talk-time share · 18 clusterssums to 99.9% of all dialogue
Hanks 44.0%
Burns 12.6%
Damon 8.0%
First-word entry · per speakerdot = first line · trail = on-screen window · 12 ensemble
0:0042:2384:45127:08169:30
runtime
Tom Sizemore
15:08enter
Tom Hanks
15:19enter
Vin Diesel
16:14enter
Edward Burns
16:22enter
Giovanni Ribisi
18:40enter
Max Martini
19:15enter
Adam Goldberg
21:39enter
Ted Danson
21:46enter
Joerg Stadler
21:58enter
Barry Pepper
22:05enter
Jeremy Davies
25:55enter
Matt Damon
25:56enter
SPEAKER 01
29:19enter
Dennis Farina
29:29enter
SPEAKER 04
30:31enter
SPEAKER 00
33:28enter
Paul Giamatti
47:03enter
Dylan Bruno
107:29enter
Tom HanksSPEAKER 16
Rapid exchange
44.0%
of all dialogue · 2,686 words · 28:34 spoken
WPM94
Turns653
Avg turn1.3s
Longest12.4s
enters at 15:19profanity 7
Edward BurnsSPEAKER 40
Rapid exchange
12.6%
of all dialogue · 1,859 words · 8:12 spoken
WPM226.9
Turns252
Avg turn1.9s
Longest18.2s
enters at 16:22profanity 28
Giovanni RibisiSPEAKER 10
Rapid exchange
6.1%
of all dialogue · 674 words · 3:59 spoken
WPM169.4
Turns295
Avg turn1.1s
Longest10.7s
enters at 18:40profanity 2
Tom SizemoreSPEAKER 19
Rapid exchange
4.4%
of all dialogue · 638 words · 2:53 spoken
WPM221.2
Turns195
Avg turn1.2s
Longest13.6s
enters at 15:08profanity 6
Adam GoldbergSPEAKER 30
Rapid exchange
3.8%
of all dialogue · 630 words · 2:29 spoken
WPM254.3
Turns168
Avg turn1.3s
Longest10.0s
enters at 21:39profanity 8
Matt DamonSPEAKER 38
Brief
8.0%
of all dialogue · 593 words · 5:13 spoken
WPM113.7
Turns97
Avg turn1.7s
Longest18.0s
enters at 25:56profanity 1
Jeremy DaviesSPEAKER 06
Rapid exchange
6.8%
of all dialogue · 508 words · 4:23 spoken
WPM115.8
Turns161
Avg turn1.1s
Longest6.2s
enters at 25:55profanity 1
Paul GiamattiSPEAKER 15
Brief
2.0%
of all dialogue · 283 words · 1:17 spoken
WPM220.4
Turns36
Avg turn2.0s
Longest10.2s
enters at 47:03profanity 4
Ted DansonSPEAKER 47
Brief
1.6%
of all dialogue · 277 words · 1:04 spoken
WPM260.1
Turns63
Avg turn1.2s
Longest7.0s
enters at 21:46profanity 1
Barry PepperSPEAKER 31
Brief
1.6%
of all dialogue · 272 words · 1:02 spoken
WPM262
Turns56
Avg turn1.6s
Longest17.5s
enters at 22:05profanity 1
Max MartiniSPEAKER 08
Brief
1.6%
of all dialogue · 254 words · 1:04 spoken
WPM239.5
Turns62
Avg turn1.3s
Longest9.3s
enters at 19:15profanity 1
Vin DieselSPEAKER 25
Brief
1.9%
of all dialogue · 208 words · 1:13 spoken
WPM170.4
Turns64
Avg turn1.5s
Longest8.9s
enters at 16:14profanity 0
Joerg StadlerSPEAKER 03
Brief
1.2%
of all dialogue · 170 words · 0:45 spoken
WPM226
Turns44
Avg turn1.0s
Longest7.9s
enters at 21:58profanity 0
Dennis FarinaSPEAKER 22
Brief
2.3%
of all dialogue · 122 words · 1:30 spoken
WPM80.9
Turns16
Avg turn2.0s
Longest7.5s
enters at 29:29profanity 0
Unknown SpeakerSPEAKER 04 · unmatched
Brief
0.5%
of all dialogue · 87 words · 0:20 spoken
WPM265.2
Turns14
Avg turn1.9s
Longest5.5s
enters at 30:31profanity 0
Unknown SpeakerSPEAKER 00 · unmatched
Brief
0.6%
of all dialogue · 85 words · 0:24 spoken
WPM217.2
Turns10
Avg turn2.4s
Longest5.7s
enters at 33:28profanity 2
Dylan BrunoSPEAKER 21
Brief
0.4%
of all dialogue · 70 words · 0:17 spoken
WPM249.1
Turns18
Avg turn0.9s
Longest2.6s
enters at 107:29profanity 0
Unknown SpeakerSPEAKER 01 · unmatched
Brief
0.5%
of all dialogue · 66 words · 0:20 spoken
WPM196.3
Turns12
Avg turn1.8s
Longest7.2s
enters at 29:19profanity 0
AGGREGATE — 15 unique characters · 39,642 faces detected · 15 named matches · 69m screen-time tracked