Maison  >  Article  >  Périphériques technologiques  >  si rapide! Reconnaissez la parole vidéo en texte en quelques minutes seulement avec moins de 10 lignes de code

si rapide! Reconnaissez la parole vidéo en texte en quelques minutes seulement avec moins de 10 lignes de code

WBOY
WBOYavant
2024-02-27 13:55:02539parcourir

si rapide! Reconnaissez la parole vidéo en texte en quelques minutes seulement avec moins de 10 lignes de code

Bonjour à tous, je suis Kite

Il y a deux ans, le besoin de convertir des fichiers audio et vidéo en contenu texte était difficile à réaliser, mais maintenant il peut être facilement résolu en quelques minutes seulement.

On dit que afin d'obtenir des données de formation, certaines entreprises ont entièrement exploré des vidéos sur des plateformes de vidéos courtes telles que Douyin et Kuaishou, puis ont extrait l'audio des vidéos et les ont converties sous forme de texte pour être utilisées comme corpus de formation pour modèles de mégadonnées.

Si vous avez besoin de convertir des fichiers vidéo ou audio en texte, vous pouvez essayer cette solution open source disponible aujourd'hui. Par exemple, vous pouvez rechercher les moments précis où apparaissent les dialogues dans les programmes de cinéma et de télévision.

Sans plus attendre, entrons dans le vif du sujet.

Whisper

Cette solution est le Whisper open source d'OpenAI. Bien sûr, il est écrit en Python. Il vous suffit d'installer quelques packages, puis d'écrire quelques lignes de code et d'attendre un moment (en fonction des performances de votre machine). et la longueur audio et vidéo (différente), le contenu textuel final sort, c'est aussi simple que cela.

Adresse de l'entrepôt GitHub : https://github.com/openai/whisper

Fast-Whisper

Bien qu'il soit assez simplifié, il n'est toujours pas suffisamment rationalisé pour les programmeurs. Après tout, les programmeurs ont tendance à préférer la simplicité et l’efficacité. Bien qu'il soit relativement facile à installer et à appeler Whisper, vous devez toujours installer PyTorch, ffmpeg et même Rust séparément.

C'est ainsi qu'est né Fast-Whisper, qui est plus rapide et plus simple que Whisper. Fast-Whisper n'est pas seulement une simple encapsulation de Whisper, mais une reconstruction du modèle Whisper d'OpenAI à l'aide de CTranslate2. CTranslate2 est un moteur d'inférence efficace pour le modèle Transformer.

Pour résumer, il est plus rapide que Whisper. Le communiqué officiel est qu'il est 4 à 8 fois plus rapide que Whisper. Non seulement il prend en charge le GPU, mais il prend également en charge le CPU, et même mon Mac cassé peut être utilisé.

Adresse de l'entrepôt GitHub : https://github.com/SYSTRAN/faster-whisper

L'utilisation ne prend que deux étapes.

  1. Installer les packages de dépendances
pip install faster-whisper
  1. Écrire du code,
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))

Oui, c'est aussi simple que cela.

Que puis-je faire

Il se trouve qu'il y a un ami qui veut faire de courtes vidéos et publier des vidéos de littérature sur la soupe au poulet qui proviennent d'entretiens avec des personnes célèbres. Cependant, il ne voulait pas revoir la vidéo en entier, il voulait juste utiliser le moyen le plus rapide pour obtenir le contenu du texte, puis lire le texte, car lire du texte est beaucoup plus rapide que regarder une vidéo, et cela peut aussi être cherché.

Laissez-moi juste vous dire, si vous n'avez même pas la piété de regarder une vidéo complète, comment bien gérer un compte ?

Alors j'en ai fait un pour lui, en utilisant Fast-Whisper.

Client

Le client utilise Swift et ne prend en charge que Mac.

  1. Sélectionnez une vidéo ;
  2. Puis cliquez sur "Extraire le texte", puis l'interface Python sera appelée et vous devrez attendre un moment ;
  3. Chargez le texte analysé et les heures de début et de fin qui apparaissent ; Sélectionnez une heure de début et un événement de fin
  4. Cliquez sur le bouton "Exporter", et le clip vidéo sera exporté
, durée 00:10

Côté serveur

Le côté serveur est bien sûr ; Python, puis packagé avec Flask, ouvrez l'interface avec le monde extérieur.

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)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer