• ベストアンサー

音量、音圧、振幅、定義式、matlabについて よろしくお願いします。

はじめまして 音楽家(作曲、アレンジ)をやりながら大学の修士課程で信号処理(音声)の研究をおこなっています。 曲のミックス、マスタリング時において 各パートまたは2ミックスされたものに聴感上、音を前に出したり、迫力を出したりする時にコンプを使って音圧をあげます。 一般的には、このときにコンプを使うことによりデコボコだった時間軸波形を平らになるようにします。波形が変わるので若干音質も変化をします。 音量の上げ下げをするときは、ボリュームボタンを操作することにより音質を変えることなく音量を変えることが出来ます。 ここで質問なんですが 音量と音圧の定義(式)または違いは何でしょう? 次に matlabを使って音声信号処理シミュレーションを行っているときに 音声をmatlabに読み込み、音声の音量を変化させたいと思って、音声信号を定数倍することにより音量の変化を試みました。 ここで、音声を定数倍することにより音量を上げようとしたときに音質が変わる気がするのですが気のせいでしょうか?(音量の変化=振幅の変化?) 気のせいではないとしたら この理由として、自分なりの考えは matlabで扱える振幅の範囲を超えてしまい自動的にコンプがかかったような状態になったのではないか と思っています。 どうなんでしょうか? また、matlabのコマンドとして、取り込んだ音声データのボリュームを操作できる関数はないのでしょうか? さらに 音の音色を決めるのは「波形」だと言われていますが 市販されている各アーティストのCDをPCに取り込み波形を見ると、当然ですがミックスやマスタリングを行っていることによりほぼ平らになってます。 大体どんなアーティストのCDの波形を見ても同じ様な波形をしていると思いますが、 聞いてみると当然、それぞれのアーティストの曲が聞こえますね どうゆうことなんでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • cqw32653
  • ベストアンサー率50% (121/239)
回答No.3

> >波形を短い時間軸(例えば数msec.)で拡大して見てみれば、著しく > >異なる波形をしています。 > >ですから、違う曲に聴こえるのは当然です。 > 私が聞きたかったのはそういうことではありません。 > たしかに波形を拡大してみれば異なっています。 これは、 > 大体どんなアーティストのCDの波形を見ても同じ様な波形をしていると思いますが、 > 聞いてみると当然、それぞれのアーティストの曲が聞こえますね とのご質問に対し、「いいえ、大体どんなアーティストの波形も同じような波形ではありません」「だから音が違うのは当然です」という意味の回答になります。 > 質問の意図は > 波形から音を見分けることが出来るのかということです。 波形を見れば形ですから「形が違う」というのは分かりますが、音ではありませんので「音を見分ける」というのは無理ですね。音の場合は聴覚を使って「聞き分ける」という作業になりますね。 いずれにせよ、どんな音量調整の作業でも、それが「整数倍」のゲインアップでない限り、必ず大なり小なり波形は「変質」します。それが聴覚で聞き分けできるかはまた別の話ですが。 波形から「音が見えた!」という人がいたら、ほとんど神の領域ですね。我々にわかるのはせいぜい、編集により「源波形から、相似形が崩れた」ということが形から分かるのみです。 > >もしも「整数倍」という意味であれば、原理的には音質劣化は生じて > >いません。 > 「整数倍」ではなくて1以上の実数ではないでしょうか? 定数は「1以上の実数」という意味でしたか?もしそうであれば音量調整の編集作業により、「音質劣化します」。音質劣化しないと言えるのは、上に書いたとおり「整数倍」の場合に限られます。ただし、クリッピングが生じた場合は話が別ですが。 上記、「定数」は「整数倍」ではないと分かったので、再回答します。 > ここで、音声を定数倍することにより音量を上げようとしたときに音質が変わる気がするのですが気のせいでしょうか?(音量の変化=振幅の変化?) 上記の「定数倍」が「整数倍」でない限り、編集によって音質(というより応答波形)は変化します。ですから気のせいではないかも知れません。 例えばある時間軸の中で、3点だけ離散サンプル点の数値を切り抜いて見てみましょう。かんたんのため、値を10進数の0~65535で扱います。    37785, 37789, 37924... これを電圧比で約+4dB、つまり約1.6倍にしてみます。すると、    40795.2, 40801.6, 41017.6... LPFで周波数制限された波形が完全に一致するためにはこのような数値にならなければいけないはずです。しかし悲しいかな、16bit信号ではこの小数点が扱えないため、    40795, 40802, 41018... となります。つまり、「波形の形が微妙に変わります」。 この数値丸めの悪影響は、信号のレベルが低い微弱音で、より深刻になります。この数値丸めの悪影響が出ないのは、「整数倍だけだ」というのは直感的にお解りいただけると思います。 波形を厳密に重ね合わせて比較すれば分かることですが、明らかに源波形と相似形ではなくなります。 以上から、ディジタル信号は、やたらとディジタル信号のままで音量編集してよいものではありません。それだけで音質は変化しますので。 …と、過去からもさんざん言われていることですね。

kamarcho
質問者

お礼

御丁寧にありがとうございました。

kamarcho
質問者

補足

ありがとうございます。 まだ研究を始めて日が浅く、無知なもので ためになりました

その他の回答 (2)

  • nokata
  • ベストアンサー率27% (134/493)
回答No.2

ほぼcqw32653さんが回答していますので補足的に少し。 音量を上げるためにレベルを上げ下げすれば音質は変わりませんが音色が変わります。デジタルでもアナログでも同じです。波形の変化量は一定の倍率なので変化無しと見るところですが、音色として違いが出てしまいます。しかし人の耳はそれを自動補正してしまうのであたかも同じであると錯覚するわけです。また波形をデスプレ-で見ても細かな違いはわかりません。音色に繋がる違いを見つけることは不可能だと思います。

kamarcho
質問者

補足

なるほど やはり波形を見て音色に繋がる違いを見つけることは不可能なんですね ありがとうございます

  • cqw32653
  • ベストアンサー率50% (121/239)
回答No.1

> 音量の上げ下げをするときは、ボリュームボタンを操作することにより > 音質を変えることなく音量を変えることが出来ます。 ボリュームボタンと仰っているその装置に内蔵されている機構は、ディジタルボリュームですか?それともアナログボリュームですか? > ここで質問なんですが > 音量と音圧の定義(式)または違いは何でしょう? 「音の大きさ」「音圧」「音圧レベル」には明解な定義があります。 しかしながら「音量」は定義がない感覚的な用語だと思われます。   cf. 「音量を上げてください」     「もうすこしボリュームを下げてよ」 定義については下記が良いですね。(Editorさんありがとう) http://ja.wikipedia.org/wiki/%E9%9F%B3 http://ja.wikipedia.org/wiki/%E9%9F%B3%E3%81%AE%E5%A4%A7%E3%81%8D%E3%81%95 よく混同されている方を見かけるのですが、学術的な意味での「音の大きさ」「音圧」「音圧レベル」は本来違うものですから、意識して使い分けるようにした方がモアベターです。 以下、matlabを直接使ったことが無いので想像半分で回答します。 > matlabを使って音声信号処理シミュレーションを行っているときに > 音声をmatlabに読み込み、音声の音量を変化させたいと思って、音声信 > 号を定数倍することにより音量の変化を試みました。 > ここで、音声を定数倍することにより音量を上げようとしたときに音質 > が変わる気がするのですが気のせいでしょうか?(音量の変化=振幅の > 変化?) 「定数倍」とおっしゃっているのは「整数倍」の意味でしょうか? もしも「整数倍」という意味であれば、原理的には音質劣化は生じていません。「整数分の1」であれば音質劣化が生じます。 ただし、音質劣化していないことを聴感のみで証明するには個人の環境では難しいです。編集前と編集後の聴取音圧レベルを厳密に揃えることができれば、聞き比べが可能です。音量が変化すれば感覚的な音質も変化するのがヒト聴覚の特徴ですから、私感に頼った「変わる/変わらない」の議論はあまり意味がありません。 > 気のせいではないとしたら > この理由として、自分なりの考えは > matlabで扱える振幅の範囲を超えてしまい自動的にコンプがかかったよ > うな状態になったのではないか と思っています。 > どうなんでしょうか? 元波形と、編集完了後の波形の同一箇所を見比べてみればハッキリします。見比べてみましょう。 ただ、「定数倍」とおっしゃっていることから、レベルを上げているのですよね。一般のパッケージコンテンツ音楽ソフトはほぼ波形が上下フルスゥイングしているものですから、それのレベルを「倍」になんてしてしまったら、当然レベルオーバーを起こします。 編集ソフトウェアが優れていれば、そのオーバーレベル部分に折り返し歪みが生じないよう、波形コンプレッサーの動作が入り、波形の尖塔部が丸まります。 matlabもライブラリを拡張すれば何でもできるはずですから、自作すれば各種の編集も半自動化が可能と想像します。 > さらに > 音の音色を決めるのは「波形」だと言われていますが > 市販されている各アーティストのCDをPCに取り込み波形を見ると、当 > 然ですがミックスやマスタリングを行っていることによりほぼ平らにな > ってます。 > 大体どんなアーティストのCDの波形を見ても同じ様な波形をしている > と思いますが、 「ほぼ平ら」の意味が分かりませんが、ようするに振幅が常時高いレベルを保持している、つまりダイナミックレンジが狭いという意味でしょうか? それは楽曲にもよります。例えば、良く売れるポピュラー音楽であればご指摘どおりかも知れませんが、一部の現代音楽や環境音楽では弱奏部と強奏部でかなり波形(のレベル)が違います。 > 聞いてみると当然、それぞれのアーティストの曲が聞こえますね > どうゆうことなんでしょうか? 波形を短い時間軸(例えば数msec.)で拡大して見てみれば、著しく異なる波形をしています。 ですから、違う曲に聴こえるのは当然です。 こういうものを使って音楽波形を眺めてみてください↓ http://www.cycleof5th.com/products/soundengine/

kamarcho
質問者

補足

回答ありがとうございます >波形を短い時間軸(例えば数msec.)で拡大して見てみれば、著しく >異なる波形をしています。 >ですから、違う曲に聴こえるのは当然です。 私が聞きたかったのはそういうことではありません。 たしかに波形を拡大してみれば異なっています。 質問の意図は 波形から音を見分けることが出来るのかということです。 >もしも「整数倍」という意味であれば、原理的には音質劣化は生じて >いません。 「整数倍」ではなくて1以上の実数ではないでしょうか? >「整数分の1」であれば音質劣化が生じます。 「整数分の1」ではなくて [-1<0,0<1] の範囲でということではないでしょうか? 私の勘違いですか? ちなみに 一般的に「定数」というのは「整数」とは意味が異なります。 定数とは任意の実数か任意の複素数のことです まあ、「音量をコントロールしよう」ってときに複素数や負の実数は使いませんが