Например TDA7294

Форум РадиоКот • Просмотр темы - импорт аудиофайла в МК
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн авг 25, 2025 15:03:56

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Сб июл 18, 2015 21:48:54 
Друг Кота
Аватар пользователя

Карма: 61
Рейтинг сообщений: 1548
Зарегистрирован: Вт окт 22, 2013 04:37:23
Сообщений: 3344
Откуда: Казань
Рейтинг сообщения: 3
uwrtey писал(а):
объясните пожалуйста - почему?
Вы знаете, что такое ASCII, но упускаете, что первые 32 символа этой кодировки являются управляющими. Блокнот не умеет правильно интерпретировать эти символы и искажает их. Откройте любой двоичный файл в блокноте, сохраните его оттуда под другим именем и сравните старый и новый файлы - они будут отличаться. Например, все нули (0x00) блокнот заменит на пробелы (0x20).

_________________
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезисты Ordyl Alpha 350 и AM 140.
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльная маска XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Сб июл 18, 2015 22:00:58 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2306
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Вполне исчерпывающий ответ. Спасибо большущее.
:beer:
Кстати, Ваша программа лучшая из представленных - так как формирует самый удобный массив данных.

Разрешите еще один вопрос задам:
Ваша программулина по разному декодирует 16ти_битные и 8ми_битные файлы.
конвертация 8ми битных мне понятна
например цифра 1 конвертируется в запись вида 0x31 ( ASKII - тут все понятно )

а вот 16ти битных - не понятна
на выходе получается 32ух битное число

Так и должно быть? Или этой программой можно обрабатывать только 8ми битные сэмплы?

прикрепил 16ти битный сэмпл в формате RAW
но вручную изменил его содержимое на цифру 1
программа выдает результат вида
0xFF 0xFE 0x31 0x00

ASKII - штука восьмибитная в принципе.
но есть же всякие ANSI и юникод типа UTF-8(16,32 и тд)
тут в обще не понимаю....


Вложения:
сэмпл.zip [114 байт]
Скачиваний: 107

_________________
не зная броду не лезь к вольтмоду
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Вс июл 19, 2015 00:01:02 
Друг Кота
Аватар пользователя

Карма: 61
Рейтинг сообщений: 1548
Зарегистрирован: Вт окт 22, 2013 04:37:23
Сообщений: 3344
Откуда: Казань
Рейтинг сообщения: 3
uwrtey писал(а):
прикрепил 16ти битный сэмпл в формате RAW
У меня встречный вопрос - из чего следует, что Ваш RAW 16-битный? Может просто это именно Вы знаете, что байты в этом файле следует интерпретировать, как 16-битный звук? А я же вижу просто последовательность данных длиной в 4 байта.

uwrtey писал(а):
Или этой программой можно обрабатывать только 8ми битные сэмплы?
uwrtey писал(а):
ASKII - штука восьмибитная в принципе. но есть же всякие ANSI и юникод типа UTF-8(16,32 и тд) тут в обще не понимаю
Вы запутались. Забудьте пока про ASCII, UTF-8 и прочие кодировки - это всё просто правила интерпретации. Положим, есть некий байт - в одной кодировке он интерпретируется так, в другой - эдак, в третьей - ещё как-то - но в своей сути это просто двоичные данные - "единица хранения и обработки цифровой информации; совокупность битов, обрабатываемая компьютером одномоментно" (Википедия). И моя (и подобные ей) утилита просто берёт этот байт и представляет его в 16-ричном формате и в текстовом виде, в котором его удобно прилинковать (вставить) в исходный текст программы.

Таким образом, утилита не знает и не должна знать (такое было ТЗ) какие данные обрабатывает. Для неё любой файл это просто поток одиночных байтов. Уже Вы, вставив эти данные в свой код, как хотите, так их и обрабатываете.

_________________
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезисты Ordyl Alpha 350 и AM 140.
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльная маска XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Вс июл 19, 2015 00:34:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2306
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Ну вот, теперь я еще больше запутался.

Файл 16ти-битный потому, что я его сохранил как 32кГц, 16 бит, RAW. ( раз я его так сохранил, значит это только я об этом знаю )
потом я открыл этот файл блокнотом и удалил все данные.
Вместо данных я написал этим-же блокнотом цифру "1"
в итоге получил то, что показал выше.

