Guest User

Untitled

a guest
Dec 22nd, 2022
790
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. from pathlib import Path
  2. audiopath = "/home/nano/audiofiles/out/splits"
  3. dataset_name = "test-dataset"
  4. import os
  5. import subprocess
  6. import soundfile as sf
  7. import pyloudnorm as pyln
  8. import sys
  9. import glob
  10. rnn = "/home/nano/repos/rnnoise/examples/rnnoise_demo"
  11.  
  12. paths = glob.glob(os.path.join(audiopath, '*.wav'))
  13.  
  14. for filepath in paths:
  15.  
  16. base = os.path.basename(filepath)
  17. tp_s = "" + dataset_name + "/" + "converted" + "/"
  18. tf_s = "" + dataset_name + "/" + "converted" + "/" + base
  19. target_path = Path(tp_s)
  20. target_file = Path(tf_s)
  21. print("From: " + str(filepath))
  22. print("To: " + str(target_file))
  23.  
  24. subprocess.run(["sox", "-G", "-v", "0.95", filepath, "48k.wav", "remix", "-", "rate", "48000"])
  25. subprocess.run(["sox", "48k.wav", "-c", "1", "-r", "48000", "-b", "16", "-e", "signed-integer", "-t", "raw", "temp.raw"]) # convert wav to raw
  26. subprocess.run([rnn, "temp.raw", "rnn.raw"]) # apply rnnoise
  27. subprocess.run(["sox", "-G", "-v", "0.95", "-r", "48k", "-b", "16", "-e", "signed-integer", "rnn.raw", "-t", "wav", "rnn.wav"]) # convert raw back to wav
  28.  
  29. subprocess.run(["mkdir", "-p", str(target_path)])
  30. subprocess.run(["sox", "rnn.wav", str(target_file), "remix", "-", "highpass", "100", "lowpass", "7000", "rate", "22050"]) # apply high/low pass filter and change sr to 22050Hz
  31. data, rate = sf.read(target_file)
  32.  
  33. # peak normalize audio to -1 dB
  34. peak_normalized_audio = pyln.normalize.peak(data, -1.0)
  35.  
  36. # measure the loudness first
  37. meter = pyln.Meter(rate) # create BS.1770 meter
  38. loudness = meter.integrated_loudness(data)
  39.  
  40. # loudness normalize audio to -25 dB LUFS
  41. loudness_normalized_audio = pyln.normalize.loudness(data, loudness, -25.0)
  42. sf.write(target_file, data=loudness_normalized_audio, samplerate=22050)
  43. print("")
  44.  
Advertisement
Add Comment
Please, Sign In to add comment