worldveil / dejavu

Audio fingerprinting and recognition in Python
MIT License
6.36k stars 1.43k forks source link

About spectrum Offset translates to offset seconds 关于偏移量计算的问题 #256

Open LuniumLuk opened 3 years ago

LuniumLuk commented 3 years ago

In dejavu/dejavu/init.py, line 202 nseconds = round(float(offset) / DEFAULT_FS DEFAULT_WINDOW_SIZE DEFAULT_OVERLAP_RATIO, 5) I believe that the code above should be ... (1 - DEFAULT_OVERLAP_RATIO) ... for DEFAULT_WINDOW_SIZE DEFAULT_OVERLAP_RATIO gets Overlap Length and DEFAULT_WINDOW_SIZE (1 - DEFAULT_OVERLAP_RATIO) gets Hop Length It won't casue any problem if DEFAULT_OVERLAP_RATIO is set to 0.5, however, I changed it to another value and it returns wrong offset seconds. dejavu/dejavu/init.py, 第202行是否应该修正为... (1 - DEFAULT_OVERLAP_RATIO) ... 因为DEFAULT_WINDOW_SIZE DEFAULT_OVERLAP_RATIO计算的是STFT中重叠部分的长度 而DEFAULT_WINDOW_SIZE (1 - DEFAULT_OVERLAP_RATIO)才是一跳的长度 因为DEFAULT_OVERLAP_RATIO的默认值是0.5,所以一般不会造成任何问题,但是当DEFAULT_OVERLAP_RATIO被设置为其他值时,会导致返回的偏移秒数有误