現在はプログラミング教育が始まっているので、PCやタブレットを使って任意のOSを使った学習が始まっていますが、モバイルの場合だとマイクとカメラが付いているので、文教用の製品に実装されているものだと音質は期待できませんが、とりあえず、
■ 写真撮影
■ 動画撮影
■ 音声の録音
が行えるようになっています。殆どの環境でボイスレコーダーは実装されていますら音の録音は可能で、カメラアプリもあるので撮影もできるわけですが、編集環境を考えると存在しない場合が多いです。
例えば、WINDOWとAndroid環境だと別途編集用のソフトウェアやアプリをダウンロードする必要があるので、そうした環境構築が必要になりますから録音が出来ても変数が出来なかったりします。
iOS環境もアカウントにログインしてiMovieやGarageBandのダウンロードが必要になりますから、編集環境を事前に用意する必要が出てきます。
現在は音の変種をする場合でもOSSやフリーウェアがあるので個人が音を触ってみる場合だと選択肢が多いのですが、動画でも音を使うシーンはありますし、アニメーションだと音自体が存在しませんから、そうした物を用意する必要が出てきます。当然、ゲームの場合だとプログラムでの数値の制御ですから、動いているもの自体を用意する必要があるのでスプライトやテキストを用意したり、ポリゴンを使う場合だと、内積と外積で計算して使用するシェーダーやボリュームがありますが、これとは別に頂点の内積や外積で計算できない部分をポスプロで処理を行う事になります。
ただし、この情報は視覚情報のみですから聴覚へ語り掛ける情報はないので音を作る事になります。
これとは別に入出力の制御もありますが、コンテンツの場合、音声と映像で動いている物の場合には、この二者を作る事になりますが、動画を作る場合も、撮影場所の音で作ると結構酷いことになる事もあるので、後処理で音を入れた方が映像が良くなる場合もあります。その為、音の使い方は色々ありますが、ゲームやアニメの場合その場に存在しない音をSEとして使っているので、実際にはその音を作って使用する事になります。
音 の種類
音を作る場合ですが、
■ 素材を録音して加工する
■ 波形とノイズを組み合わせて作る
の2つの方法があります。前者については録音した素材を加工して使う方法になりますが、この場合、その場所に存在する波形を持ち変える事になるので、周波数成分が決まった状態の 【 定数化した物 】 を持ち帰る事になります。その上で加工をする事になりますから、元の素材の方向性が決まった物を録音してそれを加工するという流れになります。
後者は、 【 成分の合成 】 で作る物になりますから、三角関数の加算で音を作ったり、フーリエ級数で変化させて生成された矩形波や三角波を合成して音を作るような方法になります。これにノイズを加えた物になるので、パルスとノイズを生成して加工したもの同士を和音のように重ねて加工する方法になります。
基本となるのはこの二者ですから、用意する素材についても
■ 録音素材
■ 波形とノイズ
と言う二者になります。前者がレコーディングで収録する音声で、後者がシンセサイザーで作る音の加工前の物になります。
音 の編集
音の編集ですが、先程の二者だとリニアPCMの加工と同じなので、基本的に波形を加工する作業になります。この時に使用するのが
■ 波形編集ソフト
■ DAW
になりますが、波形編集ソフトは波の状態を加工するツールになっていますが、DAWはMIDIも使えるので、サンプラーを使って読み込んだ音をノートでピッチシフトを書ける事も出来ます。あと、市販のDAWの場合、読み込んだオーディオ素材をアシッダイズする事で、ピッチシフトやタイムストレッチが出来るようになるので、ノートの音階を変えるとピッチまで一緒に代わってしまうようなことが発生しません。
その為、オーディオの取り扱いがどうなっているのかでDAWの音の取り扱いも変わってきますが、ソフトによって出来る事が違います。
■ 波形編集
波形編集と言うと少し難しい気がしますが、簡易編集だと、
■ スプリット (分割)
■ トリミング (余計な部分の除去)
■ エフェクトの追加
ですから、基本的に動画編集における素材の加工と同じ処理になります。波形の加工については、現在はScratchでも行えるのですが、Scratxhをインストールする一緒にオーディオ素材も用意されているので、色々な音を使う事が出来るようになります。
Scratchでの音の加工については、
の中で触れていますが、
■ Scratchで音を扱う
のような感じでフィルターを使って音を変える事もできます。
波形編集をする場合だと、
■ Audacity
がありますが、
■ Audacityでエフェクトを使う
の動画の冒頭の部分で、部分的な音圧の違いの調整などもしていますが、録音資材の音圧の調整などもできます。こうした処理ですが録音素材を使った場合だと録音レベルで調整の可否が出来るのですが、音が割れた状態だと復旧できないので、最適な音圧レベルにして録音する必要があります。
録音素材の加工については、
の中でも触れていますが、音圧レベルを上げすげると音が変質します。これについては、
■ 音圧の変化
の動画内で行っていますが、同じ音を重ねると倍音効果で音圧が上がります。同じ波形を重ねると、波が高くなるというのは、高校の物理の 【 波動 】 のカリキュラムの内容と全く同じ考え方になりますが、波のな藍山同士が重なると波が高くなるのですが、この条件は波の特性なので空気の振動で発生する波でも同じ状態になります。
音の場合、サインカーブですから、 【 f(x) = sin(x) 】 のグラフを加算した状態と同じになるので、音圧レベルが高くなってしまうわけです。また、音圧を上げて振り切らせた場合、
■ 音圧を振り切って歪みを入れた物
のように 【 歪系フィルターのような音になる 】 ので音圧レベルを角に上げた場合、音割れが発生するだけでなく、音自体が破綻するので適正な音圧レベルで録音する必要があり、マスタリング時にもそうした出力をする必要があります。
■ エフェクト
エフェクトについては、ソフトによってVSTやAUやDXなど色々な物が使用できるようになっていますが、オーディオ素材を加工して別の音にする事も出来ます。ヴォコーダーは、用意した波形と合わせたステレオのソースを用意してそれをミキシングして音の質を変える物になりますが、
■ ヴォコーダー
のような音の変化を入れることができます。また、これとは別に、Audacityでテンポの速度を変更すると
■ 特殊な音の変化
のような変化を追加することもできます。音の変化はEQやパスフィルターのようにフーリエ級数での制御もありますが、前者が個別の周波数に対する調整で、後者は比較演算子で範囲を指定する処理になりますが、これとは別にウェット成分を別に用意したり、波形の山の向きを上下と前後で入れ替えたり、音が追いかけてくるような処理なども利用できます。
■ 音を作る
波形編集ソフトでは、録音素材の編集をするようなイメージがあるかもしれませんが、基本的に音はパルスとノイズがあれば、合成が出来るので、音を作るための構成要素を用意することはできます。これに対して、ピッチシフトなどで音の高さを変更したり、音圧レベルを変更する事で音の状態をコントロールする事ができます。この時にそのままの素材だとドライの音になるので、ウェット成分を別に用意する為にリバーブとかラウドネスをつかって空間内の音を作る事になりますが、音の構造自体が自然界の音だとサインカーブとノイズなどで構成されているので、これを加工していくと色々な音を作れます。この時に波形の変化で」音の種類も変わってきますが、波形自体が f(x) = sin(x) のグラフなので、これに係数が加わった物や別の関数を加えることで波の変化も変わってきます。高校の数学では合成関数が登場しますが、関数の解は任意の変数を代入した時のそれぞれの関数の解の演算結果になりますから、加算をした場合にはそれぞれの関数の解の和になりますし、減算をすれば、それぞれの関数の解の差になります。
これは三角関数でも同じなので、複数の三角関数の合成結果は合成関数で処理をした結果と同じになります。現実世界の音はそう言ったサインカーブの集合体になっていますから、和音で構成されている訳ですが、その和音を作る事で音の状態を構築する事ができます。
基本的にシンセサイザーがノイズとパルスを組み合わせて和音を作る構造で、個別のトラックの音の加工をして組み合わせることで音を作っていく仕様になっているのですが、Audacityでは、この指定を無制限のトラックを用意して適応できます。と言っても、DAWのようにFXを複数繋いで実装後に調整するようなことはできませんが、Audacityでは、無限トラック、無限アンドゥ・リドゥに対応しています。
音については、
■ 音の制作1
■ 音の制作2
■ 音の制作4
■ 音の制作4
のような感じで作る事ができますが、音の場合、周波数だけでなく、音圧の変化で音の変化を作る事ができます。
■ 定位
オーディオで音素材を作る場合、音の位置が存在するので、モノラルだと音圧レベルの前後の距離の表現しか出来ないので、音の方角が存在しません。その為、音の位置を指定しようとすると、ステレオ以上の空間が必要になります。
の中で触れていますが、ステレオの場合、
のように左右にスピーカーがある構成になります。この時に
のような空間で音が広がっている訳ですが、この空間のどこにモノラルのソースが配置されているのかを決めることになります。その為、シンセでの音作りはモノラルのソースで作って、それをどこに灰落ちするのか、を考えることになります。
モノラルの場合、
の状態なので、方角と言う物が存在しないので奥行きしか表現できません。これを増やしてチャンネル数を持たせることで方向を表g偏できるようになっています。スピーカーが前にあるのに後ろから音がする訳がない(この辺りは波の発生と伝達の特性と全く同じです。)ので、波の発生源の方向を指定する必要があります。その為、映像の再生で音の方向を指定する場合、波の発生源が前にしかない状態だと音の指向性が乏しくなるのでチャンネル数を増やす事になります。
Blu-Rayなどで使用されている7.1chまでは平面のサラウンドで、それ以上の物が高さを持ったものになります。SHVで使用される22.2chについては、三相の空間音響なので、高さが上下方向に指向性を持つ空間音響になります。現在はソニーの360度オーディオもあるので音に指向性を持たせて配置する事が出来るようになっていますが、モノラルのイヤホンではステレオにならないのと同じようにステレオのヘッドフォンではネイティブなサラウンドの音声を聞くことはできません。その為、バーチャルサラウンドを使わない限りステレオヘッドフォンでは後ろ側の音を正確に表現する事が出来ません。ネイティブな音だとサラウンドの音場を作る必要がありますから、そうでない条件だとバーチャルサラウンドを使う必要が出てきます。
音を作る場合、モノラルで作るので、
■ 音素材 : モノラル音源
■ 定 位 : ステレオ以上の空間
を使う事になります。その為、サラウンドの場合、ネイティブな音場を作る場合だと、録音されているソースのチャンネル数と再生機材のチャンネル数を合わせて方向も一致させる必要があります。
ステレオのマスタリングの場合、ミキサーを使いますが、Audacityでもミキサーが実装されているので
のミキサーボードの
■ パンポット
■ フェーダー
を使って左右の位置と音圧レベルによる奥行きを指定する事ができます。SEの場合、真ん中で音が鳴っている状態ですから、音の状態を決めた後にフェーダーで音圧を変えて合成する事になりますが、定位をする時にはそれに方角などの位置情報を追加する事になります。
この時にウェット成分を追加して奥行きの調整をする事ができますが、ラウドネスやリバーブなどを使うなどして位置の変更だけでは表現できない残響音の追加をする事で音の状態を作る事になります。
モノラルとステレオについては、
■ モノラルの音を加工した物
の動画内で元のモノラルのソースを加工してステレオにしていますが、このように音の状態と音源の位置を変えて配置すると動画のような音を作る事ができます。
サラウンドの音源については、OSSのソフトでも使用できるようになっており、
の中でも触れていますが、Blenderでは7.1ch対応になっており、
Audacityでは、最大で32チャンネルのオーディオファイルを作る事ができます。
個人でもこんな感じでチャンネル数の多い音を作れるようになっていますが、チャンネル数は単純にモノラルトラックを再生するスピーカーの数ですから、用意したスピーカーのセットをどう言った形に並べるのかで指向性が変わってきますから、音の聴こえ方も違ってきます。
実際にサラウンドの音を作ると、
■ 5.1chサラウンド(1)
■ 5.1chサラウンド(2)
のような感じになりますが、基本的にバーチャルサラウンドを使うかネイティブな5.1chのサラウンドシステムでなければ、サラウンドに聴こえる事はありません。また、環境によって音の位置がおかしくなることがあるのですが、ネイティブだと、3ch目以降がサラウンドのセットを構成するチャンネルになりますから、3ch目がセンターで、それに2ch追加すると、5chになります。
■ DAW
DAWは、オーディオとMIDIを組み合あせて音楽を作る事が出来るソフトになっていますが、トラックに複数のFXを実装して使用する事ができます。OSSのDAWだとLMMSがありますが、このツールは元からオーディオ素材なども用意されているので素材を並べてピッチを変更して使用したりループ素材を並べて曲を作る事も出来ます。その為、
■ オーディオの配置
■ MIDIに音源を適応する
と言う選択肢があり、音源についても最初からシンセが用意されており、それとは別にVSTiで音源を追加する事も出来ます。
実際に触ってみたのが
■ LMMSを使ってみた物
■ VSTを使った物
になりますが、これに加えて、音の状態をVST PLUGINなどで調整できるようになっています。
DAWの特徴ですが、MIDIのCC(Control Change)のようなに時間の変化に対してエフェクトのかかり方を調整する事が出来る 【 オートメーション 】 と言う機能があります。
DAWを使う時には、確実に覚えておいた方がいい機能なんですが、Audacity使用時の時間単位での音圧の変更をするように実装したエフェクトの状態の変化を追加する事が出来るので音の質感を変えることができます。
この動画内では使用していませんが、そう言った機能もあります。
■ MIDIシーケンサ―
DAWでもMIDIのパートだとピアノロールを使って譜面を作っていきます。ピアノロールは、
■ 縦軸 : 音階(音の高さ)
■ 横軸 : 音価(音の長さ)
になっているのですが、アナログな物だと手回しオルガンの譜面に似ています。
この中にノートと呼ばれるバーを配置する事で音階と音価の指定をする事が出来るのですが、ピアノなので、弦楽器やトロンボーンのような自由な音階は存在しないので、12音階で譜面を作る事になります。
そうなると、トロンボーンやスライドギターのような演奏方法だったり、
■ チョーキング
■ ビブラート
のように音価を周波数の推移で緩やかに変化させるような処理は周波数が完全に解れた状態で調律されているピアノでは対応できません。ピアノでのチョーキングは歴史上そんな奏法は存在しませんし、未来永劫出てくることはないと思いますし、トレモロアームみたいなアームがあって、それを使ってビブラートやチョーキングをかけるような謎のピアノも存在しません。また、テンション自体が 【 人類的に同行できるような物ではない 】 ので、アーム専用の 【 ピアノアーマー 】 と言う謎の走者を用意して演奏するようなピアノも未来永劫出てくることはないと思います。(多分、音と一緒にピアノ自体が物理てkに壊れるので、現実味の無い構造と言えます。)
中学校の物理のカリキュラムでも 【 音 】 が登場しますが、この時に音圧(と言うか、理科だと音の大きさと言う表記になっていると思います。)が波の高さで、音価(これは、音の高さと言う表記になっていると思います。)が波の周期の変化で変わる事を学びますが、デジタルの音の場合、エンコードの段階で、量子化を行った後にサンプリングを行う事になりますが、音圧の階調を量子化ビット数で定めて、音価の変化をサンプリング周波数で制御する仕様になっています。その為、デジタルの音の場合、音を確定させる場合には周波数の指定を行う事になりますが、定数化して数値で指定が可能と言う事は、この部分を変数化する事で音を変化させることが出来るので、恒等式のような構造で管理すれば音に推移を入れることが出来るようになります。
中学校1年生の数学では、一次関数が出てきますが、これが、小学校の算数で出てきた 【 正比例 】 をグラフと数式で管理する方法になります。小学校では、集めたデータを帳票にした物をグラフ化した時に、そのグラフから法則性を見出すような方法で 【 比例の関係性 】 を学習しましたが、この法則性は変数を含めた数式で示す事ができるので、関数を用意すると法則性を記す事が出来ることを学びます。
この法則性は小数点数での推移になりますが、高校の数学では床関数(ガウス)が登場するので、
のようなグラフが出てきますが、これを二変数関数にして使用すると、
のように線分に対して層を与えることが出来るので、面が生成されます。これが三次元ですが、3変数関数にした場合、表記は出来ませんが、グラフとして示されるものは三軸のデータですから、立体形状になり、その立体形状の構造が変形しながらもう一つ字肉に影響を与えながら配置されたグラフが生成されることになります。これが高校で出て来る 【 多変数関数 】 になります。
変数を用いると、【 数値の自由度 】 を与え要る事が出来るのですが、この条件に対して結果も変数化させると、恒等式になるので、一次関数のように推移する物を作る事ができます。物理の世界だとグラフは時間に対する結果を示したものになるので、時間軸に対する結果を変数で制御する事が出来るようになります。当然、この中には、【 波 】 も含まれるので、その構成要素を変数にすると音の状態に変化を与えることができます。
スライドギターやトロンボーンのような楽器では、周波数の変化が小数点数で推移し、これが時間軸で指定した状態で変化するような指定が出来る構造になっていますが、この場合には、音価の変化なので、 【 ピッチシフター 】 による周波数の値を変数化し、その変数に対して、始点と終点を設け、その変化の法則を関数で指定すれば、その関数のグラフの推移と同じ音価の変化を実装する事ができます。
これがDAWのオートメーションとかAudacityの音圧のコントロールと同じものになりますが、MIDIシーケンサのCCも同様にそう言った挙動の制御が出来るようになっています。CCにはピッチシフター相当のビッチベンドがあるので、それを用いると
■ ピッチベンドによる音の変化
のように音を変えることができますが、ピッチベンドの幅を変えることにより同じ推移でも音価の振れ幅を広くすることもできるようになっています。
その為、CCを使う事で弦楽器やトロンボーンのような音の変化を再現する事もできます。
動画内で使用しているMIDIシーケンサ―はDominoになりますが、このソフトでMIDIをSMF形式(スタンダードMIDIファイル形式)で書き出してDAWに持っていくとCCの情報も一緒に持って行く事が出来ます。MIDIは演奏時の設定をした物なので、このファイルに対して音源を適応する事で異なる楽器の音に変えて演奏する事ができます。当然、その中にはヴォコーダーもありますし、録音した音に音階を付けて演奏するサンプラーも含まれます。
現在の通常のヘッドフォンはステレオなので、ステレオでマスタイリングをすると、意図した音を作る事が得来ますが、ソフトによってはサル安堵に対応しており、市販のソフトだと、立体音響に対応している物もあります。通常のステレオヘッドフォンで聴いて解る物だと、バーチャルサラウンドを使ったサラウンドの再生化ステレオ音源になりますが、現在は個人でも音を作る事が出来るようになっています。音については、波なので、高校の物理で出て来る 【 波動 】 の考え方がそのまま使えるのですが、基本的に自然界の波の形は単位円の円周上を周回する座標がなす関数の解である、サインカーブで構成されているので、三角関数のグラフと同じ波形が存在しています。これについては、中学校の物理で形を見ることになりますが、そのグラフの構造を知るのは高校の数学の三角関数が出てきてからの事になります。円の構造は面白いので、高さが違う場合でもサイクロイド曲線で坂を作ると同時にスタートさせると同じ速度でゴールするという特性があるので、通常の平坦な坂道の認識で考えると、物理法則が壊れているように見える坂を作る事が出来るのですが、これも幾何学と数学と物理学の組み合わせで体験できる面白い構造物になります。
音は合成関数によってサインカーブなどを組み合わせて出来ている構造になりますが、録音した波形を拡大してみると全く異なる形をしています。ただし、ノイズを含まない楽器の音だとこれは合成関数の結果、その形に至っているという事になります。これを踏まえると、【 周波数単位での分離 】 ができるので、EQやバンドパスフィルターの処理も合成関数から特定の係数を加えたサインカーブを除去する為の処理として考える事ができますが、こうした波のコントロールをする時に使用するのがフーリエ級数になります。これは大学で出て来るものになるので、高校では登場しませんが、世の中で使用している多くの分野には数学や物理の知識を使った物が多く存在しているのですが、高校の物理は大学の基礎分野になります。と言っても、ゲームとか設計とかをする際に高校の数学や物理の知識がそのまま使える物もありますし、知識を拡張する上では必要な物も多くあるので、ごく当たり前に使用されている物を学習するようなシステムになっています。
その為、学校で学ぶのが色々な理由で無理な場合、とりあえず、カリキュラムの内容を知識として身に着けるだけでも自分の可能性の枝葉を広げる選択肢を増やす事が出来るので、学んでも無駄なものは何一つありません。音の分野については、中学校で音の構造について学びますが、この深掘りは高校の数学と物理で行う事が出来ます。それにより 【 音は数式で示す事が可能で、合成関数で合成可能で、空間内では、特定の法則性によって変化しながら拡散する 】 事を学習できます。中学校でも光について扱いますが、高校だと人の検知できるレベルの話で見た時の光りの法則性である 【 波 】 と言う特性について学習します。空気の振動によって発生した波が音の高さや大きさを示すように、光には周波数が存在し、その波長の差異を認知して、人は 【 色彩 】 を感じている訳です。この波の形も自然界の生み出したものになりますから、中学校の物理の音のカリキュラムで見ることになる 【 サインカーブ 】 を描いた物になります。その為、周波数成分は数値化が可能なので、変数で管理が可能で、センサーで取得した値と用意した対象の値の比較によって整合性を確認する事も出来ますし、CCと同じように周波数の値を時間軸で変更する事で色を変化させることもできます。
音と三角関数については、
の中で触れていますが、比較をしてみると音の取り扱いは三角関数の合成関数と同じような作業であり、その知識を拡張して使う事で複雑な音を作る事が出来るようになっています。
大きな枠組みで見た場合、色々な所に法則性が存在しているので、特定の数で構成されているものがフィボナッチ数列に含まれる数だったり、黄金比を構成する半径の推移がそれと同じだったり、その形がオウムガイやアンモナイトの貝殻と同じだったりするわけですが、自然界に存在する波がサインカーブであり、円の中に存在する直角三角形を使った関数の推移で構成されているというのも自然界の法則になりますが、関数や数値で示す事が出来る物は、変数での制御が出来るので、その法則を用いることで、任意の変化を実装してコントロールする事が出来るようになっています。映像の場合だと、
■ マテリアルのカラーを制御した物
のように時間軸で色を変える事もできますが、現実世界の電気工作だと、RGB LEDの発光のコントロールをすると色彩の変化を与えることが出来るので、その値の変化を回路やマイクロコントローラーなどで制御すると用意したアルゴリズムに合わせて点灯させることが出来るようになります。