как изменить длину аудиофайла wav, чтобы он соответствовал фиксированной длине, сжимая его - PullRequest
0 голосов
/ 31 октября 2019

У меня есть набор аудиофайлов, длина которых варьируется от 2 до 3 секунд.

Как изменить длину или продолжительность этих аудиофайлов, чтобы они соответствовали 2 секундам. но я не могу обрезать данные. необходимо сжать данные и управлять скоростью звука вместо обрезки.

enter image description here

Например, минимальная длина этого файла составляет около 2,3 с после обрезки,мне все еще нужно сделать ровно 2 секунды без.

Я пытаюсь использовать эти данные в био-матричной аутентификации. поэтому этот процесс не должен повредить какие-либо важные особенности данных. Можно ли изменить это так, как если бы человек говорил быстрее, слушал.

Любая ссылка, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Для сокращения длительности аудиофайла вы можете использовать несколько разных подходов.

Частота дискретизации

необходимо сжать данные и манипулироватьскорость звука вместо обрезки.

Вы можете изменить частоту дискретизации файла. Если бы исходная частота дискретизации составляла 44.1 кГц с сохранением 44100 выборок, это дало бы вам длительность ровно одну секунду. Чтобы изменить длительность, скажем, на полсекунды, вы можете просто удвоить частоту дискретизации до 88,2 кГц. Это приведет к воспроизведению файла с удвоенной скоростью, и в результате высота тона будет увеличена на одну октаву. Частота выборки в файле WAV - это просто число, разница в том, как вы собираетесь использовать этот файл и как он импортируется в среду цифрового аудио. Если вы импортировали файл 88.2 кГц в проект 44.1 кГц, может произойти одно из двух действий

  1. Вы можете обнаружить, что файл просто воспроизводится, возвращаясь к своему оригиналудлительность 1 секунда ИЛИ
  2. она может сохранить длительность 0.5 секунд, но вы потеряете половину отсчетов и, следовательно, некоторое высокочастотное содержимое.

Если вы хотите изменить частоту дискретизации Fs1 с N выборками, длительность составляет Tf1. Для новой длительности Tf2 умножьте частоту дискретизации на соотношение старой и новой длительности, чтобы получить новую частоту дискретизации Fs1. т. е.

Fs2 = Fs1 * (Tf1/Tf2)

Вы должны будете убедиться, что любая среда, которую вы используете, способна обрабатывать нечетные и необычные частоты дискретизации.

Частота дискретизации файла WAV

Чтобы изменить частоту дискретизации wav-файла, вам просто нужно отредактировать заголовок файла

Вам необходимо отредактировать как SampleRate на byte 24, так и ByteRateна byte 32. волновая библиотека должна держать вас в курсе.

DAW, такая как Audacity или Praat, должна помочь вам. Это может быть довольно медленным для большого количества файлов.

Понижение частоты дискретизации

Вы можете уменьшить выборку файла и сохранить частоту дискретизации. отбрасывание выборок означало бы потерю данных, которая противоречила бы этому предупреждению в вашем вопросе.

, поэтому этот процесс не должен повредить какие-либо важные характеристики данных.

Есливы имеете дело с речевыми данными, вы можете потерять некоторую информацию практически без вреда для здоровья. Речь человека находится в диапазоне от 20 Гц до 20 кГц , поэтому идеальной является частота дискретизации не менее 40 кГц, хотя, возможно, этот диапазон может быть уменьшен до 16 кГц без слишком больших потерь в деталях. ,Если вы смотрите только на определенное содержание речи, например гласный звук или перегиб F0, вы можете уменьшить диапазон на 2 кГц. Взгляните на некоторые основы выборки речи

0 голосов
/ 01 ноября 2019

1 опция:

Удаление тишины в речевых сигналах, это уменьшит размер и продолжительность речевого файла.

Вы можете использовать инструмент mathlab, чтобы сделать это, вот некоторые ссылки:

https://www.mathworks.com/matlabcentral/fileexchange/28826-silence-removal-in-speech-signals?focused=c9fdfa40-65ab-e9fe-13b9-d9d3efb80fa8&tab=function

https://www.mathworks.com/matlabcentral/fileexchange/57485-remove-silence-from-the-speech-signal-for-accurate-recognition

, вы можете найти любой другойАудио редактор, который делает это.

...