импорт аудиофайла в МК

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

импорт аудиофайла в МК

Сообщение uwrtey »

Как импортировать небольшой аудио_файл во флешь или EEPROM память микроконтроллера.
Предполагаю использовать Мегу8 или 328.
Я так понимаю его сначала нужно оцифровать до примитивного уровня?
Можно конечно записать на флешку, а потом воспроизвести с помощью МК, но тут задача немного иная..
Каким образом можно оцифровать ?
не зная броду не лезь к вольтмоду
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: импорт аудиофайла в МК

Сообщение ploop »

Оцифровать цифровую информацию... Шикарно! :)))
Реклама
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

uwrtey писал(а):оцифровать до примитивного уровня?
я имел в виду что превратить файл в двоичный код. ( пишу я на Асме. )
Да и файл изначально нужно записать...
Хотя я сейчас думаю, а может его в компьютер записать не с помощью микрофона, а с помощью MAX232 и терминалки??? :))

Я хочу размножить брелоки от радиоворот в гараже...
не зная броду не лезь к вольтмоду
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: импорт аудиофайла в МК

Сообщение SmarTrunk »

Имелось в виду, что если файл - то он уже оцифрован. И если он WAW (т.е. сырое аудио без сжатия), то это уже почти то, что нужно, только с какой-то служебной информацией в начале файла. И этот файл можно писать во флеш МК, или (если большой), то на SD- (или какую нибудь)- карту флеш-памяти, подключать ее к МК.
Реклама
Эиком - электронные компоненты и радиодетали
pcb
Опытный кот
Сообщения: 833
Зарегистрирован: Пт авг 12, 2011 09:14:27
Откуда: Млечный путь/Земля/РФ/Екатеринбург

Re: импорт аудиофайла в МК

Сообщение pcb »

Курите PCM
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ
Реклама
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

SmarTrunk писал(а): И этот файл можно писать во флеш МК, или (если большой)
как произвести запись?
PCM?
Может пнете куда ни-будь? Почитать и примеры посмотреть..
Загуглить что-то мне так и не удалось.
не зная броду не лезь к вольтмоду
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: импорт аудиофайла в МК

Сообщение ploop »

как произвести запись?
Да прилинкуйте к коду отдельным текстовым файлом, компилятор соберёт потом всё в кучу, так и запишите.
Текстовик с данными создать скриптом, чтобы такого вида был:

Код: Выделить всё

  .db 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  3
  .db 3,  3,  3,  3,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  6,  6
  .db 6,  6,  6,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  9,  9,  9
  .db 9,  10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13
  .db 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17
... и тд
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: импорт аудиофайла в МК

Сообщение zero648 »

Или прикрепить отдельным файлом

Код: Выделить всё


...
Logon_Sound:
            .include "Logon_Sound_7.asm"
Critical_Stop:
            .include "Militseyskaya_kryakalka1.asm"
Navigation_Start:
            .include "Navigation_Start_7.asm"
...



"Logon_Sound_7.asm"

.db 0x3E,0x13  ; Длина массива
.db 0x81,0x83,0x84,0x84 
.db 0x7E,0x7A,0x77,0x7B,0x81,0x84,0x85,0x84,0x80,0x7C,0x79,0x79,0x7C,0x82,0x86,0x88 
.db 0x87,0x83,0x7C,0x79,0x7B,0x7F,0x84,0x86,0x87,0x86,0x83,0x7C,0x76,0x76,0x78,0x7C 
...
...
.db 0x7F,0x7D,0x7D,0x7E,0x82,0x84,0x83,0x82,0x81,0x81,0x83,0x84,0x83,0x7F,0x7C,0x7B 
.db 0x7D,0x7F,0x7F,0x7E,0x7E,0x7F,0x81,0x82,0x83,0x80 
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: импорт аудиофайла в МК

Сообщение ploop »

ploop писал(а):Да прилинкуйте к коду отдельным текстовым файлом
zero648 писал(а):Или прикрепить отдельным файлом
:)))
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: импорт аудиофайла в МК

Сообщение zero648 »

:sleep: :oops:
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

Текстовый файл то где взять?
Wav открыть с помощью блокнота ?
не зная броду не лезь к вольтмоду
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: импорт аудиофайла в МК

Сообщение Леонид Иванович »

В звуковом редакторе для уменьшения объема сначала нужно выбрать минимально подходящую частоту дискретизации и разрядность (прослушать, что получилось, можно на компьютере). Я выбирал 32 кГц 8 бит MONO. Затем сохранить в формате RAW (например, у Sound Forge есть такая возможность). Затем утилитой hex2text (присоединил) конвертировать файл в текстовый. В программе делал так:

Код: Выделить всё

const __flash char Sound[]={
#include "Sound32_8.dat"
};

//генерация звука с помощью PWM на выводе OC2:
#pragma vector = TIMER2_OVF_vect
__interrupt void Play(void)
{
  if(Pointer < TableSize)
  {
    OCR2 = Sound[Pointer];
    Pointer++;
  }
}

Вложения
Hex2text.zip
(5.24 КБ) 219 скачиваний
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

Спасибо, Леонид Иванович. Буду пробовать..
не зная броду не лезь к вольтмоду
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: импорт аудиофайла в МК

Сообщение ploop »

uwrtey писал(а):Текстовый файл то где взять?
Вон даже утилита есть. А так скрипт написать дело 15 минут.
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: импорт аудиофайла в МК

Сообщение mrFox »

кстати насчет ADPCM - что нашел
http://we.easyelectronics.ru/Soft/szhat ... adpcm.html
краткое описание, асемблерная процедура декодирование (100 тактов на сэмпл),
утилита конвертирования WAV в бинарный ADPCM (правда только 44кГц/стерео)

на 1МГц можно выводить звук 8кГц/моно, правда впритык
для себя в утилиту добавил вывод в С массив + любая частота + моно
можко сделать и вывод в асемблер
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

Не могу разобраться как пользоваться hex2text.


1) сначала я записываю аудиофайл
2) затем сжимаю его до моно, 8 бит, 32 кГц
3) затем сохраняю его как RAW файл
я если честно первый раз слышу, что аудио можно так сохранить - я думал токо фотки ( фотик у меня так сохраняет )
ну дык вот - RAW файл сохраняю ( можно 8 бит можно 16 бит - как правильно ? )
4) далее нужно RAW файл конвертнуть в TXT с помощью утилиты hex2text

вот 4 пункт мне не удается сделать - непойму почему...
открывается окно командной строки с сообщением "нажмите любую клавишу для продолжения" и все...


Если я открою RAW фал с помощью блокнота, то вижу вместо HEX - каракули - скорее всего это юникод ( UTF-8 ) или что то подобное ( там куча кирилицы )
Беру эти каракули и перевожу с помощью онлайн утилиты в HEX - получаю текст с 16ти ричной кодировкой.

Вот теперь мне нужно понять правильно ли я делаю ( тоесть, утилита Hex2text должна делать то-же самое или она конвертирует как то по другому.. ???? )

Ну и нужно понять какого черта HEX2TXT не работает??? ( У меня WIN7 )
Вон даже утилита есть. А так скрипт написать дело 15 минут.
Скрипт ??? Какой еще скрипт ? :)
Это .vbs что ли ???? Да куда мне...
Тут видите, очень много зависит от возраста, а если быть тонее от года рождения.
Те кто раньше родился застали и DOS и коммандную строку.
Я вырос отношусь к тому поколению, которое DELPHI юзает.
Это не оправдание, конечно, но, увы, знаний в этой области у меня не столько, сколько хотелось-бы...
А сейчас уже времени не хватает - нужно работать...
не зная броду не лезь к вольтмоду
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3483
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: импорт аудиофайла в МК

Сообщение smacorp »

uwrtey писал(а):сейчас уже времени не хватает - нужно работать...
Пару месяцев назад уже спрашивали о такой конвертации. Вот свеженаписаная утилита для этого - полистайте тему - http://radiokot.ru/forum/viewtopic.php? ... 4#p2378354
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

Спасибо.
Подскажите мне пожалуйста - правильно ли я понимаю алгоритм действий:

1) сначала я записываю аудиофайл
2) затем сжимаю его до моно, 8 бит, 32 кГц
3) затем сохраняю его как RAW файл
4) далее нужно RAW файл конвертнуть в TXT, который будет содержать HEX Или BIN в чистом виде

по идее я могу RAW открыть блокнотом, но при этом увижу каракули.
Каракули эти - это кодировка ASKII ( а скорее всего UTF-8 )
конвертирую эти каракули а любом конвертере ASCII to HEX
и сохраняю в блокнотике получившийся hex

правильно? или открывать RAW блокнотом лишено смысла ???

Перечитываю ту ветку, лихо Вы там сопливым носы утираете.. Гыы :))

П.С.
Качнул программку BinToText, но она тоже почему то не запускается.
У меня Win7 x86
вот скриншотом поймал
Изображение

ППС
Всё, кажется разобрался.
Создал в папке файл.bat
с текстом:
Start BinToTxt (имя файла).bin a
не зная броду не лезь к вольтмоду
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3483
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: импорт аудиофайла в МК

Сообщение smacorp »

uwrtey писал(а):или открывать RAW блокнотом лишено смысла ???
Да, лишено полностью.
uwrtey писал(а):Создал в папке файл.bat с текстом: Start BinToTxt (имя файла).bin a
Команда start лишняя, будет работать и без неё. И символ "а" тоже не нужен, он просто игнорируется.

Собственно и bat тоже лишний - запускается в командной строке (Пуск -> Программы -> Стандартные -> Командная строка): BinToTxt.exe входной_файл
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: импорт аудиофайла в МК

Сообщение uwrtey »

Да, лишено полностью.
Если не сложно, то объясните пожалуйста - почему?
не зная броду не лезь к вольтмоду
Ответить

Вернуться в «AVR»