Сравнение звуковых потоков

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 5 times
Contact:

Сравнение звуковых потоков

Post by Alexey Samlyukov »

Захотелось прикрутить к AdvCmp2 помимо сравнения тегов еще и сравнение звуковых потоков. Возникла проблема с незнанием как это реализовать. Кто-нибудь может подсказать как? что почитать? где поискать? может кто разбирался во всей этой кухни.
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: Сравнение звуковых потоков

Post by Maximus5 »

именно со сравнением - не разбирался, но на первый взгляд нужно брать FFT (быстрое преобразование Фурье) преобразования от обоих потоков (посекундно?) и пытаться их сравнить. наверное можно грубо - "бить" доступные килогерцы на 16(32) блоков. ну и сравнивать (нечетко) получившиеся мощности в этих диапазонах.

в терминах могу путаться )
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Re: Сравнение звуковых потоков

Post by chupakabra »

Может поможет алгоритм, подобный тому что используется здесь: http://ssdeep.sourceforge.net/
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: Сравнение звуковых потоков

Post by Maximus5 »

неа. он сравнивает кусочки, грубо говоря - побайтно (судя по описанию).
две mp3-шки сделанные из одного исходника но с разными параметрами - совпадать никогда и нигде не будут.
так что только FFT...
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

Re: Сравнение звуковых потоков

Post by Max Rusov »

Maximus5 wrote:две mp3-шки сделанные из одного исходника но с разными параметрами - совпадать никогда и нигде не будут.
А TC этого хотел? Если я правильно понимаю - хочется просто определить, что это одна и та-же MP3-шка, при условии что она различается тегами. А не то, что это одна песня, зарипаная с разным битрейтом или типа того...
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: Сравнение звуковых потоков

Post by Maximus5 »

нууу, это не спортивно :D
User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 5 times
Contact:

Re: Сравнение звуковых потоков

Post by Alexey Samlyukov »

Больше интересуют алгоритмы сравнения mp3 зажатые в разные битрейты и разной длительностью. Как-то же в телефонах реализованы голосовые наборы. Интересует исходники чего-то похожего.
User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 5 times
Contact:

Re: Сравнение звуковых потоков

Post by Alexey Samlyukov »

нашел тут статейку http://drakulavich.blogspot.com/2010/10/shazam.html
теперь бы еще найти сорцы :)
User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 5 times
Contact:

Re: Сравнение звуковых потоков

Post by Alexey Samlyukov »

http://farplug-alvls.googlecode.com/files/test.rar
взял три файла, на слух одинаковые, на вид разные.
делаю FFT, в каждом нахожу пик. вывел в файл (01.txt, 02.txt, 03.txt) результаты интересны, но толку? есть идеи дальше?
User avatar
HaRT
Moderator
Posts: 9603
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

Re: Сравнение звуковых потоков

Post by HaRT »

Alexey Samlyukov wrote:есть идеи дальше?
Я ту статью лишь бегло прочитал, но ведь вроде надо считать более-менее корреляцию пиков FFT как функции от времени. Нет?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9603
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

Re: Сравнение звуковых потоков

Post by HaRT »

Alexey Samlyukov wrote:как? :)
Сам я серьёзный числяк никогда не писал, а обработку сигналов щупал лишь в универе, но все мои знакомые учёные, которые занимаются чем-то подобным, сперва обкатывают численные схемы в каком-нибудь математическом (или более узкоспециализированном) софте (вроде МатЛаба) и только потом программируют их на Си/Си++ для быстроты выполнения. Так вот всякие там сглаживания, подсчёт корреляционной функции и ещё чёрта в ступе в математических пакетах есть.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DAtaMan
Posts: 262
Joined: Wed 24 Jun, 2009 10:01
Location: не отсюда

Re: Сравнение звуковых потоков

Post by DAtaMan »

Если ещё интересно, есть статья на Хабре с исходниками на C#: HOLO — The Music Amalgamation System
UPD: Что-то автор передумал насчёт исходников.
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
Post Reply

Return to “Разработка плагинов”