I need to get a list of all posible matches that an audio could have, and by looking at the code I found that I could get a list of matches using match_len_filter, however most of results were around the same second and filter_matches wasn't useful at solving that problem, so I made this function for my script that filters numbers that are close to each other while conserving the original order, ex 1.5, 1.1, 60.1, 60.5, 30.4; it would return 1.5, 60.1, 30.4, and I thought it could also be useful for this program.
In my case I needed to remove matches that have less than 0.5 absolute difference, but it could be changed easily.
def remove_close_numbers_by_abs_diff(nums):
if not nums:
return []
output = [nums[0]]
for num in nums[1:]:
if all(abs(num - prev) > 0.5 for prev in output):
output.append(num)
return output
I need to get a list of all posible matches that an audio could have, and by looking at the code I found that I could get a list of matches using
match_len_filter
, however most of results were around the same second andfilter_matches
wasn't useful at solving that problem, so I made this function for my script that filters numbers that are close to each other while conserving the original order, ex 1.5, 1.1, 60.1, 60.5, 30.4; it would return 1.5, 60.1, 30.4, and I thought it could also be useful for this program.In my case I needed to remove matches that have less than 0.5 absolute difference, but it could be changed easily.