А весит этот файл действительно 4 байта..

А-а, блин, мы же уже говорили, что не нужно RAW файлы открывать блокнотом, соответственно и править их блокнотом не нужно...
Все понял свою ошибку. Прошу прощения, затупил чего-то...
Спасибо. :beer:

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Вс июл 19, 2015 21:45:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2306
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Теперь осталось выяснить как воспроизводить этот звук.
Для воспроизведения я хочу использовать аппаратный ШИМ.
А для этого нужно решить еще как минимум два вопроса:
1) Как вычислить необходимую частоту для ШИМа?
2) данные в получившемся массиве это длины импульсов или это коэффициент заполнения?

Попытаюсь сам ответить на этот вопрос.
Звук когда то был аналоговым, но в компьютер он попал уже в цифровом виде, так как прошел АЦП.
Качество преобразованного звука напрямую зависит от разрядности АУП, а так-же от частоты преобразований.
Я взял некоторый сэмпл и сохранил его в формате RAW.
Качество для сохранения я выбрал 8 бит и частоту 33кГц, но программа автоматически сохранила его как 44100 Гц - потому, как исходник был записан с такой частотой.

Значит частота моего ШИМа должна быть 44100 Гц ( попробую и 33кГц )
А файл с данными - это длительности импульсов, которые можно выводить в готовом виде без дополнительного преобразования.

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 00:15:13 
Нашел транзистор. Понюхал.

Карма: 1
Рейтинг сообщений: 25
Зарегистрирован: Пт сен 21, 2007 17:53:23
Сообщений: 190
Откуда: Зарайск
Рейтинг сообщения: 0
период ШИМ должен совпадать с частотой дискредитации аудиофайла
частота на входе блока ШИМ зависит от разрядности - 8бит: умножаем на 256; 12 на 1024
у меня вполне нормальный звук был и при 16кГц/8бит
правда в мегу16 (часы) 2 коротких звука влезло только после сжатия (ADPCM)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 07:46:34 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2306
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Цитата:
частота на входе блока ШИМ зависит от разрядности - 8бит: умножаем на 256; 12 на 1024
Не пойму.
Для чего умножать на 256?

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 07:47:47 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Для начала, вам необходимо прочитать документацию на контроллер и разобраться как работает PWM (эта информация не "Top Secret").
Без этого, вы будете пытаться что-то делать не понимая что делаете.
Уже было сказано:
Если вам нужно выводить в PWM числа 0-255 - частота тактирования секции PWM должна быть равна 256*(частота дискретизации).
Разберётесь сами - запомните надолго.
Мне, в своё время, удобнее было изучать PWM подключив к PWM-выходу осциллограф.
Вывод звукового фрагмента - это уже следующий этап.
На всякий случай: пересчитать звуковой файл под произвольную частоту дискретизации можно, к примеру, в CoolEditPro.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:30:23 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2306
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Как работает ШИМ я знаю :)
И не однократно строил разные схемы в которых его использовал.
Вопрос в другом.
Я не совсем понимаю, что значит сохранить аудиофайл как 8 бит с частотой дискретизации, например, 4 кГц
я представляю это как работу АЦП.
8 бит - это разрядность АЦП, а 4 кГц - это частота выполнения преобразований.
если это так, то для того что-бы модулировать этими данными ШИМ, нужно
настроит ШИМ на частоту 4 кГц и каждый раз ( во время прерывания, настроенного по компатору ) выводить новое значение из массива данных.
Но видимо, я не правильно представляю сохранение аудиофайла.
И данные, которые я получаю в массиве не являются тем, что я представляю.

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:36:51 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18404
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
mrFox писал(а):
период ШИМ должен совпадать с частотой дискредитации аудиофайла

не обязательно совпадать. главное - частота ШИМ не должна быть ниже частоты дискретизации, но запросто может быть выше, желательно, кратно. а вот частота обновления значения скважности ШИМ-а должна быть в точно равной частоте дискретизации.

если частота ШИМ будет не кратно больше частоты дискретизации, будут, разумеется, искажения, но на мой неаудиофильский вкус они незначительны.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:39:36 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 1
mrFox писал(а):
период ШИМ должен совпадать с частотой дискредитации аудиофайла

