Пятница, 22.11.2024, 16:24
Вы вошли как Гость | Группа "Гости" | RSS

.
 
 
Главная Регистрация Вход
Меню сайта

Форма входа

Статистика

Онлайн всего: 6
Гостей: 6
Пользователей: 0

Поиск

Links
  • Спрайт-ripper
  • Romhacking.net
  • Owls-Группа
  • Romhack Streams
  • Romhack Discord

  • XD

    Программы для ромхакинга » Для работы с аудио

    SND(RAW PCM) to WAV
    Утилита конвертирует SND(RAW PCM 8 bit unsigned) в WAV. Консольная. Качать - выше. Исходник внутри.

    Тут, совсем недавно, а точнее сегодня. Надо было пачкой конвертировать RAW PCM unsigned 8 bit в WAV. Зачем, скажете вы? А затем, что закидывать каждый файл в GoldWave только для того, чтобы его прослушать - было очень лениво. Много движений мышкой. Выбирать формат, частоту %).

    И тут, я решил сделать конвертер. Ибо, делов то.

    Дело было так.  Читать доки по формату WAV было лень, причём их ещё нужно было найти нормальные. Подумал, раз RAW PCM можно сохранить в WAV, в таком же формате (8 bit unsigned), то наверно оно там так и хранится.
    Для тех кто не в курсе, unsigned 8 bit формат - это для каждого момента времени, уровень указывается ровно одним байтом - его величиной. Причем, в unsigned подразумевается что $80 - это нуль, всё что меньше этого значения - меньше нуля. То есть $0 для него это -$80 величина, а $FF это $7F величина. Всё просто.

    Теперь, раз формат простой, самого звука, а в WAV нет сжатия, то он наверно там так и должен хранится, без всяких извращений.
    Я взял тестовый .snd - чистый RAW PCM 8 bit unsigned, сохранил его в WAV PCM 8 bit unsigned, и после чего начал сравнивать их дампы. А именно начал искать .snd внутри .wav. Он оказался по оффсету 0x2C, и после него ничего нет. Значит есть только заголовок.
    В заголовке, как логично предположить - есть размер, и частота. Эти две вещи и надо править, остальное - не трогаем.

    Размер+$24 по оффсету $4, и чистый размер по $28. Частота, два раза (не знаю почему) по оффсету $18.
    Итого алгоритм. Запихиваем целиком заголовок в исходник, изменяем во время работы программы только эти две величины (в трёх местах). Пишем заголовок, пишем .snd, и ПЛЯШЕМ!).

    Исходники прилагаются, для тех кто хочет встроить сохранение WAV PCM unsigned 8 bit. :)
    signed 8 bit делается также, только надо глянуть какой байт отвечает за формат, его поменять, то есть тупо сообщить проигрывателю, что это signed.

    Категория: Для работы с аудио | Добавил: r57shell (19.02.2013)
    Просмотров: 5506 | Рейтинг: 5.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Select language:
    English
    French
    German
    Portuguese
    Chinese
    Nemesis_c, r57shell, Smoke, Lipetsk, GoodBye (aka vfiuchcikicshuusrch) & Segaman © 2024
    Хостинг от uCoz