Rumah >Peranti teknologi >AI >sangat laju! Kenali pertuturan video menjadi teks dalam beberapa minit sahaja dengan kurang daripada 10 baris kod

sangat laju! Kenali pertuturan video menjadi teks dalam beberapa minit sahaja dengan kurang daripada 10 baris kod

WBOY
WBOYke hadapan
2024-02-27 13:55:02652semak imbas

sangat laju! Kenali pertuturan video menjadi teks dalam beberapa minit sahaja dengan kurang daripada 10 baris kod

Hello semua, saya Kite

Dua tahun lalu, keperluan untuk menukar fail audio dan video kepada kandungan teks sukar dicapai, tetapi kini ia boleh diselesaikan dengan mudah dalam beberapa minit sahaja.

Dikatakan bahawa untuk mendapatkan data latihan, beberapa syarikat telah merangkak sepenuhnya video pada platform video pendek seperti Douyin dan Kuaishou, dan kemudian mengekstrak audio daripada video dan menukarnya ke dalam bentuk teks untuk digunakan sebagai korpus latihan untuk model data besar.

Jika anda perlu menukar fail video atau audio kepada teks, anda boleh mencuba penyelesaian sumber terbuka yang tersedia hari ini. Sebagai contoh, anda boleh mencari titik masa tertentu apabila dialog dalam filem dan rancangan televisyen muncul.

Tanpa berlengah lagi, mari kita ke intinya.

Whisper

Penyelesaian ini ialah Whisper sumber terbuka OpenAI Sudah tentu ia ditulis dalam Python Anda hanya perlu memasang beberapa pakej, kemudian tulis beberapa baris kod dan tunggu seketika (bergantung pada prestasi mesin anda. dan panjang audio dan video (berbeza), kandungan teks akhir keluar, semudah itu.

Alamat gudang GitHub: https://github.com/openai/whisper

Fast-Whisper

Walaupun ia agak dipermudahkan, ia masih tidak cukup diselaraskan untuk pengaturcara. Lagipun, pengaturcara sering lebih suka kesederhanaan dan kecekapan. Walaupun agak mudah untuk memasang dan memanggil Whisper, anda masih perlu memasang PyTorch, ffmpeg, dan juga Rust secara berasingan.

So Fast-Whisper wujud, yang lebih pantas dan lebih ringkas daripada Whisper. Fast-Whisper bukan sekadar enkapsulasi mudah Whisper, tetapi pembinaan semula model Whisper OpenAI dengan menggunakan CTranslate2. CTranslate2 ialah enjin inferens yang cekap untuk model Transformer.

Ringkasnya, ia lebih cepat daripada Whisper Kenyataan rasminya ialah 4-8 kali lebih cepat daripada Whisper. Ia bukan sahaja boleh menyokong GPU, tetapi ia juga boleh menyokong CPU, malah Mac saya yang rosak boleh digunakan.

Alamat gudang GitHub: https://github.com/SYSTRAN/faster-whisper

Ia hanya memerlukan dua langkah untuk digunakan.

  1. Pasang pakej pergantungan
pip install faster-whisper
  1. Tulis kod,
from faster_whisper import WhisperModelmodel_size = "large-v3"# Run on GPU with FP16model = WhisperModel(model_size, device="cuda", compute_type="float16")# or run on GPU with INT8# model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")# or run on CPU with INT8# model = WhisperModel(model_size, device="cpu", compute_type="int8")segments, info = model.transcribe("audio.mp3", beam_size=5)print("Detected language '%s' with probability %f" % (info.language, info.language_probability))for segment in segments:print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

Ya, semudah itu.

Apa yang boleh saya buat

Kebetulan ada seorang kawan yang ingin membuat video pendek dan menyiarkan beberapa video kesusasteraan sup ayam berasal dari temu bual dengan beberapa orang terkenal. Walau bagaimanapun, dia tidak mahu menonton keseluruhan video itu lagi, dia hanya mahu menggunakan cara terpantas untuk mendapatkan kandungan teks, dan kemudian membaca teks, kerana membaca teks jauh lebih pantas daripada menonton video, dan ia juga boleh dicari.

Biar saya katakan, jika anda tidak mempunyai ketakwaan untuk menonton video yang lengkap, bagaimana anda boleh menguruskan akaun dengan baik?

Jadi saya buatkan untuk dia, menggunakan Fast-Whisper.

Pelanggan

Pelanggan menggunakan Swift dan hanya menyokong Mac.

  1. Pilih video;
  2. Kemudian klik "Ekstrak Teks", kemudian antara muka Python akan dipanggil, dan anda perlu menunggu seketika; Pilih Masa mula dan acara tamat;
  3. Klik butang "Eksport", dan klip video akan dieksport
  4. , tempoh 00:10

Sebelah pelayan sudah tentu

Python, dan kemudian dibungkus dengan Flask, Buka antara muka kepada dunia luar.
from flask import Flask, request, jsonifyfrom faster_whisper import WhisperModelapp = Flask(__name__)model_size = "large-v2"model = WhisperModel(model_size, device="cpu", compute_type="int8")@app.route('/transcribe', methods=['POST'])def transcribe():# Get the file path from the requestfile_path = request.json.get('filePath')# Transcribe the filesegments, info = model.transcribe(file_path, beam_size=5, initial_prompt="简体")segments_copy = []with open('segments.txt', 'w') as file:for segment in segments:line = "%.2fs|%.2fs|[%.2fs -> %.2fs]|%s" % (segment.start, segment.end, segment.start, segment.end, segment.text)segments_copy.append(line)file.write(line + '\n')# Prepare the responseresponse_data = {"language": info.language,"language_probability": info.language_probability,"segments": []}for segment in segments_copy:response_data["segments"].append(segment)return jsonify(response_data)if __name__ == '__main__':app.run(debug=False)

Atas ialah kandungan terperinci sangat laju! Kenali pertuturan video menjadi teks dalam beberapa minit sahaja dengan kurang daripada 10 baris kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam