Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2014, 22:02   #1
Юрий1963
Новичок
Джуниор
 
Регистрация: 07.04.2014
Сообщений: 2
Радость Напишите простую программку для аудио-форума ! :)

Господа, всем привет !

15 лет назад я писал программу на Clipper (еще под DOS), сравнивающую два WAV-файла. Она отличалась от стандартной виндовой
fc /B файл1.wav файл2.wav -> result.txt

Отличалась следующими фичами

- перед сравнением двух файлов, у меня была возможность "подвигать вправо-влево один файл относительно другого". Чтобы найти байт № X в первом файле, и байт № Y во втором файле. Это место, с которого файлы совпадают. Потребность связана с особенностью перехвата в цифре WAV-файлов например программой Total Recorder, в процессе которого в начало WAV-файла может быдь дописано от 0 до 1000 байт мусора. А сравнивать нужно с места когда закончился этот мусор.

- Программа сравнивала, пока с этого места не кончится более короткий файл

- Выводила число различающихся байт, счетчик на экране увеличивался во время сканирования. Я, помнится, забирал из файлов порциями по 64К, а из этих 64К порциями по 500 байт, так повышалось быстродействие сравнения. Соответственно счетчик различающихся байт обновлялся через каждые 64К

- Понятие "место с которого совпадает" у меня было: N байт подряд, из которых должно совпадать не менее M байт

Кто в хорошей спортивной форме ?
Напишите нам, аудиофилам, такую прогу но на 7-м дельфи под windows.
Сам я тоже писал на Delphi 7, но всего 2 месяца и было это в 2009-м году, так что признаю что я чайник

На Clipper 5, помню, написал за пол-дня, и потом еще 3 дня оптимизировал быстродействие под медленные компьютеры. Сейчас это уже неактуально.

Последний раз редактировалось Юрий1963; 07.04.2014 в 22:08.
Юрий1963 вне форума Ответить с цитированием
Старый 07.04.2014, 22:28   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Веткой ошиблись. Вам лучше обратиться в раздел "Фриланс".
Новую тему лучше не создавать. Надеюсь, что модераторы перенесут.
Streletz вне форума Ответить с цитированием
Старый 07.04.2014, 22:36   #3
Юрий1963
Новичок
Джуниор
 
Регистрация: 07.04.2014
Сообщений: 2
По умолчанию

Прошу прощения если не туда запостил.
Прошу модератора перенести в правильное место.

Уточняю: кто готов написать бесплатно ? Фриланс это не есть бесплатное написание программ, причем здесь тема фриланс.
Юрий1963 вне форума Ответить с цитированием
Старый 07.04.2014, 22:55   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Прошу модератора перенести в правильное место.
Ща, перенесут, не сомневайтесь.
Цитата:
кто готов написать бесплатно ? Фриланс это не есть бесплатное написание программ, причем здесь тема фриланс.
Наполеонов, сдесь и без вас хватало и хватает. Не Вы первый.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 07.04.2014 в 23:00.
Smitt&Wesson вне форума Ответить с цитированием
Старый 07.04.2014, 23:02   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Стрелка

Цитата:
Фриланс это не есть бесплатное написание программ, причем здесь тема фриланс.
При том, что здесь на форуме объясняют и помогают советами тем, кто сам что-то делает или, хотя бы, пытается делать, а не пишут программы на халяву.
Если нет желания самому писать, то обращайтесь в раздел платных услуг.
Streletz вне форума Ответить с цитированием
Старый 07.04.2014, 23:43   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Цитата:
Уточняю: кто готов написать бесплатно ? Фриланс это не есть бесплатное написание программ, причем здесь тема фриланс.
Очень интересное заявление, объясните ка: почему же кто-то должен потратить X времени на некого анонимуса, за "О круть, спасиба"?

P.S. Конкретно для Delphi запилили компоненты, среди которых есть метод Фурье им и можно 2 звуковых файла сравнить.

А по-байтно хоть HEX редактором сравнивайте. Есть и скриптовые и геморно-ручные и всякие прочие.
Человек_Борща вне форума Ответить с цитированием
Старый 07.04.2014, 23:46   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Streletz, я Вас понимаю. Но, сдесь уже всех Наполеоны достали. Уже, даже, и не смешно. Только, чё-т толку от 100500 наполеонов не видно. Тут один заявлял, "Я крутой, захочу, все ваши компы вирусами заражу". Мы все напряглись, ждем уже пятый год, чёйт и вирусов не видно и чел пропал... Наверное пишет без устали, бедняга. Я ему сочувствую.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 08.04.2014, 07:53   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Сабж осуществляет по-прежнему встроенная утилита diff, а также в тотале эта опция встроенная: файлы/сравнить по внутреннему содержимому, два окна, выделение цветом несовпадающих участков, подвигать вверх-вниз, все дела ...и неважно, wav это или нет
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.04.2014, 08:50   #9
blackstrip
Форумчанин
 
Аватар для blackstrip
 
Регистрация: 21.01.2012
Сообщений: 240
По умолчанию

Можно даже немного более грамотно сделать математически. "Подвигать вправо-влево один файл относительно другого" и поискать один в другом - это посчитать взаимную корреляцию двух wav-сигналов. Так вот, могут байты и отличаться (например, кто-то взял и звук приглушил по амплитуде или фильтр применил, попортивший немного сигнал (несильно), байты будут одуреть какие разные, а на слух песня в файлах одна и та же). А с корреляцией при сравнении файла и уменьшенного по амплитуде в 2 раза такого же файла - на выходе просто получится максимальный коэффицент не 1 (когда полностью одинаковые), а 0.5. Но в пределах "подвигания файлов относительно друг друга" этот коэффициент будет максимальным для определенного сдвига (в отсчетах, или в мс, если пересчитать через частоту дискретизации отсчеты в мс). И можно будет сразу сказать что "наиболее вероятно, с вероятностью Х: звук A находится в звуке B со сдвигом в S миллисекунд".
blackstrip вне форума Ответить с цитированием
Старый 08.04.2014, 11:34   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

Корреляция - это уже не тупое сравнение байтов, согласен. Но сие уже за мани.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напишите программку для очистки от мусора текстового файла, сформированного программой переводчиком Radialix3 Daf010 Фриланс 8 10.03.2014 17:08
Напишите программку на delphi или vba excel. faraon_forever Помощь студентам 10 13.05.2013 10:03
посоветуйте простую программку для работы с таблицами Gayverock2027 Помощь студентам 1 16.02.2012 21:25
Нужно написать простую программку Alex321 Фриланс 11 14.07.2011 10:08