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 RyanFaces 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
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 weightedNeutral
42.6%
16,907 frames
Screen time by actor
15 named · 69m tracked of 169.5m01
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 dialogueNOTE — speaker matching uses face-detection overlap; actors not recognized by the AI appear as unidentified.
| Actor / Character | Words spoken | WPM | % of dialogue |
|---|
Tom Hanks as Captain Miller | 2,686 | 94 | |
Edward Burns as Private Reiben | 1,859 | 226.9 | |
Giovanni Ribisi as T/4 Medic Wade | 674 | 169.4 | |
Tom Sizemore as Sergeant Horvath | 638 | 221.2 | |
Adam Goldberg as Private Mellish | 630 | 254.3 | |
Matt Damon as Private Ryan | 593 | 113.7 | |
Jeremy Davies as Corporal Upham | 508 | 115.8 | |
Paul Giamatti as Sergeant Hill | 283 | 220.4 | |
Ted Danson as Captain Hamill | 277 | 260.1 | |
Barry Pepper as Private Jackson | 272 | 262 | |
Max Martini as Corporal Henderson | 254 | 239.5 | |
Unidentified speakers | 238 | — | |
Vin Diesel as Private Caparzo | 208 | 170.4 | |
Joerg Stadler as Steamboat Willie | 170 | 226 | |
Dennis Farina as Lieutenant Colonel Anderson | 122 | 80.9 | |
Dylan Bruno as Toynbe | 70 | 249.1 | |
Cast profiles
arc · volatility · emotion breakdown per actorCM
Tom Hanks
AS CAPTAIN MILLER
● Dominant: sadEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
CU
Jeremy Davies
AS CORPORAL UPHAM
● Dominant: sadEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
PR
Matt Damon
AS PRIVATE RYAN
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
PR
Edward Burns
AS PRIVATE REIBEN
● Dominant: sadEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
SH
Tom Sizemore
AS SERGEANT HORVATH
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
PJ
Barry Pepper
AS PRIVATE JACKSON
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
TM
Giovanni Ribisi
AS T/4 MEDIC WADE
● Dominant: sadEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
PM
Adam Goldberg
AS PRIVATE MELLISH
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
CH
Max Martini
AS CORPORAL HENDERSON
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
SW
Joerg Stadler
AS STEAMBOAT WILLIE
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
CH
Ted Danson
AS CAPTAIN HAMILL
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
PC
Vin Diesel
AS PRIVATE CAPARZO
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
T
Dylan Bruno
AS TOYNBE
● Dominant: angryEmotional arc — 30 segments~6m per bucket
00:0042m84m127m169.5m
Too few detections for emotion analysis
SH
Paul Giamatti
AS SERGEANT HILL
● Dominant: neutralToo few detections for emotion analysis
Speaker diarization
talk-time · turns · pacing per speakerTalk-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
runtimeGiovanni Ribisi
18:40enter
Tom HanksSPEAKER 16
Rapid exchange44.0%of all dialogue · 2,686 words · 28:34 spoken
WPM94
Turns653
Avg turn1.3s
Longest12.4s
Edward BurnsSPEAKER 40
Rapid exchange12.6%of all dialogue · 1,859 words · 8:12 spoken
WPM226.9
Turns252
Avg turn1.9s
Longest18.2s
Giovanni RibisiSPEAKER 10
Rapid exchange6.1%of all dialogue · 674 words · 3:59 spoken
WPM169.4
Turns295
Avg turn1.1s
Longest10.7s
Tom SizemoreSPEAKER 19
Rapid exchange4.4%of all dialogue · 638 words · 2:53 spoken
WPM221.2
Turns195
Avg turn1.2s
Longest13.6s
Adam GoldbergSPEAKER 30
Rapid exchange3.8%of all dialogue · 630 words · 2:29 spoken
WPM254.3
Turns168
Avg turn1.3s
Longest10.0s
Matt DamonSPEAKER 38
Brief8.0%of all dialogue · 593 words · 5:13 spoken
WPM113.7
Turns97
Avg turn1.7s
Longest18.0s
Jeremy DaviesSPEAKER 06
Rapid exchange6.8%of all dialogue · 508 words · 4:23 spoken
WPM115.8
Turns161
Avg turn1.1s
Longest6.2s
Paul GiamattiSPEAKER 15
Brief2.0%of all dialogue · 283 words · 1:17 spoken
WPM220.4
Turns36
Avg turn2.0s
Longest10.2s
Ted DansonSPEAKER 47
Brief1.6%of all dialogue · 277 words · 1:04 spoken
WPM260.1
Turns63
Avg turn1.2s
Longest7.0s
Barry PepperSPEAKER 31
Brief1.6%of all dialogue · 272 words · 1:02 spoken
WPM262
Turns56
Avg turn1.6s
Longest17.5s
Max MartiniSPEAKER 08
Brief1.6%of all dialogue · 254 words · 1:04 spoken
WPM239.5
Turns62
Avg turn1.3s
Longest9.3s
Vin DieselSPEAKER 25
Brief1.9%of all dialogue · 208 words · 1:13 spoken
WPM170.4
Turns64
Avg turn1.5s
Longest8.9s
Joerg StadlerSPEAKER 03
Brief1.2%of all dialogue · 170 words · 0:45 spoken
WPM226
Turns44
Avg turn1.0s
Longest7.9s
Dennis FarinaSPEAKER 22
Brief2.3%of all dialogue · 122 words · 1:30 spoken
WPM80.9
Turns16
Avg turn2.0s
Longest7.5s
Unknown SpeakerSPEAKER 04 · unmatched
Brief0.5%of all dialogue · 87 words · 0:20 spoken
WPM265.2
Turns14
Avg turn1.9s
Longest5.5s
Unknown SpeakerSPEAKER 00 · unmatched
Brief0.6%of all dialogue · 85 words · 0:24 spoken
WPM217.2
Turns10
Avg turn2.4s
Longest5.7s
Dylan BrunoSPEAKER 21
Brief0.4%of all dialogue · 70 words · 0:17 spoken
WPM249.1
Turns18
Avg turn0.9s
Longest2.6s
Unknown SpeakerSPEAKER 01 · unmatched
Brief0.5%of all dialogue · 66 words · 0:20 spoken
WPM196.3
Turns12
Avg turn1.8s
Longest7.2s