openai / whisper
File Churn

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 17 files with 3,931 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 1 file changed 21-50 times (465 lines of code)
    • 8 files changed 6-20 times (1,853 lines of code)
    • 8 files changed 1-5 times (1,613 lines of code)
0% | 0% | 11% | 47% | 41%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 17 files with 3,931 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 2 files changed by 11-25 contributors (707 lines of code)
    • 4 files changed by 6-10 contributors (1,040 lines of code)
    • 7 files changed by 2-5 contributors (754 lines of code)
    • 4 files changed by 1 contributor (1,430 lines of code)
0% | 17% | 26% | 19% | 36%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, md, yaml, txt, json, ipynb, in, svg, gitignore, gitattributes, toml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 15% | 63% | 21%
ipynb0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
whisper0% | 0% | 15% | 63% | 21%
notebooks0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 17)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
transcribe.py
in whisper
465 7 2022-09-21 2024-12-01 24 21 +579 / -255 jongwook@nyu.edu 69023953+purfview@users.nor...
utils.py
in whisper
242 23 2022-09-26 2025-01-04 13 13 +378 / -114 subanimehd@gmail.com cclauss@me.com
decoding.py
in whisper
545 37 2022-09-23 2023-11-06 13 8 +225 / -104 jongwook@nyu.edu jongwook@openai.com
timing.py
in whisper
299 8 2023-03-06 2025-06-26 12 7 +458 / -70 jongwook@openai.com nmharmon8@gmail.com
version.py
in whisper
1 - 2023-01-17 2025-06-26 11 2 +13 / -12 romain.rom1@gmail.com jongwook@nyu.edu
__init__.py
in whisper
115 3 2022-09-23 2025-06-26 10 8 +103 / -48 drdaxxy@googlemail.com 73611344+yaslack@users.nore...
audio.py
in whisper
81 4 2022-09-23 2024-11-26 9 8 +67 / -34 ram@rachum.com lowell@vaughnresearch.com
tokenizer.py
in whisper
317 24 2022-09-23 2023-11-06 9 5 +202 / -138 jongwook@nyu.edu jongwook@openai.com
model.py
in whisper
253 23 2022-09-26 2024-09-30 8 5 +124 / -46 michael@neuralmagic.com jongwook@openai.com
28 - 2023-09-18 2026-04-15 4 3 +38 / -10 kimdwkimdw@gmail.com 146999853+mcgrew-oai@users....
in
5 - 2023-01-17 2023-03-13 2 2 +3 / -2 romain.rom1@gmail.com jongwook@openai.com
basic.py
in whisper/normalizers
60 4 2023-03-06 2025-01-04 2 2 +17 / -8 jongwook@openai.com cclauss@me.com
triton_ops.py
in whisper
90 3 2023-03-06 2025-06-26 2 2 +136 / -19 jongwook@openai.com 3909752+extremlapin@users.n...
__init__.py
in whisper/normalizers
2 - 2023-03-06 2023-03-06 1 1 +2 / -2 jongwook@openai.com jongwook@openai.com
__main__.py
in whisper
2 - 2023-03-06 2023-03-06 1 1 +0 / -1 jongwook@openai.com jongwook@openai.com
english.py
in whisper/normalizers
467 9 2023-03-06 2023-03-06 1 1 +14 / -7 jongwook@openai.com jongwook@openai.com
LibriSpeech.ipynb
in notebooks
959 - 2025-06-25 2025-06-25 1 1 +2 / -1 34576126+learpcs@users.nore... 34576126+learpcs@users.nore...
Files With Most Churn (Top 17)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
transcribe.py
in whisper
465 7 2022-09-21 2024-12-01 24 21 +579 / -255 jongwook@nyu.edu 69023953+purfview@users.nor...
timing.py
in whisper
299 8 2023-03-06 2025-06-26 12 7 +458 / -70 jongwook@openai.com nmharmon8@gmail.com
utils.py
in whisper
242 23 2022-09-26 2025-01-04 13 13 +378 / -114 subanimehd@gmail.com cclauss@me.com
tokenizer.py
in whisper
317 24 2022-09-23 2023-11-06 9 5 +202 / -138 jongwook@nyu.edu jongwook@openai.com
decoding.py
in whisper
545 37 2022-09-23 2023-11-06 13 8 +225 / -104 jongwook@nyu.edu jongwook@openai.com
model.py
in whisper
253 23 2022-09-26 2024-09-30 8 5 +124 / -46 michael@neuralmagic.com jongwook@openai.com
triton_ops.py
in whisper
90 3 2023-03-06 2025-06-26 2 2 +136 / -19 jongwook@openai.com 3909752+extremlapin@users.n...
__init__.py
in whisper
115 3 2022-09-23 2025-06-26 10 8 +103 / -48 drdaxxy@googlemail.com 73611344+yaslack@users.nore...
audio.py
in whisper
81 4 2022-09-23 2024-11-26 9 8 +67 / -34 ram@rachum.com lowell@vaughnresearch.com
28 - 2023-09-18 2026-04-15 4 3 +38 / -10 kimdwkimdw@gmail.com 146999853+mcgrew-oai@users....
version.py
in whisper
1 - 2023-01-17 2025-06-26 11 2 +13 / -12 romain.rom1@gmail.com jongwook@nyu.edu
basic.py
in whisper/normalizers
60 4 2023-03-06 2025-01-04 2 2 +17 / -8 jongwook@openai.com cclauss@me.com
english.py
in whisper/normalizers
467 9 2023-03-06 2023-03-06 1 1 +14 / -7 jongwook@openai.com jongwook@openai.com
in
5 - 2023-01-17 2023-03-13 2 2 +3 / -2 romain.rom1@gmail.com jongwook@openai.com
__init__.py
in whisper/normalizers
2 - 2023-03-06 2023-03-06 1 1 +2 / -2 jongwook@openai.com jongwook@openai.com
LibriSpeech.ipynb
in notebooks
959 - 2025-06-25 2025-06-25 1 1 +2 / -1 34576126+learpcs@users.nore... 34576126+learpcs@users.nore...
__main__.py
in whisper
2 - 2023-03-06 2023-03-06 1 1 +0 / -1 jongwook@openai.com jongwook@openai.com
Files With Most Contributors (Top 17)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
transcribe.py
in whisper
465 7 2022-09-21 2024-12-01 24 21 +579 / -255 jongwook@nyu.edu 69023953+purfview@users.nor...
utils.py
in whisper
242 23 2022-09-26 2025-01-04 13 13 +378 / -114 subanimehd@gmail.com cclauss@me.com
decoding.py
in whisper
545 37 2022-09-23 2023-11-06 13 8 +225 / -104 jongwook@nyu.edu jongwook@openai.com
__init__.py
in whisper
115 3 2022-09-23 2025-06-26 10 8 +103 / -48 drdaxxy@googlemail.com 73611344+yaslack@users.nore...
audio.py
in whisper
81 4 2022-09-23 2024-11-26 9 8 +67 / -34 ram@rachum.com lowell@vaughnresearch.com
timing.py
in whisper
299 8 2023-03-06 2025-06-26 12 7 +458 / -70 jongwook@openai.com nmharmon8@gmail.com
tokenizer.py
in whisper
317 24 2022-09-23 2023-11-06 9 5 +202 / -138 jongwook@nyu.edu jongwook@openai.com
model.py
in whisper
253 23 2022-09-26 2024-09-30 8 5 +124 / -46 michael@neuralmagic.com jongwook@openai.com
28 - 2023-09-18 2026-04-15 4 3 +38 / -10 kimdwkimdw@gmail.com 146999853+mcgrew-oai@users....
version.py
in whisper
1 - 2023-01-17 2025-06-26 11 2 +13 / -12 romain.rom1@gmail.com jongwook@nyu.edu
in
5 - 2023-01-17 2023-03-13 2 2 +3 / -2 romain.rom1@gmail.com jongwook@openai.com
triton_ops.py
in whisper
90 3 2023-03-06 2025-06-26 2 2 +136 / -19 jongwook@openai.com 3909752+extremlapin@users.n...
basic.py
in whisper/normalizers
60 4 2023-03-06 2025-01-04 2 2 +17 / -8 jongwook@openai.com cclauss@me.com
__main__.py
in whisper
2 - 2023-03-06 2023-03-06 1 1 +0 / -1 jongwook@openai.com jongwook@openai.com
english.py
in whisper/normalizers
467 9 2023-03-06 2023-03-06 1 1 +14 / -7 jongwook@openai.com jongwook@openai.com
__init__.py
in whisper/normalizers
2 - 2023-03-06 2023-03-06 1 1 +2 / -2 jongwook@openai.com jongwook@openai.com
LibriSpeech.ipynb
in notebooks
959 - 2025-06-25 2025-06-25 1 1 +2 / -1 34576126+learpcs@users.nore... 34576126+learpcs@users.nore...
Files With Least Contributors (Top 17)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
LibriSpeech.ipynb
in notebooks
959 - 2025-06-25 2025-06-25 1 1 +2 / -1 34576126+learpcs@users.nore... 34576126+learpcs@users.nore...
english.py
in whisper/normalizers
467 9 2023-03-06 2023-03-06 1 1 +14 / -7 jongwook@openai.com jongwook@openai.com
__main__.py
in whisper
2 - 2023-03-06 2023-03-06 1 1 +0 / -1 jongwook@openai.com jongwook@openai.com
__init__.py
in whisper/normalizers
2 - 2023-03-06 2023-03-06 1 1 +2 / -2 jongwook@openai.com jongwook@openai.com
triton_ops.py
in whisper
90 3 2023-03-06 2025-06-26 2 2 +136 / -19 jongwook@openai.com 3909752+extremlapin@users.n...
basic.py
in whisper/normalizers
60 4 2023-03-06 2025-01-04 2 2 +17 / -8 jongwook@openai.com cclauss@me.com
in
5 - 2023-01-17 2023-03-13 2 2 +3 / -2 romain.rom1@gmail.com jongwook@openai.com
version.py
in whisper
1 - 2023-01-17 2025-06-26 11 2 +13 / -12 romain.rom1@gmail.com jongwook@nyu.edu
28 - 2023-09-18 2026-04-15 4 3 +38 / -10 kimdwkimdw@gmail.com 146999853+mcgrew-oai@users....
tokenizer.py
in whisper
317 24 2022-09-23 2023-11-06 9 5 +202 / -138 jongwook@nyu.edu jongwook@openai.com
model.py
in whisper
253 23 2022-09-26 2024-09-30 8 5 +124 / -46 michael@neuralmagic.com jongwook@openai.com
timing.py
in whisper
299 8 2023-03-06 2025-06-26 12 7 +458 / -70 jongwook@openai.com nmharmon8@gmail.com
decoding.py
in whisper
545 37 2022-09-23 2023-11-06 13 8 +225 / -104 jongwook@nyu.edu jongwook@openai.com
__init__.py
in whisper
115 3 2022-09-23 2025-06-26 10 8 +103 / -48 drdaxxy@googlemail.com 73611344+yaslack@users.nore...
audio.py
in whisper
81 4 2022-09-23 2024-11-26 9 8 +67 / -34 ram@rachum.com lowell@vaughnresearch.com
utils.py
in whisper
242 23 2022-09-26 2025-01-04 13 13 +378 / -114 subanimehd@gmail.com cclauss@me.com
transcribe.py
in whisper
465 7 2022-09-21 2024-12-01 24 21 +579 / -255 jongwook@nyu.edu 69023953+purfview@users.nor...
Correlations

