WAV в массив

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3504
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Сообщение smacorp »

Albert_V, пробуйте. Запускается также в командной строке: BinToTxt.exe входной_файл

На выходе текстовый файл вида:

---
.db 0x80,0x7F,0x80,0x81,0x80,0x80,0x81,0x80,0x80,0x80,0x80,0x80,0x7F,0x80,0x80,0x80
.db 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x7E,0x7E,0x7F,0x80,0x81,0x81,0x83,0x83,0x83
.db 0x83,0x83,0x83,0x81,0x7F,0x7D,0x7E,0x7D,0x86,0x87,0x7E,0x7F,0x81,0x83,0x83,0x85
.db 0x82,0x80,0x7F,0x7E,0x7D,0x7E,0x80,0x82,0x82,0x83,0x86,0x87,0x84,0x82,0x80,0x80
---

Компилировано под Win32. Под Win64, разумеется, запускается тоже - с соответствующими ограничениями под размер памяти. Но входные файлы в несколько сотен мегабайт жрёт нормально.
Вложения
BinToTxt.rar
(45.06 КБ) 223 скачивания
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

smacorp, ВСЁ 'OK.
"Выходной" файл вашей программы:
36.rar
(307.78 КБ) 120 скачиваний
ОГРОМНОЕ Вам Спасибо!!!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3504
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Сообщение smacorp »

Albert_V писал(а):ОГРОМНОЕ Вам Спасибо!!!
Тогда жмите "плюс" в рейтинге сообщения. :wink: А так - всегда пожалуйста. :beer:
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Друг Кота
Аватара пользователя
Сообщения: 3504
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Сообщение smacorp »

Albert_V, доделал - более корректное отслеживание ошибок и добавил x64 версию - файлы до 2 Гигов жрёт нормально, а более и не требуется.
Вложения
BinToTxt.v2.rar
(102.97 КБ) 141 скачивание
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3443
Зарегистрирован: Вт июн 28, 2011 12:11:50
Откуда: Россия,Ставропольский край, ст.Бекешевская

Сообщение rus084 »

кстати для обрезания метаданных отлично подходит бесплатная программа audacity
Меня зовут Димон .
Изображение
Изображение
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

Albert_V писал(а):Ничего не понимаю....
... не понимаю и не работает - разные вещи :lol: . программа написана на чистом С и WINAPI, поэтому работает от win95 до ...
Запуск: bin2txt 36.bin a
- запуск : bin2txt 36.bin -a или bin2txt 36.bin -с
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 126
Зарегистрирован: Пн ноя 05, 2012 22:23:32
Откуда: Санкт-Петербург

Сообщение VanyaSV »

smacorp, спасибо вам огромное!!!! От души!!! Прошу прощение за наглость: а вы не могли бы к этой утелите добавить функцию filesize? Чтобы в самой первой строке файла (закоментированно) выводилось колличество элементов во всём массиве Буду очень очень чень благодарен! Могу даже вас угостить пивом) ну или мороженкой) :))
Друг Кота
Аватара пользователя
Сообщения: 3504
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Сообщение smacorp »

VanyaSV писал(а):Могу даже вас угостить пивом) ну или мороженкой)
Это лишнее. :) Там делов-то на пару байт.
VanyaSV писал(а):добавить функцию filesize? Чтобы в самой первой строке файла (закоментированно) выводилось колличество элементов во всём массиве
Вы опишите конкретнее, так ведь непонятно.

Какого вида комментарий? #? //? ;? {}? Каких только комментариев разный софт не использует.

Что понимается под количеством элементов в массиве? Просто длина исходного файла? Или количество строк\столбцов?

В каком виде выводить количество элементов во всём массиве?

У вас в исходном примере такое есть:

---
// Length: 6882 / 0x00001AE2 (bytes)
---

Оно? В конце в hex виде обязательно?

Ставьте задачу подробнее, пожалуйста, сделаю.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

VanyaSV, как вариант:
Я всегда "готовлю" звуковой файл по уровню -1db. Таким образом, чисел 0h и 0FFh в данных быть не может. Вот одно из этих чисел и является признаком окончания данных. Заодно, не надо "помнить" или отдельно указывать в программе число байт wav данных.
--------------------------------------------------------------------
ChipKiller писал(а):...запуск : bin2txt 36.bin -a или bin2txt 36.bin -с
ChipKiller, В любом случае, программа не должна "вываливаться". [Win7/64 Pro, лицензия]
Размер файла 36.bin - 331 КБ (339 200 байт).

Изображение
Изображение

При запуске в WinXP - такая ошибка. Изучайте причину.
Изображение
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

Albert_V писал(а):В любом случае, программа не должна "вываливаться". [Win7/64 Pro, лицензия]
Размер файла 36.bin - 331 КБ (339 200 байт).
хорошо, что указали размер файла - снял ограничение на размер бинарника (было 64Кб) и добавил ключик -x.
Вложения
bin2txt.rar
(1.64 КБ) 196 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

ChipKiller, Да, теперь ваша программа не "валится".
Осталось, только, проставлять 0Dh 0Ah после каждых 16-ти байт.
Результат работы вашей программы:
36.rar
(307.78 КБ) 95 скачиваний
Встал на лапы
Аватара пользователя
Сообщения: 126
Зарегистрирован: Пн ноя 05, 2012 22:23:32
Откуда: Санкт-Петербург

Сообщение VanyaSV »

smacorp писал(а):
VanyaSV писал(а):Могу даже вас угостить пивом) ну или мороженкой)
Это лишнее. :) Там делов-то на пару байт.
VanyaSV писал(а):добавить функцию filesize? Чтобы в самой первой строке файла (закоментированно) выводилось колличество элементов во всём массиве
Вы опишите конкретнее, так ведь непонятно.

Какого вида комментарий? #? //? ;? {}? Каких только комментариев разный софт не использует.

Что понимается под количеством элементов в массиве? Просто длина исходного файла? Или количество строк\столбцов?

В каком виде выводить количество элементов во всём массиве?

У вас в исходном примере такое есть:

---
// Length: 6882 / 0x00001AE2 (bytes)
---

Оно? В конце в hex виде обязательно?

Ставьте задачу подробнее, пожалуйста, сделаю.
Вообщем, в файл, который создает ваша программа, в самой первой строчке написать колличество всех действующих компонентов (без учета запятых и этих .db).
То есть, если в файле 6880 компонентов, то дописать в начале файла следующее:
;Sample_rate 6880.
Ну то есть, тоже самое, только через ";"
Друг Кота
Аватара пользователя
Сообщения: 3504
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Сообщение smacorp »

VanyaSV писал(а):если в файле 6880 компонентов, то дописать в начале файла следующее: ;Sample_rate 6880
Так?

Кстати, может придти модератор и подрезать Вам уши за оверквотинг :)
Вложения
BinToTxt.v3.rar
(104.27 КБ) 136 скачиваний
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Встал на лапы
Аватара пользователя
Сообщения: 126
Зарегистрирован: Пн ноя 05, 2012 22:23:32
Откуда: Санкт-Петербург

Сообщение VanyaSV »

да) спасибо большое!!!!
я больше так не буду)
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

Albert_V писал(а):Осталось, только, проставлять 0Dh 0Ah после каждых 16-ти байт.
... на самом деле только 0Ah - 0Dh там есть, поэтому и не заметил ( в Far_e отображалось нормально ). Поправил
Вложения
bin2txt.rar
(1.6 КБ) 203 скачивания
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

ChipKiller, 'OK. :beer:
Ответить

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