Микроконтроллеры | Вэйвтэйбл синтезатор |
|
---|---|---|
А вот программа для преобразования файлов WAVE/RIF16-bit PCM / mono / 8000Hz F в Intel HEX-файл. |
|
|
AHTOXA: IDiod: Поясняю подробно, что надо. |
|
|
Gregory: как "прицепить" туда данные из второго и последующих RAW'ов? Есть волшебная команда copy /b Пишете каждую мелодию в отдельный файл, потом формируете файл со служебной информацией, и наконец, слепляете всё в кучу: copy /b info.bin + melody1.bin + melody2.bin + melody3.bin proshivka.bin Следующий вопрос - как сформировать служебную информацию? Ну конечно проще довериться компьютеру. Написать скрипт/программку... Всё равно же без программирования не обойтись Кстати, вот хекс-редактор Hiew (в аттаче), может, пригодится? |
|
|
AHTOXA: AHTOXA: в Hex-редакторе |
|
|
Ключ /b просто задаёт бинарный режим работы. То есть, все байты берутся как есть и обрабатываются без изменений. Адреса начала и окончания вычисляются из размеров файлов мелодий Кстати, можно обойтись вовсе без служебного блока. Просто перед мелодией записывать её длину. (а после последней мелодии - 0) |
|
|
AHTOXA: Но, без служебной области всё-таки не обойтись, по причине того, что надо будет "вытягивать" сэмплы из массива, а для этого, надо знать их адреса. вычисляются |
|
|
Gregory: 0 будет разделителем мелодий. Не, это не фонтан. Во-первых нельзя использовать 0 в мелодии, а во-вторых, придётся последовательно читать всю флешку. Gregory: при ручном вводе, легко ошибиться. Поэтому, я - за "сложный вариант". Я тут подумал... Всё равно Вы скорее всего будете один раз при старте программы считывать служебную информацию в память контроллера, и в дальнейшем при работе пользоваться информацией из памяти. В этом случае служебную информацию можно безболезненно выкинуть, и сделать как я сказал - размер - мелодия - размер - мелодия - ... - размер - мелодия - 0. А при запуске - разок пробежаться и запомнить эти адреса. |
|
|
AHTOXA: Кстати, вот хекс-редактор Hiew (в аттаче), может, пригодится? |
|
|
Здесь русский . Открываете в нем ваш файл. Далее выделяете необходимый блок. Единственное: в Wave файле надо отсекать заголовок и сколькото байт в конце( не помню точно). |
|
|
Это ringin.wav из виндовского набора(часть). unsigned char data[335] = { |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |