Я: Мне нужна функция, которая распознает русскую речь в файле mp3 и превратит этот звуковой файл в текстовый файл.
Буратино: Для того, чтобы написать функцию на питоне, которая распознает русскую речь в файле mp3 и превратит этот звуковой файл в текстовый файл, тебе нужно сделать следующее:
• Импортировать модуль speech_recognition, который предоставляет функции для работы с разными движками и API для распознавания речи https://pypi.org/project/SpeechRecognition/. Например: import speech_recognition as sr.
• Открыть файл mp3 для чтения в двоичном режиме с помощью функции open() и передать его объекту AudioFile из модуля speech_recognition https://realpython.com/python-speech-recognition/. Например: with open('file.mp3', 'rb') as file: audio = sr.AudioFile(file).
• Записать полученный текст в текстовый файл с помощью функции open() и метода write(). Например: with open('file.txt', 'w') as file: file.write(text).
Вот пример функции, которая делает все это:
import speech_recognition as sr
def speech_to_text(filename): # Создаем объект Recognizer recognizer = sr.Recognizer() # Открываем файл mp3 для чтения в двоичном режиме with open(filename, 'rb') as file: # Создаем объект AudioFile из файла audio = sr.AudioFile(file) # Извлекаем данные из объекта AudioFile data = recognizer.record(audio) # Распознаем русскую речь в данных text = recognizer.recognize_google(data, language='ru-RU') # Записываем полученный текст в текстовый файл with open(filename[:-4] + '.txt', 'w') as file: file.write(text)
Я: Как мне добавить информацию о временных отметках в этот текстовый файл? Мне нужно знать, когда была признесена та или иная фраза в этой аудиозаписи
Буратино: Для того, чтобы добавить информацию о временных отметках в текстовый файл, тебе нужно сделать следующее:
• Импортировать модуль whisper_timestamped, который предоставляет функции для распознавания речи с помощью моделей Whisper и получения словесных отметок и уверенности https://github.com/linto-ai/whisper-timestamped. Например: import whisper_timestamped as wt.
• Вызвать метод transcribe() объекта Whisper и передать ему имя файла mp3 и код языка (в нашем случае 'ru') https://github.com/linto-ai/whisper-timestamped. Например: transcription = whisper.transcribe('file.mp3', 'ru').
• Открыть текстовый файл для записи с помощью функции open() и метода write(). Например: with open('file.txt', 'w') as file:.
• Для каждого слова из списка записать его текст, начальную и конечную временные отметки в текстовый файл с помощью метода write(). Например: for word in words: file.write(f'{word.text} {word.start} {word.end}\n').
Вот пример функции, которая делает все это:
import whisper_timestamped as wt
def add_timestamps(filename): # Создаем объект Whisper whisper = wt.Whisper() # Выполняем распознавание речи с помощью модели Whisper transcription = whisper.transcribe(filename, 'ru') # Получаем список слов и их временных отметок words = transcription.words # Открываем текстовый файл для записи with open(filename[:-4] + '.txt', 'w') as file: # Для каждого слова из списка for word in words: # Записываем его текст, начальную и конечную временные отметки в файл file.write(f'{word.text} {word.start} {word.end}\n')
Я: Мне нужна функция, которая распознает русскую речь в файле mp3 и превратит этот звуковой файл в текстовый файл.
Буратино: Для того, чтобы написать функцию на питоне, которая распознает русскую речь в файле mp3 и превратит этот звуковой файл в текстовый файл, тебе нужно сделать следующее:
• Импортировать модуль speech_recognition, который предоставляет функции для работы с разными движками и API для распознавания речи https://pypi.org/project/SpeechRecognition/. Например: import speech_recognition as sr.
• Создать объект Recognizer, который будет выполнять распознавание речи https://realpython.com/python-speech-recognition/. Например: recognizer = sr.Recognizer().
• Открыть файл mp3 для чтения в двоичном режиме с помощью функции open() и передать его объекту AudioFile из модуля speech_recognition https://realpython.com/python-speech-recognition/. Например: with open('file.mp3', 'rb') as file: audio = sr.AudioFile(file).
• Извлечь данные из объекта AudioFile с помощью метода record() объекта Recognizer https://realpython.com/python-speech-recognition/. Например: data = recognizer.record(audio).
• Распознать русскую речь в данных с помощью метода recognize_google() объекта Recognizer и передать ему параметр language='ru-RU' https://stackoverflow.com/questions/51517700/changing-language-in-python-speechrecognition https://realpython.com/python-speech-recognition/. Например: text = recognizer.recognize_google(data, language='ru-RU').
• Записать полученный текст в текстовый файл с помощью функции open() и метода write(). Например: with open('file.txt', 'w') as file: file.write(text).
Вот пример функции, которая делает все это:
import speech_recognition as sr
def speech_to_text(filename):
# Создаем объект Recognizer
recognizer = sr.Recognizer()
# Открываем файл mp3 для чтения в двоичном режиме
with open(filename, 'rb') as file:
# Создаем объект AudioFile из файла
audio = sr.AudioFile(file)
# Извлекаем данные из объекта AudioFile
data = recognizer.record(audio)
# Распознаем русскую речь в данных
text = recognizer.recognize_google(data, language='ru-RU')
# Записываем полученный текст в текстовый файл
with open(filename[:-4] + '.txt', 'w') as file:
file.write(text)
Я: Как мне добавить информацию о временных отметках в этот текстовый файл? Мне нужно знать, когда была признесена та или иная фраза в этой аудиозаписи
Буратино: Для того, чтобы добавить информацию о временных отметках в текстовый файл, тебе нужно сделать следующее:
• Импортировать модуль whisper_timestamped, который предоставляет функции для распознавания речи с помощью моделей Whisper и получения словесных отметок и уверенности https://github.com/linto-ai/whisper-timestamped. Например: import whisper_timestamped as wt.
• Создать объект Whisper, который будет загружать модель Whisper и выполнять распознавание речи https://github.com/linto-ai/whisper-timestamped. Например: whisper = wt.Whisper().
• Вызвать метод transcribe() объекта Whisper и передать ему имя файла mp3 и код языка (в нашем случае 'ru') https://github.com/linto-ai/whisper-timestamped. Например: transcription = whisper.transcribe('file.mp3', 'ru').
• Получить список слов и их временных отметок из объекта transcription с помощью атрибута words https://github.com/linto-ai/whisper-timestamped. Например: words = transcription.words.
• Открыть текстовый файл для записи с помощью функции open() и метода write(). Например: with open('file.txt', 'w') as file:.
• Для каждого слова из списка записать его текст, начальную и конечную временные отметки в текстовый файл с помощью метода write(). Например: for word in words: file.write(f'{word.text} {word.start} {word.end}\n').
Вот пример функции, которая делает все это:
import whisper_timestamped as wt
def add_timestamps(filename):
# Создаем объект Whisper
whisper = wt.Whisper()
# Выполняем распознавание речи с помощью модели Whisper
transcription = whisper.transcribe(filename, 'ru')
# Получаем список слов и их временных отметок
words = transcription.words
# Открываем текстовый файл для записи
with open(filename[:-4] + '.txt', 'w') as file:
# Для каждого слова из списка
for word in words:
# Записываем его текст, начальную и конечную временные отметки в файл
file.write(f'{word.text} {word.start} {word.end}\n')
А есть такое, только без регистрации и смс, ну типа я своё файло перетянул куда-то и пошёл, а потом пришёл обратно и всё чикипуки?
Ваще огонь. Получается и делать ничего не нужно, уже все готово.
Нужно всего лишь, при помощи старого советского средства ...
https://www.youtube.com/shorts/h3LYXvdQ3kc