Каталог
|
Запись аудиофайлов на микросхемы серии ISD17002019-08-09 Всі статті →
ПРОГРАММА ДЛЯ ЗАПИСИ АУДИОФАЙЛОВ В одном из недавних проектов мне потребовалось добавить озвучивание коротких текстовых сообщений. Шилды типа MP3-модуля с SD-картой показались мне избыточными, а «обучать» ARDUINO воспроизводить человеческую речь значило бы отдать практически все ресурсы микроконтроллера только на эту задачу, которая, по сути, является второстепенной. Да и памяти в нем для этих дел все равно не хватит. Непродолжительный поиск в интернете вывел на микросхемы записи и воспроизведения звука серии ISD1700, управляемые по SPI и способные хранить сообщения длительностью до нескольких минут. Голосовые сообщения были заранее подготовлены в виде отдельных аудиофайлов. Оставалось решить вопрос, как эти самые файлы записать в память микросхемы. Программаторы для них не сильно распространены, да и стоят намного дороже самой микросхемы. Находились варианты этот самый программатор создать (https://laserwar.ru/sound_lasertag.html), но я в гораздо большей степени программист, чем радиолюбитель, поэтому хотелось обойтись стандартным «железом» - плата ARDUINO подходила на роль такого программатора. После изучения даташита («ISD1700 Design Guide») стало ясно, что микросхема имеет свой аналоговый вход, через который прямо с компьютера можно записать нужные файлы. А чтобы автоматизировать этот процесс, решил написать соответствующее программное обеспечение – ISD1700 Record Tool. ISD1700 Record Tool позволяет записывать группу аудиофайлов в микросхемы серии ISD1700 через контроллер ARDUINO. Программное обеспечение состоит из двух частей: скетч для контроллера ARDUINO (ISD1700.ino) и приложения для Windows (ISD1700.exe). Скетч в ISD1700.ino написан для контроллеров ARDUINO на основе ATMega328P (проверено на контроллерах ARDUINO UNO и ARDUINO NANO), но, вероятно, может работать и на других контроллерах. Список поддерживаемых микросхем ISD1700: 1) ISD1730; 2) ISD1740; 3) ISD1750; 4) ISD1760; 5) ISD1790; 6) ISD17120; 7) ISD17150; 8) ISD17180; 9) ISD17210; 10) ISD17240. Для воспроизведения аудиофайлов Windows-приложение использует библиотеку BASS (http://www.un4seen.com/bass.html), которая поддерживает наиболее распространенные форматы: MP3, VAW, OGG и др. 1 Подключение На рис. 1 показан пример подключения компонентов. В ходе разработки программы я использовал готовый модуль записи вместо отдельной микросхемы серии ISD1700. Я настойчиво рекомендую ознакомиться с даташитом на эти микросхемы перед тем, как пробовать другие варианты подключения.
Рис. 1 – Пример подключения компонентов На рис. 2–6 показан мой вариант подключения компонентов c ARDUINO NANO.
Рис. 2 – Общий вид подключения компонентов автора На маленькой макетной плате я расположил два 3,5мм гнезда (рис. 3) для аудиовхода (слева) и подключения наушников (справа).
Подсоедините контроллер ARDUINO к вашему компьютеру с помощью USB-кабеля, откройте ISD1700.ino в среде ARDUINO и загрузите скетч как обычно (рис. 7).
Рис. 7 – Загрузка скетча в контроллер ARDUINO 3 Интерфейс приложения Запустите ISD1700.exe. На рис. 8 показано назначение элементов управления.
Рис. 8 – Назначение элементов управления
На рис. 9 показана типовая последовательность действий в Windows-приложении.
Рис. 9 – Типовая последовательность действий Описание: 1. Откройте аудиофайлы, которые вы хотите записать на ISD1700. При необходимости отсортируйте их простым перетаскиванием или удалите ненужные файлы, предварительно отметив их. Также вы можете воспроизвести каждый файл и настроить громкость. 2. Выберите COM-порт, к которому подключен контроллер ARDUINO (рис. 10).
4. Убедитесь, что суммарная длительность всех аудиофайлов меньше максимального времени записи в секундах для микросхемы ISD1700; в противном случае вы не сможете начать запись. 5. Нажмите кнопку «Start record». Прогресс можно наблюдать на панели. При необходимости нажмите «Stop record», чтобы прервать запись. 6. После завершения записи вы можете скопировать адреса всех файлов в буфер обмена. Рис. 11 демонстрирует разницу между двумя вариантами копирования.
Рис. 11 – Разница между двумя вариантами копирования: Использование модуля записи на базе ISD1700 позволяет воспроизвести аудиофайлы сразу после завершения процесса записи с помощью наушников и встроенных кнопок.
Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
alex
10.01.2022 18:37:32
Если работает, то это просто отлично!
Андрей
13.02.2020 14:29:32
Когда-то слышал более лет 10 назад про такие микросхемы - а именно мне довелось подрабатывать для конторы "умный дом" - у них офис несколько Км о метро "Дарница".Не думал даже, что они сейчас есть))
S.K.
13.02.2020 13:44:37
Загонять что-либо через аналоговый вход - это конкретный моветон.
Julio
19.08.2019 21:46:09
Спасибо! На одном таком модуле сделал эхо-репитер, а второй ждёт какой-нибудь идеи... )
Watchdog
10.08.2019 13:47:17
Было интересно.
|