File Size vs. Number of Changes: 17 points

.pre-commit-config.yaml x: 28 lines of code y: 4 # changes whisper/version.py x: 1 lines of code y: 11 # changes whisper/__init__.py x: 115 lines of code y: 10 # changes whisper/timing.py x: 299 lines of code y: 12 # changes whisper/triton_ops.py x: 90 lines of code y: 2 # changes notebooks/LibriSpeech.ipynb x: 959 lines of code y: 1 # changes whisper/normalizers/basic.py x: 60 lines of code y: 2 # changes whisper/utils.py x: 242 lines of code y: 13 # changes whisper/transcribe.py x: 465 lines of code y: 24 # changes whisper/audio.py x: 81 lines of code y: 9 # changes whisper/model.py x: 253 lines of code y: 8 # changes whisper/decoding.py x: 545 lines of code y: 13 # changes whisper/tokenizer.py x: 317 lines of code y: 9 # changes MANIFEST.in x: 5 lines of code y: 2 # changes whisper/__main__.py x: 2 lines of code y: 1 # changes whisper/normalizers/english.py x: 467 lines of code y: 1 # changes
24.0
# changes
  min: 1.0
  average: 7.24
  25th percentile: 1.5
  median: 8.0
  75th percentile: 11.5
  max: 24.0
0 959.0
lines of code
min: 1.0 | average: 231.24 | 25th percentile: 16.5 | median: 115.0 | 75th percentile: 391.0 | max: 959.0

Number of Contributors vs. Number of Changes: 17 points

.pre-commit-config.yaml x: 3 # contributors y: 4 # changes whisper/version.py x: 2 # contributors y: 11 # changes whisper/__init__.py x: 8 # contributors y: 10 # changes whisper/timing.py x: 7 # contributors y: 12 # changes whisper/triton_ops.py x: 2 # contributors y: 2 # changes notebooks/LibriSpeech.ipynb x: 1 # contributors y: 1 # changes whisper/utils.py x: 13 # contributors y: 13 # changes whisper/transcribe.py x: 21 # contributors y: 24 # changes whisper/audio.py x: 8 # contributors y: 9 # changes whisper/model.py x: 5 # contributors y: 8 # changes whisper/decoding.py x: 8 # contributors y: 13 # changes whisper/tokenizer.py x: 5 # contributors y: 9 # changes
24.0
# changes
  min: 1.0
  average: 7.24
  25th percentile: 1.5
  median: 8.0
  75th percentile: 11.5
  max: 24.0
0 21.0
# contributors
min: 1.0 | average: 5.29 | 25th percentile: 1.5 | median: 3.0 | 75th percentile: 8.0 | max: 21.0

