#!/usr/bin/env python # coding: utf-8 import thinkdsp #segment: ebben a hangmintaban keressuk az eredeti hangmintaval "original_sample" leginkabb korrelalo reszt #original_sample: az eredeti madarhang minta # A fuggveny a bemeneti hangmintat mintavetelenkent osszehasonlitja az altalunk keresett hangmintaval es vissza adja annak # a maximalis korrelaciot. def calculatecorr(segment,original_sample): maxcorr = 0 time = 0 #1minta 1 masodperc(framerate szama = utolso elem) lastsample = segment.framerate for timestamp in segment.ts[:-lastsample]: #mindig az adott mintaveteltol szamitott 1mp-es mintat vesszuk segment_chunk = segment.segment(start=timestamp, duration=1) #Correlation coefficient two waves. correlation = original_sample.corr(segment_chunk) if correlation > maxcorr : maxcorr = correlation time = timestamp print(correlation) if maxcorr > 0.9: return maxcorr break print("Vegeredmeny:") print(maxcorr) print("Masodperc:") print(time) return maxcorr sturnusVulgaris = thinkdsp.read_wave("wavs/sturnus/CommonStarling_100962.wav") train_sample = sturnusVulgaris.segment(start=4,duration=1) test_sample = sturnusVulgaris.segment(start=0,duration=5) calculatecorr(test_sample,train_sample)