Вверх ↑
Этот топик читают: Гость
Ответов: 41
Рейтинг: 3
#1: 2013-01-09 19:28:46 ЛС | профиль | цитата
Помогите сделать программу сравнения аудиофайлов ,при их совпадении запуск определенной команды. Может у кого есть готовые решения или что то похожее.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#2: 2013-01-09 19:32:16 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 10:52:14
карма: 0

0
Ответов: 8926
Рейтинг: 823
#3: 2013-01-09 19:53:17 ЛС | профиль | цитата
sergvirus писал(а):
...сравнения аудиофайлов ,при их совпадении...
Совпадения бывают очень разные
карма: 19

0
Ответов: 41
Рейтинг: 3
#4: 2013-01-09 20:03:10 ЛС | профиль | цитата
37.45.48.174,Похожая тема есть решения нет."Тема: Управления при помощи аудио"
Леонид, звук будет не с микрофона, а заранее готовый аудиофайлфайл воспроизведеный к примеру проигрывателем.
карма: 1

0
Ответов: 8926
Рейтинг: 823
#5: 2013-01-09 20:23:00 ЛС | профиль | цитата
sergvirus, вот к примеру два файла, почти одинаковых (осторожно, 8 Мб!): (Файл удалён!), а точно одинаковые
карма: 19

0
Ответов: 41
Рейтинг: 3
#6: 2013-01-09 20:31:50 ЛС | профиль | цитата
Прослушал), разница есть.У меня же будет не больше 8 аудиофайлов которые закину в программу. Воспроизводить буду эти же файлы что закидывал в прогу поэтому разницы в звучании неможет быть.
карма: 1

0
Ответов: 8926
Рейтинг: 823
#7: 2013-01-09 21:01:20 ЛС | профиль | цитата
sergvirus, если внимательно посмотреть на вкладку "Мультимедиа", то можно обнаружить компонент:

Add(VolumeComparator,1141996,182,98)
{
}

карма: 19

0
Ответов: 41
Рейтинг: 3
#8: 2013-01-09 21:13:00 ЛС | профиль | цитата
интересно
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2013-01-11 22:41:27 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 10:52:14
карма: 0

0
Ответов: 41
Рейтинг: 3
#10: 2013-01-11 22:44:31 ЛС | профиль | цитата
line96-61.adsl.kirov.ru, это я
карма: 1

0
Ответов: 8926
Рейтинг: 823
#11: 2013-01-12 16:01:49 ЛС | профиль | цитата
sergvirus, а что из себя представляют эти Ваши звуковые файлы, размер, частота дискретизации, или пару-тройку аналогов вЫложите "в поликлинику для опытов" (команды компьютеру?)
------------ Дoбавленo в 16.01:
line96-61.adsl.kirov.ru писал(а):
Ничего неполучается
Плохо примеры смотрели! У Вас на компьютере по адресу C:\%hiasmElementsDelphiExampleMediaBASSRecordStream.sha -- великолепный пример на эту тему.
Вот он, модифицирован под Ваши нужды:

Add(BASS_Version,10183901,189,238)
{
link(onCheckOk,12302345:doInit,[])
link(onCheckFailed,109118:doMessage,[(233,251)(233,293)])
}
Add(Message,11232751,189,287)
{
Message="Error BASS initialization"
Caption="Error"
Icon=1
}
Add(Message,109118,245,287)
{
Message="Incorrect version of BASS library "
Caption="Error"
Icon=1
}
Add(MainForm,16358250,63,224)
{
Width=813
Height=489
Caption="Compare sound"
Point(Handle)
Point(onClose)
link(onCreate,4252681:doInit,[])
link(onClose,5066922:doStop,[(114,251)(114,97)])
}
Add(BASS_Init,4252681,133,238)
{
link(onInit,10183901:doCheck,[])
link(onError,11232751:doMessage,[(177,251)(177,293)])
link(Handle,16358250:Handle,[(153,226)(124,226)(124,266)(69,266)])
}
Add(BASS_RecordCenter,12302345,245,238)
{
link(onInit,5066922:doStart,[(289,244)(289,167)(121,167)(121,90)])
link(onError,11713735:doMessage,[(289,251)(289,293)])
}
Add(BASS_RecordStart,5066922,133,84)
{
Freq=44100
Mode=1
link(onData,4781887:doDetect,[])
}
Add(Message,11713735,301,287)
{
Message="InitRecord failed!"
Caption="Error"
Icon=1
}
Add(Grapher,13162224,728,161)
{
Left=10
Top=245
Width=485
Height=200
MaxH=0
LeftMargin=0
RightMargin=0
TopMargin=0
BottomMargin=0
}
Add(VolumeDetector,4781887,189,91)
{
DetectLevel=2000
Delay=12000
link(onDetect,16532858:doSumm,[])
}
Add(VolumeSummator,16532858,238,91)
{
link(onResult,4377045:doEvent1,[(278,97)(278,55)])
}
Add(Grapher,13475393,336,49)
{
Left=10
Top=35
Width=485
Height=200
MaxH=0
LeftMargin=0
RightMargin=0
TopMargin=0
BottomMargin=0
}
Add(Hub,4377045,287,49)
{
link(onEvent1,13475393:doAdd,[])
link(onEvent2,3262080:doEdge,[(319,62)(319,104)])
}
Add(VolumeEdge,3262080,336,98)
{
link(onResult,3305714:doSumm,[])
}
Add(VolumeSmoothing,10917253,434,98)
{
Level=100
link(onResult,1474433:doSumm,[])
}
Add(Memory,15172366,609,161)
{
link(onData,3000059:doEvent1,[])
}
Add(Button,9858318,553,203)
{
Left=160
Top=5
Width=110
Caption="Save sample sound"
link(onClick,6288690:doData,[])
}
Add(DoData,6288690,609,203)
{
link(onEventData,10470133:doAdd,[])
link(Data,15172366:Value,[])
}
Add(Edit,10886304,777,154)
{
Left=405
Top=10
Width=95
Text=""
}
Add(VolumeSummator,3305714,385,98)
{
Level=60
Mode=1
link(onResult,10917253:doSmoothing,[])
}
Add(VolumeSmoothing,9264211,532,98)
{
Level=40
link(onResult,15172366:doValue,[(572,104)(572,167)])
}
Add(VolumeComparator,10470133,854,196)
{
Volumes="C:A_WinGamesHiAsmhiasm_4,04b185\randomSampleSoundFile"
link(onOk,12620894:doText,[])
link(onFailed,4539809:doAdd,[(898,209)(898,234)(716,234)(716,251)])
link(Name,10886304:Text,[(867,191)(783,191)])
}
Add(Hub,3000059,658,161)
{
OutCount=3
link(onEvent1,13162224:doAdd,[])
link(onEvent2,4539809:doClear,[(707,174)(707,258)])
link(onEvent3,10470133:doCompare,[(702,181)(702,202)])
}
Add(Label,12620894,910,196)
{
Left=580
Top=10
}
Add(RichEdit,4539809,728,245)
{
Left=505
Top=35
Width=295
Height=410
ScrollBars=2
}
Add(VolumeSummator,1474433,483,98)
{
Level=20
Mode=1
link(onResult,9264211:doSmoothing,[])
}
Add(WinExec,10969450,497,252)
{
}
Add(Button,6838606,350,238)
{
Left=20
Top=5
Width=75
Caption="Open *.ogg"
link(onClick,14764001:doExecute,[])
}
Add(ODialog,14764001,399,238)
{
Filter="Sound|*.ogg"
StartDir="C:A_WinGamesHiAsmhiasm_4,04b185\random"
link(onExecute,1962920:doEvent1,[])
}
Add(FilePartElm,10371895,476,154)
{
Mode=2
link(onPart,13822917:doString,[])
}
Add(Hub,1962920,441,238)
{
OutCount=3
link(onEvent1,7761276:doNext,[(462,244)(462,202)(394,202)(394,160)])
link(onEvent2,10371895:doPart,[(469,251)(469,160)])
link(onEvent3,10969450:doShellExec,[(462,258)(462,265)])
}
Add(InfoTip,13798404,273,14)
{
Info=#7:Удалить|
Width=127
Height=74
}
Add(InfoTip,7451480,343,147)
{
Info=#7:Удалить|
Width=498
Height=144
}
Add(Counter,7761276,420,154)
{
Max=99999
Default=-1
}
Add(FormatStr,13822917,518,154)
{
Mask="%1_%2"
link(onFString,10886304:doText,[])
link(Str1,7761276:Count,[(524,149)(457,149)(457,197)(426,197)])
}
Для сравнения звука необходимо создать образ и сохранить его в отдельной папке (в приложеном примере SampleSoundFile -- все пути у себя переназначьте под свои): Открыть --> проиграть --> назначить имя образу файла (в примере к имени слева добавляется #_ --> Сохранить, и так по всем Вашим файлам.
Эту же программку можно использовать (удалив ненужные визуальности) для сравнения звуков, на выходе будете получать имя подходящего образца, а по начальным цифрам имени осуществлять свои действия.
карма: 19

1
Голосовали:sergvirus
Ответов: 41
Рейтинг: 3
#12: 2013-01-12 19:15:16 ЛС | профиль | цитата
При сохранении файла почемуто выдает ошибку .
карма: 1

0
Ответов: 8926
Рейтинг: 823
#13: 2013-01-12 22:45:48 ЛС | профиль | цитата
sergvirus,
Леонид писал(а):
все пути у себя переназначьте под свои

карма: 19

0
Ответов: 41
Рейтинг: 3
#14: 2013-01-12 23:57:55 ЛС | профиль | цитата
Все пути указывал не по разу.При воспроизведении звука на графике ничего нет, а при сохранении ошибка: Runtime error 216 at $004167FE...
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#15: 2013-01-13 00:30:17 ЛС | профиль | цитата
Если не умеешь пользоваться компонентом

Add(Debug,15511658,238,189)
{
}
и
sergvirus писал(а):
Все пути указывал не по разу.
Выложи со своими путями.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)