/
nik1
/
audio2text
Обзор
Документация
Войти
/
nik1
/
audio2text
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
server/main.py
50 строк
2 KB
Константин Шершнев
Первый коммит: проект audio2text
28 янв 2025, 21:54
28 янв 2025, 21:54
5be2679
Код
Авторство
О чём код?
import sys import os from pydub import AudioSegment import speech_recognition as sr import whisper def audio_to_text(audio_file): audio = AudioSegment.from_file(audio_file) audio.export("temp.wav", format="wav") recognizer = sr.Recognizer() with sr.AudioFile("temp.wav") as source: audio_data = recognizer.record(source) try: text = recognizer.recognize_google(audio_data, language="ru-RU") return text except sr.UnknownValueError: return "Не удалось распознать аудио" except sr.RequestError as e: return f"Ошибка сервиса распознавания: {e}" def add_punctuation(text): # Используем Whisper для добавления знаков препинания model = whisper.load_model("small") result = model.transcribe("temp.wav", language="ru", task="transcribe") return result["text"] if __name__ == '__main__': # Получаем путь к аудиофайлу из аргументов if len(sys.argv) < 2: print("Не указан файл для обработки") sys.exit(1) audio_file = sys.argv[1] # Преобразуем аудио в текст text = audio_to_text(audio_file) # Добавляем пунктуацию if text and "не удалось распознать аудио" not in text: text_with_punctuation = add_punctuation(text) print(text_with_punctuation) else: print(text) # Удаляем временные файлы if os.path.exists("temp.wav"): os.remove("temp.wav")