Задать вопрос
@KozacheShapka

Как сделать так чтобы оно обрабатывало аудио?

При обработки и экспорте аудио длиной 2:47, выводятся такие звуки, не обрабатывая само аудио с длиной 0:01 - 0:02 (можете послушать тут и тут.) Как сделать так чтобы оно обрабатывало аудио? Такое чуство что файл он и не юзал, хотя прописано.

@bot.message_handler(commands=['rate'])
def handle_rate_command(message):
    # Получаем аргументы из сообщения и преобразуем их в число
    arguments = message.text.split()[1:]
    rate = float(arguments[0])
    pitch = float(arguments[1])

    # Получаем аудио-файл из сообщения
    audio = bot.get_file(message.reply_to_message.audio.file_id)
    audio_file = bot.download_file(audio.file_path)



    # Сохраняем аудио-файл на диск
    file_name = audio.file_unique_id + '.' + audio.file_path.split('.')[-1]
    file_path = f"media/{file_name}"
    with open(file_path, 'wb') as f:
        f.write(audio_file)

    # Конвертируем аудио-файл в объект PyDub
    audio_segment = AudioSegment.from_file(file_path, format=file_path.split('.')[-1])

    # Изменяем скорость и тональность аудио и сохраняем результат
    modified_audio = audio_segment._spawn(audio_segment.raw_data, overrides={
        "frame_rate": int(audio_segment.frame_rate * rate),
        "pitch": pitch
    })
    modified_file_name = 'modified_' + file_name
    modified_file_path = f"media/{modified_file_name}"
    modified_audio.export(modified_file_path, format=file_path.split('.')[-1])

    # Отправляем измененный аудио-файл пользователю
    with open(modified_file_path, "rb") as f:
        bot.send_voice(message.chat.id, f)

    # Удаляем файлы
    os.remove(file_path)
    os.remove(modified_file_path)
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы