SoX(Sound eXchange)の使い方例

SoX(Sound eXchange)の使い方例

1 概要

  • SoX(Sound eXchange), 音声処理のためのスイスアーミーナイフ
  • なんでも出来るがゆえ、使い方難しい

2 この文書作ろうと思ったきっかけ

  • 備忘録かねて作ることに

4 似たツール

  • CSound (音作成関係面では)

5 インストール情報

  • Windows, Mac用は https://sourceforge.net/projects/sox/files/sox/ からダウンロード可能,最新のバージョン番号の該当のファイルをダウンロードして、実行すれば多分インストールされるはず
  • Ubuntu(Debianも)の場合は、パッケージになってるので、以下でOK
sudo apt install sox
  • Linuxの他のディストリビューションも、SoXは必ずパッケージ化されてると思うので、そのディストリビューションのパッケージ管理コマンドでインストール出来る。

6 音の作成

  • 色々な音を簡単に作成して試すことが出来る(効果音とか作りやすい)

6.1 指定時間の無音音声ファイル作成

6.1.1 以下の操作を行っている動画


6.1.2 指定時間の無音音声ファイル作成手順

  • 3秒間の無音
sox -n silence.wav trim 0.0 3.0 
  • オプションの意味は
    • -n : 入力無し
    • silence.wav 出力ファイル名
    • trim 0.0 3.0 :最初の3秒切り出し
  • 以下でもいけた(ゴミ数値はいってるかもしれないけど、聞いても無音)
sox -n silence.wav synth 3 sine 100 vol 0 
  • オプションの意味は
    • -n : 入力無し
    • silence.wav 出力ファイル名
    • synth 3 sine 100 : 音声合成3秒間sine波形で、周波数100Hz
    • vol 0 : ボリューム0

6.1.3 この節のまとめ

  • 指定時間の無音ファイルの生成

6.2 指定時間の指定周波数のサイン波作成

6.2.1 以下の操作を行っている動画


6.2.2 指定時間の指定周波数のサイン波ファイル作成 手順

  • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
play -n synth 3 sine 500
  • オプションの意味は
    • -n : 入力無し
    • synth 3 sine 500 : 音声合成3秒間sine波形で、周波数500Hz
  • 今の音を 500.wav というファイルに保存する場合は以下で出来ます。
sox -n 500.wav synth 3 sine 500
  • オプションの意味は
    • -n : 入力無し
    • 500.wav : 出力ファイル名
    • synth 3 sine 500 : 音声合成3秒間sine波形で、周波数500Hz

6.2.3 この節のまとめ

  • playコマンドの使い方の例(playコマンドで試して、上手くいったものをsoxコマンドでファイル出力するのがオススメ)
  • 指定時間の指定周波数のサイン波ファイル作成をおこなった
  • (周波数を指定しない場合440Hzがデフォで使われる)http://sox.sourceforge.net/sox.html(でsynthで検索)

6.3 指定時間の色々な波形の音の作成

6.3.1 以下の操作を行っている動画


6.3.2 指定時間の指定周波数の色々な波形の作成 手順

  • マニュアルのsynth部分を確認すると以下の波形が指定可能です(デフォルトはsine) http://sox.sourceforge.net/sox.html(でwhiteあるいはsynthで検索)
  • Linux系なら以下でマニュアルみれる
man sox
  • sine
  • square
  • triangle
  • sawtooth
  • trapezium
  • exp
  • [white]noise
  • tpdfnoise
  • pinknoise
  • brownnoise
  • pluck
  1. square
    • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
    play -n synth 3 square 500
    
    • オプションの意味は
      • -n : 入力無し
      • 500.wav : 出力ファイル名
      • synth 3 square 500 : 音声合成3秒間square波形で、周波数500Hz
  2. triangle
    • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
    play -n synth 3 triangle 500
    
    • オプションの意味は
      • -n : 入力無し
      • 500.wav : 出力ファイル名
      • synth 3 triangle 500 : 音声合成3秒間triangle波形で、周波数500Hz
  3. sawtooth
    • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
    play -n synth 3 sawtooth 500
    
    • オプションの意味は
      • -n : 入力無し
      • 500.wav : 出力ファイル名
      • synth 3 sawtooth 500 : 音声合成3秒間sawtooth波形で、周波数500Hz
  4. trapezium
    • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
    play -n synth 3 trapezium 500
    
    • オプションの意味は
      • -n : 入力無し
      • 500.wav : 出力ファイル名
      • synth 3 trapezium 500 : 音声合成3秒間trapezium波形で、周波数500Hz
  5. exp
    • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
    play -n synth 3 exp 500
    
    • オプションの意味は
      • -n : 入力無し
      • 500.wav : 出力ファイル名
      • synth 3 exp 500 : 音声合成3秒間exp波形で、周波数500Hz
  6. pluck
    • 周波数500Hzの3秒の波形を生成して、音を聞いてみます。
    play -n synth 3 pluck 500
    
    • オプションの意味は
      • -n : 入力無し
      • 500.wav : 出力ファイル名
      • synth 3 pluck 500 : 音声合成3秒間pluck波形で、周波数500Hz

6.3.3 この節のまとめ

  • sine以外の波形を生成して聴いてみた
  • noise系は不快な音になるので、各自お試しください。(ノイズ系では周波数指定は意味なし)

6.4 プッシュフォンの音をSoXで作ってみる

6.4.1 以下の操作を行っている動画


6.4.2 プッシュフォンの音をSoXで作ってみるの手順

  • 「プッシュホン 周波数」でググると、使っている周波数を調べることが出来る
    • 1209Hz,1336Hz,1447Hz,1633Hzと 697Hz,770Hz,852Hz,941Hzの組み合わせ
    • 9,5,1なら1447Hz+852Hz, 1336Hz+770Hz, 1209Hz+697Hz
play -n synth 0.5 sine 1447 sine 852  
play -n synth 0.5 sine 1336 sine 770
play -n synth 0.5 sine 1209 sine 697
  • オプションの意味は
    • -n : 入力無し
    • synth 0.5 sine 1447 sine 852: 音声合成0.5秒間sine波形で、周波数1447Hzと周波数852Hzの和音
  • 一度にやると
play -n synth 0.5 sine 1447 sine 852  ; play -n synth 0.5 sine 1336 sine 770 ; play -n synth 0.5 sine 1209 sine 697

6.4.3 この節のまとめ

  • 今までの知識を元に、プッシュフォンの音を合成してみた

6.5 周波数を変化させてみる1

6.5.1 以下の操作を行っている動画


6.5.2 周波数を変化させてみる1

  • 100Hzから1000Hzまで
play -n synth 0.5 sine 100-1000
  • 1000Hzから100Hzまで
play -n synth 0.5 sine 1000-100
  • マニュアルで確認すると、用意されている変化の方法として以下がある。
:      Linear: the tone will change by a fixed number of hertz per second.

+      Square: a second-order function is used to change the tone.

/      Exponential: the tone will change by a fixed number of semitones per second.

-      Exponential: as `/', but initial phase always zero, and stepped (less smooth) frequency changes.
  • :をやってみる
play -n synth 0.5 sine 100:1000
  • +をやってみる
play -n synth 0.5 sine 100+1000
  • /をやってみる
play -n synth 0.5 sine 100/1000

6.5.3 この節のまとめ

  • 周波数を変化させてみた

7 今後

  • 今後も文書追加していきます。

8 この文書のチェンジログ

  • 2021/01/17 初版
  • 2021/01/19 周波数を変化させてみる1 の節追加

著者: NM Max

Created: 2021-01-24 日 07:34

Validate

カテゴリーSoX

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です