|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.02.2013, 22:05 | #1 |
Пользователь
Регистрация: 10.05.2012
Сообщений: 16
|
RAW audio finder (16 kB detected)
Всем привет! Появился такой вопрос по поиску raw-потоков в файле неизвестного типа. Мне нужен поиск raw audio (pcm-формат). Вот как это реализовать - хз.. На одном из форумов подсказали, что нужно составлять список из наиболее популярных pcm-форматов и прогнать их через Фурье-фильтр, проанализировать результат. Ну как то так я себе это представляю:
1. Разбиваем файл на блоки (по 16 кБ каждый) ! 2. Как то анализируем первый блок. Если он совпадает с каким нибудь pcm-форматом, записываем его куда нибудь, анализируем второй блок. Второй блок совпал? Отлично, идем дальше. Если третий и последующие блоки не совпадают, то, получается, наш raw-файл - это первые два блока. Соединяем их, записываем в файл. Но вот как реализовать второй пункт - хз. нигде не нашел подобного вопроса или какой либо информации. Смог реализовать только первый пункт Код:
|
03.02.2013, 11:53 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
1. Второй пункт НАМНОГО сложнее первого. Поэтому тот факт, что у Вас получился первый пункт и не получился второй, удивления не вызывает.
2. Тот алгоритм, который Вам предложили "на форуме", Вы не поняли (собственно, из-за этого и не можете реализовать). Потому как если бы поняли, то одновременно понимали бы, что сформулированный Вами первый пункт не ведет к решению задачи. Теперь по поводу самого алгоритма, который Вам предложили "на форуме". 1. Алгоритм статистический (то, что у Вас называется "проанализировать" - это как раз статистика), т.е. верный результат Вы можете получить лишь с какой-то вероятностью. 2. Границы звуковых фрагментов Вам нужно будет получить не с точностью до 16 кБ, а с точностью до одного байта. 3. Сопоставляя 1 и 2, получаем, что если "серединки" фрагментов статистически и могут быть получены с достаточно высокой вероятностью, для нахождения границ статистические методы вряд ли смогут дать достаточную точность. И последнее: - Прежде, чем писать первую строчку кода, нужно продумать от начала до конца всю задачу. Это называется проектированием. И проектирование я бы начал именно с задачи "проанализировать". Напишите по-русски, как Вы собираетесь проводить этот анализ, что для этого использовать. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
GetDIBits пишет за буфеер => Heap corruption detected. | TwiX | Win Api | 2 | 16.11.2013 22:27 |
Ambiguous name detected: CommandButton2_Click | ramzes777 | Microsoft Office Excel | 3 | 23.12.2011 19:46 |
detected IDE drivers | nikox12 | Компьютерное железо | 1 | 02.05.2011 19:51 |
Raw сокеты | liljon | Win Api | 1 | 21.05.2010 23:45 |
Ошибка:*** glibc detected *** free(): invalid next size (fast): 0x0807dc70 *** | ciaonataha | Общие вопросы C/C++ | 3 | 05.05.2009 16:58 |