ffmpeg очистить все фоновые шумы в посткасте - PullRequest
0 голосов
/ 16 марта 2019

У меня есть сотни подкастов без музыки, только голос и тишина в комнате. В тишине у меня много щелчков, дыханий и т.д ... Мне нужно почистить все молчание скриптом, сохранив голос без изменений.

На этой фотографии вы видите мои грязные молчания

И вот результат Я хочу во всех моих аудио

Когда я использую некоторые сценарии sox. Я не получаю результат, который вижу, потому что сценарий влияет на голос, тишина в комнате исчезает, и некоторые звуки все еще остаются в тишине.

Затем, чтобы сохранить голос, я хочу сделать следующее:

  1. Удалить все молчания дольше 3 секунд.

  1. Разделите все аудио и глушители с помощью порядковых номеров. ie.:

    • 001-Silence-2.0seconds.wav
    • 002-voice.wav
    • 003-Silence-0.25seconds.wav
    • 004-voice.wav
    • 005-Silence-0.75seconds.wav
    • 006-voice.wav
    • ...
    • ...

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

    • myManuallySilence-0.25seconds.wav
  2. myManuallySilence-0.75seconds.wav
  3. myManuallySilence-0.1seconds.wav
  4. myManuallySilence-1.25seconds.wav
  5. ...
  6. ...
  7. myManuallySilence-2.50seconds.wav
  8. myManuallySilence-2.75seconds.wav
  9. myManuallySilence-3.0seconds.wav

  1. скрипт проверит продолжительность грязных пауз и заменит их файлами myManuallySilence-x.xseconds.wav

  1. объединить все файлы в один wav-файл с исходным голосом и очистить все молчания.

На данный момент у меня есть только этот скрипт:

# get the path of Adobe Audition and add timestamp in the output 
filename
fileName=out
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
newFileName=$fileName.$current_time.wav
#yourPathAPP=/Applications/Adobe\ Audition\ CC\ 2019/Adobe\ Audition\ 
CC\ 2019.app
yourPathAPP=/Volumes/6TB/Applications/ocenaudio.app
# # First denoise audio

# ## Get noise sample
 ffmpeg -i in.wav -vn -ss 00:00:00 -t 00:00:01 noise-sample.wav

# ## Create noise profile
 sox noise-sample.wav -n noiseprof noise.prof

# ## Clean audio from noise
 sox in.wav $newFileName noisered noise.prof 0.50
# # Split audio by noise
 sox -V3 $newFileName output.wav silence 1 00:00:02.000 - 80d 1 
 00:00:02.000 -80d : newfile : restart

# ####### (these settings worked for my computer mic - maybe we need to 
finetune them later) #######

Получает весь голос в отдельных файлах, как это: output001.wav output002.wav output003.wav output004.wav ... output00x.wav

Пожалуйста, любые предложения будут оценены. Большое спасибо заранее!

...