Отзывы фрилансеров:
+ 1
- 0
Зарегистрирован на сайте 9 месяцев
Бюджет:
12 000 руб
149.94 $ — 127.32 €
Техническое задание на разработку программы для обработки WAV-файлов
Цель:
Разработать программу для объединения нескольких WAV-файлов, содержащих записи разговоров, в единый WAV-файл с добавлением информации о номере звонка перед каждой записью.
Задачи:
1. Реализовать возможность выбора и загрузки нескольких WAV-файлов.
2. Обеспечить объединение выбранных WAV-файлов в один WAV-файл.
3. Перед каждой записью в объединенном WAV-файле должен добавляться сгенерированный файл со звуковым обозначением номера звонка (номер записи).
Требования:
Программа должна работать с WAV-файлами стандартного формата (PCM 16-bit, 44.1 kHz).
Интерфейс программы должен быть интуитивно понятным и удобным для пользователя, предусматривать выбор и указание нескольких файлов для объединения.
- Сгенерированный файл с номером звонка должен быть отчетливо слышен перед каждой записью в итоговом WAV-файле
. Программа должна генерировать выходной файл с корректными аудиохарактеристиками, аналогичными исходным файлам (например, формат и частота дискретизации).
Ожидаемый результат:
На выходе должен получаться один WAV-файл, содержащий все исходные аудиозаписи в последовательности, с добавленным сгенерированным голосом маркером перед каждой записью, обозначающим порядковый номер звон
Краткое описание логики (из gpt) :
Выбор файлов
По нажатию кнопки «Выбрать WAV-файлы» открывается стандартный диалог выбора файлов. Пользователь может выбрать несколько .wav. Выбранные файлы отображаются в списке.
Генерация итогового файла
По нажатию кнопки «Объединить» пользователь выбирает, куда сохранить готовый .wav.
Для каждого выбранного файла по порядку создаётся краткий TTS-фрагмент (например, «Номер звонка 1», «Номер звонка 2» и т.д.).
TTS-фрагмент сохраняется во временный WAV-файл, после чего мы сразу конвертируем его в нужные параметры (44.1 kHz, 16-bit, моно).
Аналогично конвертируется исходный .wav (чтобы у всех фрагментов были одинаковые параметры).
Оба фрагмента добавляются (конкатенируются) к итоговому AudioSegment.
По окончании удаления временного файла анонса итоговый файл сохраняется под заданным пользователем именем.
Настройка синтезатора речи (pyttsx3)
При желании можно изменить скорость (engine.setProperty('rate', ...)), громкость, голос (если в системе доступно несколько голосов) и т.д.
Важно: Если у вас уже все WAV-файлы имеют одинаковые параметры (16 бит, 44.1 kHz, моно/стерео), и вас устраивает стерео (или иные) характеристики, вы можете упростить код, убрав этапы принудительной конвертации (convert_to_target_format), либо менять только частоту и битность, если требуется строгое соответствие ТЗ.
Такой скрипт даёт простейшую базовую реализацию. При необходимости его можно дорабатывать: добавлять прогресс-бар, более детальные настройки синтеза речи, возможность редактирования текстов анонсов, обработку ошибок и т.д.
Разделы:
Опубликован:
11.03.2025 | 11:29