--- language: - fa license: cc-by-4.0 base_model: openai/whisper-large-v3-turbo pipeline_tag: automatic-speech-recognition library_name: transformers tags: - whisper - persian - farsi - speech-recognition - whisper.cpp - ggml datasets: - google/fleurs - espnet/yodas2 - shekar-ai/Neyshekar - aliyzd95/common_voice_26_0_fa - MahtaFetrat/Mana-TTS metrics: - wer model-index: - name: whisper-large-v3-turbo-persian results: - task: type: automatic-speech-recognition name: Automatic Speech Recognition dataset: name: FLEURS (fa_ir, test, 300-clip subset) type: google/fleurs config: fa_ir split: test metrics: - type: wer value: 6.4 name: WER (%) --- # Whisper large-v3-turbo — Persian (Farsi) A full fine-tune of [`openai/whisper-large-v3-turbo`](https://huggingface.co/openai/whisper-large-v3-turbo) for **Persian speech recognition**, trained on ~236 hours of openly licensed Persian speech: conversational YouTube audio with creator-made subtitles plus formal read speech. - **Verbatim, colloquial-aware output.** It writes what was said («نمی‌دونم», «میشه», «داره»), instead of rewriting speech into formal written Persian. - **Punctuated output** («،», «.», «؟»). - **Fast:** same size and speed as turbo (809 M parameters). A 70-minute podcast transcribes in about 25 s on an RTX 4070 Ti. - **A `whisper.cpp` / GGML version is included** (`ggml-persian-v3-turbo.bin`), which also works with FFmpeg's `whisper` filter. ## Results Word error rate (%, lower is better). The test sets are fixed subsets, and the same clips were used for every model: 300 FLEURS clips, 150 + 150 held-out YouTube / YODAS2 segments, and 300 Neyshekar clips. Text is normalized before scoring: punctuation and diacritics are removed, Arabic/Persian letter and digit variants are unified, and spacing variants such as «می شه» / «می‌شه» / «میشه» are treated as the same word. | Model | FLEURS | YouTube (unseen channels) | YODAS2 | Neyshekar | Mean | |---|---|---|---|---|---| | **this model** | **6.4** | **14.4** | **23.0** | **6.0**\* | **12.4** | | MohammadKhosravi/whisper-large-v3-Persian | 11.9 | 30.8 | 34.8 | 12.9 | 22.6 | | AmirMohseni/whisper-large-v3-persian-bf16 | 12.2 | 29.9 | 34.9 | 13.2 | 22.5 | | sadrasa97/whisper-large-v3-turbo-fa | 14.4 | 34.5 | 41.2 | 16.6 | 26.7 | | openai/whisper-large-v3 | 17.3 | 35.8 | 37.3 | 21.0 | 27.8 | | openai/whisper-large-v3-turbo | 18.7 | 34.0 | 36.3 | 26.4 | 28.8 | | nezamisafa/whisper-persian-v4 | 12.6 | 45.0 | 45.7 | 17.5 | 30.2 | | vhdm/whisper-large-fa-v1 | 14.0 | 51.3 | 62.6 | 21.2 | 37.3 | \* This model was trained on Neyshekar's train split, which shares no speakers with its test split. That makes its Neyshekar score in-domain; the other models have not seen Neyshekar. It was also trained on FLEURS-train and on YouTube subtitles in the same style as the YouTube references, so read the FLEURS and YouTube columns with that in mind. **Unseen long-form test:** a 70-minute episode of Bplus Podcast (not in any training data, manual subtitles). Each model is listed with the better of two long-form methods: pause-based pieces, with or without 2 s overlap (see *Long recordings* below). | Model | WER | CER | |---|---|---| | **this model** | **11.2 %** | **2.7 %** | | openai/whisper-large-v3-turbo | 19.6 % | 5.5 % | | nezamisafa/whisper-persian-v4 | 32.4 % | 10.8 % | Models that rewrite colloquial speech into formal Persian score worse on the YouTube sets, because the references are verbatim subtitles. That is a real difference in behaviour, not only in spelling. ## Usage ### Transformers ```python import torch from transformers import pipeline asr = pipeline("automatic-speech-recognition", model="givia/whisper-large-v3-turbo-persian", dtype=torch.float16, device="cuda:0") print(asr("audio.mp3", generate_kwargs={"language": "persian", "task": "transcribe"})["text"]) ``` #### Long recordings The `pipeline` call above handles one 30 s window. For longer audio, this approach gave the best results: 1. Cut the audio at pauses into pieces of up to about 26 s, choosing the longest pause in each window. 2. Decode each piece with **2 s of the neighbouring audio on both sides**, plus 0.25 s of silence padding, so words at the edges are heard in context. 3. Join neighbouring transcripts at the point where they agree on the same words, so nothing is duplicated. On the podcast above, this lowered the error rate on words at piece edges from 24 % to 12 % (about the same as mid-piece words), and overall WER from 12.1 % to 11.2 %. Plain 30 s windows without overlap can duplicate or fuse words at the boundaries. ### whisper.cpp ```sh whisper-cli -m ggml-persian-v3-turbo.bin -l fa -osrt -f audio.wav ``` ### FFmpeg (8.0+, built with `--enable-whisper`) ```sh ffmpeg -i video.mp4 -vn -af "whisper=model=ggml-persian-v3-turbo.bin:language=fa:queue=20:\ vad_model=ggml-silero-v5.1.2.bin:destination=video.srt:format=srt" -f null - ``` `ggml-silero-v5.1.2.bin` is whisper.cpp's voice-activity model (`models/download-vad-model.sh silero-v5.1.2`). The GGML file is fp16; quantize it with whisper.cpp's `quantize` tool if you need a smaller file. ## Training data (~236 h) | Source | Hours | Type | License | |---|---|---|---| | [Neyshekar](https://huggingface.co/datasets/shekar-ai/Neyshekar) (train split) | 95.6 | read speech, 134 speakers | CC0-1.0 | | YouTube videos with creator-uploaded Persian subtitles (94 channels, 289 videos) | 55.0 | conversational, podcasts, lectures | CC-BY (YouTube Creative Commons), see attribution below | | [Common Voice 26.0 fa](https://huggingface.co/datasets/aliyzd95/common_voice_26_0_fa) (curated train split) | 34.3 | read sentences, 214 speakers | CC0-1.0 | | [YODAS2](https://huggingface.co/datasets/espnet/yodas2) `fa000` (131 videos, manual subtitles) | 24.2 | conversational | CC-BY-3.0 | | [ManaTTS](https://huggingface.co/datasets/MahtaFetrat/Mana-TTS) (~15 h subset) | 15.2 | formal read speech, 1 speaker | CC0-1.0 | | [FLEURS](https://huggingface.co/datasets/google/fleurs) `fa_ir` train | 12.1 | read speech | CC-BY-4.0 | **Processing:** - **YouTube data:** only creator-uploaded subtitles were used, never YouTube's auto-generated captions. Videos had to carry a Creative Commons license at download time. Segments of up to 30 s were cut at subtitle boundaries and kept only if `whisper-large-v3-turbo` roughly agreed with the subtitle (CER ≤ 0.4). Each channel was capped at 5 h. - **Punctuation:** subtitles without punctuation were punctuated by an LLM (Claude). Each result was accepted only if the words were unchanged once punctuation was removed; otherwise the segment was dropped. - **Short clips:** clips from the read-speech corpora were packed per speaker into examples of up to 28 s. - **Labels:** Arabic/Persian letter variants were unified, and bracketed sound tags (e.g. «(موسیقی)») were removed. ## Training procedure Full fine-tune of all 809 M parameters on a single RTX 4070 Ti (12 GB): - 8-bit AdamW (bitsandbytes), learning rate 1e-5, 200 warmup steps, linear decay. - bf16 autocast, gradient checkpointing. - SpecAugment (5 % time and frequency masking). - Effective batch size 16, 2 epochs (4,648 steps, about 4 h). - The checkpoint was selected by WER on a held-out dev set: FLEURS-dev plus held-out YouTube channels. ## Limitations - **Hard audio:** noisy, overlapping or very fast speech is harder (about 23 % WER on YODAS2). Rare names and literary or technical vocabulary are the most common errors. - **Music:** on long stretches of music without speech, Whisper models can produce a word such as «موسیقی». Using a voice-activity detector (as in the FFmpeg example) avoids this. - **Dialects:** trained and evaluated on Iranian Persian. Dari and Tajik have not been tested. - **Numbers:** written as digits or words inconsistently, following the mix of conventions in the training text. - **Not streaming:** like all Whisper models, it transcribes chunks of audio, not a continuous stream. ## Attribution This model was trained on CC-BY-licensed material. We credit: - FLEURS (Google, CC-BY-4.0) - YODAS2 (ESPnet / CMU, CC-BY-3.0, and the creators of its videos) - The creators of the following YouTube channels, whose Creative Commons videos and subtitles were used (channel — videos used — hours of training audio) If you are a rights holder and believe material was used incorrectly, please open a discussion on this repository.
YouTube channels (94) | Channel | Videos | Hours | |---|---|---| | [Shiawaves Persian اخبار شیعه](https://www.youtube.com/channel/UC0zFZvjR6mOFS6wKAd9PnAg) | 79 | 5.0 | | [داستان های واقعی و عاشقانه](https://www.youtube.com/channel/UCQcROpeCkPMJthb4e4CF1JQ) | 7 | 5.0 | | [Mansoor Samani](https://www.youtube.com/channel/UCke0wjeF_CNkb5yVYopaI0w) | 5 | 5.0 | | [اکوایران - ECOIRAN](https://www.youtube.com/channel/UCPFskIzFclgXhmLWbwSL5uA) | 3 | 3.9 | | [جادوی داستان با سحر ](https://www.youtube.com/channel/UCXA0H5daZ6mchjoKYACYS1Q) | 4 | 3.6 | | [Mama Parvin](https://www.youtube.com/channel/UCEx1ZhNMpKnstRqVw7VBZeg) | 5 | 2.8 | | [Zamaneh Media](https://www.youtube.com/channel/UC4IPXv7mHV08eSmqg8RmwVA) | 10 | 2.6 | | [MehrTv / Ali Farhang Mehr](https://www.youtube.com/channel/UC-mKi1k--PTmqagL-8aWZdQ) | 11 | 2.5 | | [Student of the Game / باشگاه دانشجویان فوتبال](https://www.youtube.com/channel/UC2QkBREXupaiLskEH1WVFNg) | 1 | 2.4 | | [پادکست قاب تاریخ](https://www.youtube.com/channel/UCuRQTEpLPqNnYmLmLlpUA7w) | 4 | 1.8 | | [ده دقیقه مکث](https://www.youtube.com/channel/UCBBBX5g9cwQ1hrVwaoaDULw) | 11 | 1.7 | | [chetflixcrime](https://www.youtube.com/channel/UCiWJDeiUf8lrW68GbL1EpIw) | 4 | 1.3 | | [مجلۀ بخارا / Bukhara Magazine](https://www.youtube.com/channel/UC0dbmVs9GObODvbx5B_dlAQ) | 1 | 1.2 | | [ClimaVids](https://www.youtube.com/channel/UCoW7-QfJoFpWcwA9PJVnKZw) | 2 | 1.1 | | [Bijan](https://www.youtube.com/channel/UCbZ0SR7U8hSuytjcbnI6ASg) | 4 | 1.0 | | [The Gate of History](https://www.youtube.com/channel/UCZcHwkoZK_2nd8mAD15Is2Q) | 1 | 1.0 | | [Ketab Aval](https://www.youtube.com/channel/UCr3ABnvk1LqOdD3igmHAv5Q) | 1 | 0.9 | | [Mücteba Nesiri](https://www.youtube.com/channel/UCTjI1TGIXs2HlGa5iY4Zc5g) | 3 | 0.8 | | [Netfishix](https://www.youtube.com/channel/UCUB2PnbN4HEQXfpk0UcDekQ) | 3 | 0.8 | | [AliGgamingLab ](https://www.youtube.com/channel/UCtgiF2F3mnPQNH3Znqckoqw) | 4 | 0.8 | | [BenizTor](https://www.youtube.com/channel/UClMND-d2nDXFqfHAh9-KcYQ) | 5 | 0.8 | | [ShirazLinux](https://www.youtube.com/channel/UCdRTe6CH6bZaWDsB4RnlTRw) | 2 | 0.7 | | [سوره صادقی](https://www.youtube.com/channel/UCRuq9wE62HSD_Bu3KXDBoIQ) | 1 | 0.5 | | [Erfan Haghi / عرفان حقی](https://www.youtube.com/channel/UCV5KuMHi-iXPMV2K6m5oVOA) | 1 | 0.5 | | [Kaka Aref](https://www.youtube.com/channel/UCdBRMw7Denqc3yQ8Je-uIEQ) | 2 | 0.4 | | [Irtec](https://www.youtube.com/channel/UC4QUQsMfKU8ADjXQzMEr3CQ) | 1 | 0.4 | | [افسانه درمانی ](https://www.youtube.com/channel/UCHG6WXBsck66QXoPygEKDAQ) | 2 | 0.3 | | [Here&now](https://www.youtube.com/channel/UClreNgPVcu8KQdu_94_wK4w) | 1 | 0.3 | | [focus_podcast](https://www.youtube.com/channel/UCaY6HHofr2HhX3IMJk0Uyew) | 1 | 0.3 | | [Danikachal](https://www.youtube.com/channel/UCFh9Q7HFgfXIZIrrKt8sZMQ) | 2 | 0.3 | | [Solmaz Barghgir سولماز برقگیر](https://www.youtube.com/channel/UCfe4OH8q35QX7_12Grqa2kQ) | 1 | 0.3 | | [Malakut](https://www.youtube.com/channel/UCV2Tba4ugsblgRrENw7K7CQ) | 7 | 0.3 | | [Gardening traning](https://www.youtube.com/channel/UC4pt4LRHD0VG4SxAjaVFOfg) | 3 | 0.2 | | [Mr BADANSAZ](https://www.youtube.com/channel/UCwhsIG0I2nGBGvEgq-3lrLA) | 2 | 0.2 | | [Hamed Maleklou](https://www.youtube.com/channel/UCMn9f9B1sqS3Gv6zGlbW4kw) | 1 | 0.2 | | [Last Estus](https://www.youtube.com/channel/UCtS7JP8MSww01WIKRWDNzdg) | 1 | 0.2 | | [Mahdi JEWELRY](https://www.youtube.com/channel/UCbAc95KoNxnIjV-Ltp3C-6w) | 2 | 0.2 | | [Mohammad Rabiee](https://www.youtube.com/channel/UC7K-USjKdvvIzjO5csKWfQg) | 6 | 0.2 | | [soober land](https://www.youtube.com/channel/UCWn_jvUGIXrbppKDjWwVoaQ) | 1 | 0.2 | | [فیلم خوب چی ببینیم؟](https://www.youtube.com/channel/UCa2JtOC_sD0Oz6Ut6ziDMDQ) | 1 | 0.2 | | [Hossein Mahmoodi - AI & Productivity](https://www.youtube.com/channel/UC4rexTLP-_1DAgXwsKC0UDQ) | 17 | 0.2 | | [Cheratube](https://www.youtube.com/channel/UCPHukqhyDm46sTMFpnZEjxQ) | 1 | 0.2 | | [شجره طیبه](https://www.youtube.com/channel/UC9Lmt1QnldbrSot6KtaJ6WQ) | 3 | 0.2 | | [Ben talks](https://www.youtube.com/channel/UCZzLbEUO8nLO9BEguGbmMQQ) | 3 | 0.2 | | [تلاش مدیا](https://www.youtube.com/channel/UCB6iJvVhPQ3HBWjbyeFs7wg) | 2 | 0.1 | | [goodmood4life](https://www.youtube.com/channel/UC9IzZm4enrFdABOMI1LBTYA) | 2 | 0.1 | | [اشراف](https://www.youtube.com/channel/UC23ylx7RaJx0oh9U6waiCjA) | 1 | 0.1 | | [Knitwear Training](https://www.youtube.com/channel/UCDfZHRTq2z7BqlRhWCIbjXQ) | 1 | 0.1 | | [Amir Tataloo](https://www.youtube.com/channel/UCQSqpl0NJPpLSecnfFsJCzg) | 1 | 0.1 | | [Sprouts فارسی](https://www.youtube.com/channel/UCzx5i7cPwt-Bgson-SRK0Ow) | 1 | 0.1 | | [DANESHKADEH](https://www.youtube.com/channel/UC1NZ1ZFKx7QD3IUExWH9nEg) | 1 | 0.1 | | [Ahmadrezadl](https://www.youtube.com/channel/UCFlIJXasKUGbbWEOQJlkzsA) | 2 | 0.1 | | [Easy Peasy English / انگلیسی مثل آب خوردن](https://www.youtube.com/channel/UC_8v3vEyqkw-015NV1tCaDA) | 2 | 0.1 | | [Sobhan Ganji](https://www.youtube.com/channel/UC2ErIIyvDA6jEwAsqrjPyig) | 3 | 0.1 | | [AhmouS Studio](https://www.youtube.com/channel/UC71CteY8Bgbmyfo3g9ZWqOA) | 2 | 0.1 | | [💲همه چیز درباره ثروت](https://www.youtube.com/channel/UCkMGMeeyDWaoQX1KFrAoPuQ) | 1 | 0.1 | | [mehdisedighinasab](https://www.youtube.com/channel/UCxxyP1jwcXfeAoJStvSSUFw) | 1 | 0.1 | | [Rasoull Raeisi](https://www.youtube.com/channel/UCkQ2q9Mhhva58nowooMxkBw) | 1 | 0.1 | | [MasterAlive](https://www.youtube.com/channel/UCvW3lY_kOVy8Nl2nwMQhhHg) | 1 | 0.1 | | [NamiMusic](https://www.youtube.com/channel/UCUKmYTc-r-922WV_cVY_NHQ) | 1 | 0.1 | | [editland_3soot](https://www.youtube.com/channel/UCfShZCYNrluR0UaKH8iodLg) | 1 | 0.1 | | [Gorbe Godratmand](https://www.youtube.com/channel/UCGMiFgp4vWUBmdlCwluIH-w) | 1 | 0.0 | | [تارابانوtarabano](https://www.youtube.com/channel/UCKVRi7w-Dw4A2s2epbbI_Yg) | 1 | 0.0 | | [Vida Cooks](https://www.youtube.com/channel/UCUJSqWIQ9af2DX4hHx5bttg) | 1 | 0.0 | | [paapak02](https://www.youtube.com/channel/UCENXHLxv7STOuv2Lez4U26A) | 1 | 0.0 | | [Kooros Farhati](https://www.youtube.com/channel/UCiu91lwNLcqOyPyzoqcaxxg) | 1 | 0.0 | | [BBC Persian](https://www.youtube.com/channel/UCHZk9MrT3DGWmVqdsj5y0EA) | 1 | 0.0 | | [AVAYEVAV](https://www.youtube.com/channel/UCfwKjMgtcm3x4YVSDeQPVXQ) | 1 | 0.0 | | [طنز اجتماعی آقاجون](https://www.youtube.com/channel/UCYjMBcal4SZLghD6LZZp3Vg) | 1 | 0.0 | | [Zabi Visual Diary](https://www.youtube.com/channel/UClH0hdmfAkD5l9lpG6e-7mA) | 1 | 0.0 | | [Mehran AI](https://www.youtube.com/channel/UCk8O0r7uY-qZRHNjZViFxZg) | 1 | 0.0 | | [NAVI ناوی](https://www.youtube.com/channel/UCI9vykbUwEeMRakCp5LFycg) | 1 | 0.0 | | [TRK Poetry & Litera](https://www.youtube.com/channel/UCtnKKJXaZ-DK1YOFh3k3WXA) | 1 | 0.0 | | [Baran Media](https://www.youtube.com/channel/UCaXHRUr1inoCyMWyRGb_B-w) | 1 | 0.0 | | [Sher-o-Fenjan](https://www.youtube.com/channel/UCx8Kf9yW-BulIFYbgfgzVbw) | 1 | 0.0 | | [Barfin ](https://www.youtube.com/channel/UC18u2O7VGQiY4qwluWfXRyQ) | 1 | 0.0 | | [Sama News /سمانیوز](https://www.youtube.com/channel/UCz8k85VS5o3AIZ8SW9vVQMQ) | 1 | 0.0 | | [Edward Nouri ](https://www.youtube.com/channel/UCokWdK78XaNaH-7YQspD5MQ) | 2 | 0.0 | | [Fact Curved / منحنی حقیقت](https://www.youtube.com/channel/UCLaZ1ITYsY_GNqG5N0NjnoQ) | 1 | 0.0 | | [Great With Ai](https://www.youtube.com/channel/UC2Jf10KhXBtfYtrduvs-YMg) | 1 | 0.0 | | [Aisan Eslami](https://www.youtube.com/channel/UC0S1fcYQxKCEIEFT6BLMc7w) | 1 | 0.0 | | [Immersive Language School](https://www.youtube.com/channel/UCEh64hKPZZdAeOvDrYzX_Bw) | 1 | 0.0 | | [mehsen](https://www.youtube.com/channel/UC042DJhjdsKnTmKKOwdmGjg) | 2 | 0.0 | | [YekEsfahaniDarParis 2](https://www.youtube.com/channel/UCcmub4M4abFWP5Ox99UEKWw) | 1 | 0.0 | | [مارکو ایرانی ](https://www.youtube.com/channel/UCRNSYxSdwHhQCQwL83zCIzA) | 1 | 0.0 | | [YekEsfahani DarParis](https://www.youtube.com/channel/UC2J5HPRctIYYWOC6mR4nHJA) | 1 | 0.0 | | [Bet-luckers](https://www.youtube.com/channel/UC41xA-4v3BnSuDsH3Kwz15A) | 1 | 0.0 | | [🔥mohammad52🔥](https://www.youtube.com/channel/UCQnJl6RL87hnNKiSGGfARLQ) | 1 | 0.0 | | [YoutubyShow](https://www.youtube.com/channel/UCwnroOrCqpvkvdOzJhjH6cw) | 1 | 0.0 | | [داستان و دانستنی با آیا خبر داری؟](https://www.youtube.com/channel/UCVNXB6iChrAjlILvtWXvIMQ) | 1 | 0.0 | | [Kimia's diary](https://www.youtube.com/channel/UCoGrBxhVwEG992wd3WRHmKA) | 1 | 0.0 | | [Teleformance ● تمرین اجرا](https://www.youtube.com/channel/UCqXfclnknLcRd9hBdImdOeA) | 1 | 0.0 | | [ByRubik](https://www.youtube.com/channel/UCLCQEFmLXEHIcauUI3LY0vw) | 1 | 0.0 | | [Orchid-Media ارکید میدیا](https://www.youtube.com/channel/UCypl3psoA1mzXpprtJv9w9Q) | 1 | 0.0 |