Т.к. задача и вправду интересная. Тем более средствами php
задача интересная +1
средствами php - не реально.
надо написать некий бин, который вызывать system, и анализировать % корреляции.
+1. можно найти библиотеки БПФ. пхп одночзачно умрет. как-то я попытался сделать некоторый алгоритм псевдошифрования... РНР - просто умер... Не забывай, что РНР - это интерпретатор, он не предназначен для таких задач.
надо найти оптимальный единичный размер фрагмента и от него отталкиваться. Проверяем корреляцию нашего фрагмента и мелодии, не подходит, сдвигаем мелодию на единичный фрагмент и проверяем дальше....
Пример:
возмем некую абстрактную мелодию:
лааа-ла-ла лааа-ла-ла лу-ла лу-ла...
есть фрагмент: лу-ла лу-ла
необходимо создать алгоритм синхронизации, т.е. выделения фрагмента из мелодии.
например, сравнивая фрагмент и мелодию:
лааа-ла-ла лааа-ла-ла лу-ла лу-ла...
лу-ла лу-ла
-------------------
корреляции нет
...
лааа-ла-ла лу-ла лу-ла...
лу-ла лу-ла
-------------------
корреляции нет
...
лу-ла лу-ла
лу-ла лу-ла
-------------------
корреляция есть