Advertisement
Narzew

Silence Remover v 1.00 by Narzew

Jul 10th, 2014
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.45 KB | None | 0 0
  1. #==============================================================
  2. #**Silence Remover
  3. #**Narzew
  4. #**v 1.00
  5. #**10.07.2014
  6. #==============================================================
  7. #**Thanks to Shady, that inctrodues sox to me ;)
  8. #==============================================================
  9. #**Script requires Ruby, sox and sox specified format plugin to run.
  10. #==============================================================
  11. #**SilenceRemover.remove_from_file(x) - remove silence from file x
  12. #**SilenceRemover.remove_from_folder(x) - remove silence from folder x and subfolders
  13. #==============================================================
  14.  
  15. require 'find'
  16.  
  17. module SilenceRemover
  18.  
  19.     def self.remove_from_file(x)
  20.         x = x.tr("\\","").gsub("\"","\\\"")
  21.         system("sox \"#{x}\" TMPFILE.mp3 silence 1 0.1 0.1% reverse silence 1 0.1 0.1% reverse")
  22.         system("mv TMPFILE.mp3 \"#{x}\"")
  23.     end
  24.    
  25.     def self.remove_from_folder(x)
  26.         Find.find(x).each{|y|
  27.             next if y.split(".")[-1] != "mp3"
  28.             print "Removing silence from #{y}..\n"
  29.             SilenceRemover.remove_from_file(y)
  30.         }
  31.     end
  32.    
  33. end
  34.  
  35. begin
  36.     print "Silence Remover v 1.00 by Narzew\n"
  37.     if ARGV.size != 2
  38.         print "Usage:\nSilenceRemover.rb 0 FILE - remove from file\nSilenceRemover.rb 1 FOLDER - remove from folder and subfolders\n"
  39.     elsif ARGV[0].to_i == 0
  40.         SilenceRemover.remove_from_file(ARGV[1])
  41.     else
  42.         SilenceRemover.remove_from_folder(ARGV[1])
  43.     end
  44. rescue => e
  45.     print "Error: #{e}\n"
  46. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement