Как сделать из голосового сообщения аудиозапись Телеграмм Телеграм бот

Не любите ли вы аудиосообщения так, как не люблю их я? Если вы солидарны со мной, то есть выход. Можно, конечно, убеждать не слать вам голосовые сообщения, принципиально не слушать их, или можно пойти на встречу подобным, не самым культурным, в цифровом плане, людям и воспользоваться ботами.

Решили поискать ботов, которые бы преобразовывали аудиосообщения в текст, и, на удивление, они есть. Работают они по простому принципу, пересылаете полученное сообщение боту и через некоторое время получаете текст.

Текст голосового сообщения

Первый бот, который мы нашли и который рекомендуют чаще всего, называется «Текст голосового сообщения». Многие говорят, что текст он преобразует недостаточно качественно, в сравнении со следующим ботом из данного материала, но в моем случаи, всё наоборот. Видимо вопрос в специфики голосов среди вашего окружения.

Voicy

Следующего бота рекомендуют к распознаванию голосовых сообщений куда чаще, называется он «Voicy». И я был очень удивлён, обнаружив его у себя в списке. Как оказалось бот раньше назывался «Звукозавр» и при добавлении его в групповые чаты, он начинал ругаться на всех, кто слал звуковые файлы. Теперь бота перепрофилировали, и он распознает аудио и видеосообщения в текст.

Переводим голосовое сообщение в текст БЕСПЛАТНО | бот Телеграм голос в текст | @golos_in_text_bot

Яндекс.Музыка

Ну и бонус, бот «Яндекс.Музыки», он относится уже не к преобразованию звука в текст, а к распознаванию музыки. Записываете короткий фрагмент неизвестной вам мелодии и отправляете его боту, а тот сообщает вам название трека и исполнителя. По сути – это Shazam в виде бота в Telegram. Подписки на Яндекс.Музыку для пользования ботом – не нужно.

Еще по теме:  Анимированные Смайлики Телеграмм список

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Посмотрите также:

  • 15 популярных сервисов и программ для прослушивания…
  • Чат-бот Bing постепенно открывают для пользователей Google…
  • WWDC 2023 – очки дополненной реальности, MacBook Air 15, iOS…
  • Firefox тоже внедрит чат-бота на нейронной сети
  • Brave представил свои наработки для использования нейронных…
  • Google попытается вновь приучить нас к текстовым сообщениям…

Источник: fornote.net

Простейший голосовой помощник. Часть 2. Внедрение в telegram

По статье PYTHON: ПРОСТЕЙШИЙ ГОЛОСОВОЙ ПОМОЩНИК нам несколько раз писали в личные сообщение вопросы про возможность интеграции “голосового помощника” в telegram. Мы изначально не планировали этого делать, но потом задали себе вопрос – почему бы не попробовать?

Используемые библиотеки

Для решения данной задачи нам понадобятся следующие библиотеки.

Создание голосового сообщения из текста. Простой Telegram bot на Python.

  • telebot (pyTelegramBotAPI) – по словам автора библиотеки, простая, но расширяемая реализация на Python для Telegram Bot API.
  • requests – библиотека для обработки HTTP запросов.
  • random – библиотека для, как не странно, рандома.
  • speech_recognition – используем туже распозновалку голоса, что и в прошлой статье.
  • pyttsx3 – если раньше мы использовали консольный аналог say, то теперь нам нужно отправлять на сервера telegram голосовые файлы в формате oga
  • os – нам нужна для работы с файловой системой.
  • time – нужно только в одном моменте для sleep.

import telebot import requests import random import speech_recognition as sr import os import pyttsx3 import time

Сразу отмечу, что тут указаны не все, но мы постараемся ничего не пропустить по ходу статьи

Получение токена и создание оболочки бота

Одной из важных вещей, которым делится с нами Крестный отец – токен нашего бота. Его мы и указываем в коде. В статье токен изменен для соблюдения анонимности

Еще по теме:  Видно ли человеку в Телеграмме что с ним открыли чат

token = ‘fa3hnerpw25mga095mt125aga1si2lr!fk39sktndsawg’ bot = telebot.TeleBot(token)

Про ffmpeg

Так как в telegram использует в голосовых сообщениях файлы формата oga- (да не простой oga, а opus’овский), но мы можем обрабатывать библиотекой speech_recognition файлы формата wav, то на помощь придет к нам библиотека pydub, которой для работы нужно FFmpeg.

FFmpeg – это кроссплатформенное решение для записи, конвертации и записи аудио и видео. В нашем случае необходима для конвертации oga в wav и обратно. Для удобства FFpeg мы распаковали архив в директорию кода (ffmpeg был взят на сайте gyan.dev в разделе release). Про установку FFmpeg следует отметить, что корректно работать будет только после перезагрузки сервера или пк – это избавит нас от ошибки winerror 2.

В коде указываем для pydub расположение ffmpeg.

from pydub import AudioSegment AudioSegment.converter = os.getcwd() + «\ffmpeg\bin\ffmpeg.exe» AudioSegment.ffmpeg = os.getcwd() + «\ffmpeg\bin\ffmpeg.exe» AudioSegment.ffprobe = os.getcwd() + «\ffmpeg\bin\ffprobe.exe»

Инициализация голосового движка

Для формирования text-to-speech файлов нам понадобится pyttsx3. Особенностью pyttsx3 является возможность работы оффлайн, нам это навряд ли это пригодится, но отметить стоит. А также мы не забываем выбрать “голос” нашего бота.

import pyttsx3 text_to_speach = pyttsx3.init() voices = text_to_speach.getProperty(‘voices’) for voice in voices: print(‘———————‘) print(‘Имя: %s’ % voice.name) print(‘ID: %s’ % voice.id)
——————— Имя: Microsoft Irina Desktop — Russian ID: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_RU-RU_IRINA_11.0 ——————— Имя: Microsoft Zira Desktop — English (United States) ID: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_EN-US_ZIRA_11.0 ——————— Имя: Microsoft David Desktop — English (United States) ID: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_EN-US_DAVID_11.0

Не густо. Выбираем из доступных русскоговорящих голосов (или устанавливаем дополнительно в случае отсутствия или вкусовых предпочтений), в нашем примере имеется только IRINA, классический женский роботизированный голос. IRINA, I choose you.

RU_VOICE_ID = «HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_RU-RU_IRINA_11.0» text_to_speach.setProperty(‘voice’, RU_VOICE_ID)

Начало (/start)

Наконец, мы добрались до самого бота. На команду /start бот напишет нам небольшое приветствие.

Еще по теме:  Работоспособность web Telegram org

Подсказки (/help)

Наш новый бот будет иметь практически тоже самое, что его первая версия, но для понятия какой функционал имеется, воспользуемся командой /help.

Обработка контента

В Telegram используется достаточно большое количество типов контента: видео, аудио, голосовые сообщения, стикеры и т.д. И для каждого события отправки пользователем определённого типа сообщения мы можем задать различную обработку. В нашей сатье мы воспользуемся только text и voice. Начнем с text.

Обработка текстовых сообщений

Тип контента text – это отправленные пользователем текстовые сообщения. Наша версия первого бота с некоторыми улучшениями приведена ниже.

Обработка голосовых сообщений

С обработкой голосовых сообщений все несколько сложнее. Как мы упоминали ранее, telegram хранит голосовые сообщения в формате oga. Нам нужно их обработать в wav для обработки speech-to-text (можно этого и не делать – имеется отличный аналог от Яндекса с обработкой oga, но руки до него так и не дошли).

Текущие результаты

А вот так звучит наша Irina (Пример_1.mp3, Пример_2.mp3)

Планы развития

  • Развертывание на облачных серверах
  • Решить проблему с отправкой oga в telegram – не везде могут открываться отправленные потом голосовые сообщения
  • Внедрение “напоминалок” для пользователей бота
  • Изменение интерфейса на более юзерфрендли
  • Внедрение логирования событий сразу в бд
  • Отработка исключений, возникающих при нестандартных действиях пользователя
  • Перевод части существующего функционала в отдельные подфункции

Заключение

Вот мы и закончили с первой попыткой внедрения бота в telegram. Что-то получилось хорошо, что-то не очень. Не бойтесь комментировать и задавать вопросы – только так будет развиваться профсообщество и все мы вместе с ним!

Источник: newtechaudit.ru

Рейтинг
( Пока оценок нет )
Загрузка ...