2018年10月21日日曜日

Sox コマンド

Soxコマンドを使えばプリエンファシスがかかったままリッピングしてしまった音声ファイルを、
事後であってもデエンファシスできます。

ただワイルドカードを使ってディレクトリー中のすべてのファイルを処理する簡単な方法がわかりませんでした。

http://shimaphoto03.com/program/sox/

にシェルスクリプトの例があるのですが、私にはチンプンカンプンでした。

シェルスクリプトの勉強が必要で、それなら一行コマンドを書いてVimで編集したほうが楽な気がします。

Haskellなら次のように極めて直感的に、かつ短く書くことができます。


import System.Process
import System.Directory
doCom x = createProcess (proc "sox" [x,("d-"++x),"deemph"])
main = do
c <- getCurrentDirectory
fs <- listDirectory c
print fs
mapM_ doCom fs
view raw a.hs hosted with ❤ by GitHub


listDirectory がないと言われたら、

$ cabal install 'directory-1.2.5.0' -v

注:デジタルフィルターによるデエンファシスはもとのデータを書き換えてしまいます。
またノイズ低減効果も失われます。
ただし聴覚上の差はないとされています。

0 件のコメント:

コメントを投稿