возможно, это может быть дубликат вопроса.Я много искал, но не нашел ответа.
Я работаю с аудиоанализом, где основной аудиофайл необходимо разбить на куски аудиофайлов, где каждый должен состоять из одного предложения.
Когда я взял ~ 3 секунды звука, для которого процесс, который я выполняю, занимает около 5 минут, но при увеличении длины звука время, необходимое для завершения процесса, становится намного выше.например, 5 минут аудио занимает около 14 часов.Сначала я создал CSV-файл, содержащий время (в секундах) и амплитуду, а затем принял пороговое значение, при котором амплитуда меньше, чем i , будет равна 0, а больше будет 1. Позже я проверю, является ли числопоследовательный 0 больше другого порога j , затем занял время этой позиции.Следовательно, я нашел время окончания предложения.Этот процесс занимает слишком много времени, поэтому любые другие методы будут полезны.
Мой набор данных выглядит следующим образом:
1.000000000000000000e+00,0.000000000000000000e+00,6.103515625000000000e+01
2.000000000000000000e+00,2.267999999999999969e-05,3.051757811999999959e+01
3.000000000000000000e+00,4.534999999999999779e-05,0.000000000000000000e+00
4.000000000000000000e+00,6.802999999999999748e-05,3.051757811999999959e+01
5.000000000000000000e+00,9.069999999999999558e-05,3.051757811999999959e+01
6.000000000000000000e+00,1.133800000000000020e-04,0.000000000000000000e+00
7.000000000000000000e+00,1.360500000000000001e-04,0.000000000000000000e+00
8.000000000000000000e+00,1.587299999999999931e-04,0.000000000000000000e+00
9.000000000000000000e+00,1.814100000000000131e-04,0.000000000000000000e+00
1.000000000000000000e+01,2.040800000000000112e-04,0.000000000000000000e+00
1.100000000000000000e+01,2.267600000000000041e-04,0.000000000000000000e+00
1.200000000000000000e+01,2.494299999999999751e-04,3.051757811999999959e+01
1.300000000000000000e+01,2.721099999999999951e-04,0.000000000000000000e+00
1.400000000000000000e+01,2.947800000000000203e-04,0.000000000000000000e+00
1.500000000000000000e+01,3.174599999999999861e-04,0.000000000000000000e+00
1.600000000000000000e+01,3.401400000000000061e-04,3.051757811999999959e+01
1.700000000000000000e+01,3.628099999999999771e-04,0.000000000000000000e+00
1.800000000000000000e+01,3.854899999999999972e-04,3.051757811999999959e+01
1.900000000000000000e+01,4.081600000000000224e-04,0.000000000000000000e+00
2.000000000000000000e+01,4.308399999999999882e-04,0.000000000000000000e+00
2.100000000000000000e+01,4.535100000000000134e-04,3.051757811999999959e+01
Копируется из файла CSV.Количество строк 415449. Я дал вам только 20. Что мне нужно, это проверить, в первом столбце (1,2,3, ..., n) или нет.Когда серия разрывается, мне нужно взять значение столбца 2 на последнем номере серии.Надеюсь, я смогу решить свои проблемы
Обратите внимание: мне нужно сделать жесткий код в shell, python, C, C ++.