добавлю - в этой конструкции частота шим 250kHz, а частота сэмплирования может быть от 8 до 48kHz
http://elm-chan.org/works/sd8p/report.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:43:20 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Если вы имели ввиду "настроит ШИМ на частоту 4 кГц" это получать с него прерывания с этой частотой - это правильно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:45:28 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18404
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
uwrtey писал(а):
если это так, то для того что-бы модулировать этими данными ШИМ, нужно
нужно:
1. настроить ШИМ на максимально возможную частоту (проще фильтровать, в самом простом случае вообще не фильтровать - динамик сам отфильтрует)
2. настроить таймер на частоту семплирования аудиофайла (4 кГц в вашем случае)
3. по прерыванию таймера с частотой 4 кГц выдавать на ШИМ байты

да, главное, надо учесть, что "отсутствию звука" в динамике соответствует не ШИМ со скважностью 0%, а ШИМ со скважностью 50%. то есть данные должны быть соответствующим образом "отнормированы" перед выдачей на ШИМ

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:49:06 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
ARV писал(а):
...нужно:
1. настроить ШИМ на максимально возможную частоту (проще фильтровать, в самом простом случае вообще не фильтровать - динамик сам отфильтрует)...

Зачем так извращяться?
Мне это напоминает: "Налепить ошибок, а потом всё свободное время их исправлять".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 08:50:17 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18404
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Albert_V писал(а):
Зачем так извращяться?
где вы видите извращения? в чем ошибки? я, по-моему, вполне доступно объяснил, почему даю такой совет.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 09:03:06 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
ARV писал(а):
где вы видите извращения?....

Если просчитана частота дискретизации, к примеру, 15625Hz - это значит что каждые 64µS вы получаете прерывания с таймера (который связан с PWM) и по этим прерываниям обновляете данные PWM.
Не реже и не чаще (если хотите получить не "крякалку", а более-менее "приличный" звук).
----
P.S.
Если делать так как вы предлагаете - на выходе получите кроме частоты дискретизации ещё и разность частот (частота PWM, частота дискретизации). Оно надо???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 09:34:43 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18404
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
вы все правильно сказали, причем это совершенно не противоречит тому, что сказал я.

если частота семплов 4КГц, то обновлять значение ШИМ надо с частотой 4КГц - разве я говорил иное?
где в ваших рассуждениях требование к частоте ШИМ? а я всего лишь сказал, что она должна быть по возможности как можно выше, желательно кратно частоте сэмплов, но в любом случае не ниже частоты семплирования.

в чем вы усматриваете подвох?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 09:44:50 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
ARV писал(а):
1. настроить ШИМ на максимально возможную частоту (проще фильтровать, в самом простом случае вообще не фильтровать - динамик сам отфильтрует)
2. настроить таймер на частоту семплирования аудиофайла (4 кГц в вашем случае)
3. по прерыванию таймера с частотой 4 кГц выдавать на ШИМ байты

Я понял так, как вы сказали. "Частота ШИМ не равна частоте семплирования аудиофайла".
Возможно, мы друг друга не поняли.
:beer:


Последний раз редактировалось Albert_V Пн июл 20, 2015 09:57:31, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 09:49:09 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
uwrtey писал(а):
...Но видимо, я не правильно представляю сохранение аудиофайла...

Возможно, вам ТАК будет проще представить...
/smpl - значение данных 0-255, "точки" на второй картинке - значения данных (то, что нужно выдать в PWM)/
Изображение

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: импорт аудиофайла в МК
СообщениеДобавлено: Пн июл 20, 2015 09:59:54 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2306
Откуда: Свердловская обл.
Рейтинг сообщения: 0
ARV, приветствую Вас. Аватарку сменили?

Цитата:
главное - частота ШИМ не должна быть ниже частоты дискретизации, но запросто может быть выше, желательно, кратно. а вот частота обновления значения скважности ШИМ-а должна быть в точно равной частоте дискретизации.
Спасибо большое. Сразу видно достойный ответ! Все сразу стало на свои места.
Я почему то думал, что частота ШИМ должна быть равна частоте дискретизации.
Я еще подумал, что звук получится отвратительный....( вот и появились сомнения )
Теперь я понимаю что частота дискретизации это частота обновления данных в ШИМ.
А частота ШИМ должна быть намного выше.

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: nicruzhov и гости: 188


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y