Number of Contributors vs. File Size: 17 points

.pre-commit-config.yaml x: 3 # contributors y: 28 lines of code whisper/version.py x: 2 # contributors y: 1 lines of code whisper/__init__.py x: 8 # contributors y: 115 lines of code whisper/timing.py x: 7 # contributors y: 299 lines of code whisper/triton_ops.py x: 2 # contributors y: 90 lines of code notebooks/LibriSpeech.ipynb x: 1 # contributors y: 959 lines of code whisper/normalizers/basic.py x: 2 # contributors y: 60 lines of code whisper/utils.py x: 13 # contributors y: 242 lines of code whisper/transcribe.py x: 21 # contributors y: 465 lines of code whisper/audio.py x: 8 # contributors y: 81 lines of code whisper/model.py x: 5 # contributors y: 253 lines of code whisper/decoding.py x: 8 # contributors y: 545 lines of code whisper/tokenizer.py x: 5 # contributors y: 317 lines of code MANIFEST.in x: 2 # contributors y: 5 lines of code whisper/__main__.py x: 1 # contributors y: 2 lines of code whisper/normalizers/english.py x: 1 # contributors y: 467 lines of code
959.0
lines of code
  min: 1.0
  average: 231.24
  25th percentile: 16.5
  median: 115.0
  75th percentile: 391.0
  max: 959.0
0 21.0
# contributors
min: 1.0 | average: 5.29 | 25th percentile: 1.5 | median: 3.0 | 75th percentile: 8.0 | max: 21.0

Number of Changes vs. Line Churn: 49 points

.pre-commit-config.yaml x: 4 # changes y: 48 line churn .github/workflows/python-publish.yml x: 5 # changes y: 55 line churn .github/workflows/test.yml x: 11 # changes y: 151 line churn CHANGELOG.md x: 9 # changes y: 151 line churn whisper/__init__.py x: 10 # changes y: 151 line churn whisper/timing.py x: 12 # changes y: 528 line churn README.md x: 20 # changes y: 169 line churn whisper/triton_ops.py x: 2 # changes y: 155 line churn notebooks/LibriSpeech.ipynb x: 1 # changes y: 3 line churn notebooks/Multilingual_ASR.ipynb x: 4 # changes y: 3046 line churn whisper/utils.py x: 13 # changes y: 492 line churn whisper/transcribe.py x: 24 # changes y: 834 line churn whisper/model.py x: 8 # changes y: 170 line churn requirements.txt x: 7 # changes y: 13 line churn language-breakdown.svg x: 3 # changes y: 17603 line churn whisper/decoding.py x: 13 # changes y: 329 line churn whisper/tokenizer.py x: 9 # changes y: 340 line churn whisper/assets/gpt2.tiktoken x: 1 # changes y: 50256 line churn whisper/assets/gpt2/merges.txt x: 1 # changes y: 50001 line churn
50257.0
line churn
  min: 1.0
  average: 4599.47
  25th percentile: 3.0
  median: 34.0
  75th percentile: 169.5
  max: 50257.0
0 24.0
# changes
min: 1.0 | average: 4.61 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 8.5 | max: 24.0

Number of Contributors vs. Line Churn: 17 points

.pre-commit-config.yaml x: 3 # contributors y: 48 line churn whisper/version.py x: 2 # contributors y: 25 line churn whisper/__init__.py x: 8 # contributors y: 151 line churn whisper/timing.py x: 7 # contributors y: 528 line churn whisper/triton_ops.py x: 2 # contributors y: 155 line churn notebooks/LibriSpeech.ipynb x: 1 # contributors y: 3 line churn whisper/utils.py x: 13 # contributors y: 492 line churn whisper/transcribe.py x: 21 # contributors y: 834 line churn whisper/audio.py x: 8 # contributors y: 101 line churn whisper/model.py x: 5 # contributors y: 170 line churn whisper/decoding.py x: 8 # contributors y: 329 line churn whisper/tokenizer.py x: 5 # contributors y: 340 line churn MANIFEST.in x: 2 # contributors y: 5 line churn whisper/normalizers/__init__.py x: 1 # contributors y: 4 line churn whisper/normalizers/english.py x: 1 # contributors y: 21 line churn
834.0
line churn
  min: 1.0
  average: 190.12
  25th percentile: 13.0
  median: 101.0
  75th percentile: 334.5
  max: 834.0
0 21.0
# contributors
min: 1.0 | average: 5.29 | 25th percentile: 1.5 | median: 3.0 | 75th percentile: 8.0 | max: 21.0

File Size vs. Line Churn: 17 points

.pre-commit-config.yaml x: 28 lines of code y: 48 line churn whisper/version.py x: 1 lines of code y: 25 line churn whisper/__init__.py x: 115 lines of code y: 151 line churn whisper/timing.py x: 299 lines of code y: 528 line churn whisper/triton_ops.py x: 90 lines of code y: 155 line churn notebooks/LibriSpeech.ipynb x: 959 lines of code y: 3 line churn whisper/normalizers/basic.py x: 60 lines of code y: 25 line churn whisper/utils.py x: 242 lines of code y: 492 line churn whisper/transcribe.py x: 465 lines of code y: 834 line churn whisper/audio.py x: 81 lines of code y: 101 line churn whisper/model.py x: 253 lines of code y: 170 line churn whisper/decoding.py x: 545 lines of code y: 329 line churn whisper/tokenizer.py x: 317 lines of code y: 340 line churn MANIFEST.in x: 5 lines of code y: 5 line churn whisper/__main__.py x: 2 lines of code y: 1 line churn whisper/normalizers/__init__.py x: 2 lines of code y: 4 line churn whisper/normalizers/english.py x: 467 lines of code y: 21 line churn
834.0
line churn
  min: 1.0
  average: 190.12
  25th percentile: 13.0
  median: 101.0
  75th percentile: 334.5
  max: 834.0
0 959.0
lines of code
min: 1.0 | average: 231.24 | 25th percentile: 16.5 | median: 115.0 | 75th percentile: 391.0 | max: 959.0