投稿

5月, 2014の投稿を表示しています

ギターで五線譜
読譜トレーニング JavaScript

思いつきで15分ぐらいで作ってみた。五線譜上に音符がランダムに表示されるので、それをひたすら読むというプログラム。音域はギターを想定している。ギターでスムーズに弾けるようにするのが目的。 切り替わるタイミングはスライドで調整。初期値は2500msec つまり2.5秒ごとに切り替わる。 その下のスライドは高い音の上限を指定。数値は選択される音の数を意味する。24にするとギター6弦開放のE2から1弦15フレットのG5までの24音。初期値は17音でローポジション範囲の1弦3フレットG4までとした。低い音の下限は常時固定で6弦開放E2。 2500 msec (500 to 5000) 17 notes 6th 1 E2 2 F2 3 G2 5th 4 A2 5 B2 6 C3 4th 7 D3 8 E3 9 F3 3rd 10 G3 11 A3 2nd 12 B3 13 C4 14 D4 1st 15 E4 16 F4 17 G4 18 A4 19 B4 20 C5 21 D5 22 E5 23 F5 24 G5 ギター練習

基準音から各周波数を求める JavaScript

Aの基準音を入力してボタンを押すと各音の周波数を求めるプログラム。 1939年にロンドンの国際会議にて基準音A=440Hzと決められ、1953年にはISOにもなる。 それ以前の時代では周波数を測ることも容易ではなかったため、かなりゆるく、臨機応変に基準音を決めていたようだ。バロック期はA=415Hzあたりと現在よりも約半音低く、その後、徐々に422、432Hzと高くなってきたようだ。1711年にはJohn Shoreによって音叉が発明され、普及はしていたが、音叉そのものの基準音が各社バラバラだったようだ。 基準音をA=440Hzに決めた後もまもられることはなかった。オーケストラなどで、より華やかな印象を与えるために442、443、445Hzにして演奏するのが当たり前となり、せっかく決めた基準が無視され現在に至っている。そして録音や楽器を通して広く一般にも影響を及ぼしてしまっている。結果的に基準である440Hzが軽視され、足並みが揃わないまま。 現在学校に導入されている各楽器も上記の理由から440、441、442Hzとバラバラだったりする。こんな楽器らで合奏したら、ぐしゃっとした音にしかならない。440Hzに統一してくれよと思う。 式は下記で、求めたい周波数 f' と基準音 f となる。n は整数の場合、基準音からの半音毎の距離となる。例えば12でちょうど1オクターブ上になる。基準音よりも低いとマイナスになる。 f' = f * 2 (n/12) Calib.A(Hz): 中学生ぐらいから学ぶフーリエ変換 目次

Diana Deutschの錯聴

イメージ
錯視は有名だが、同じように錯聴というものも知られている。ここでは1975年にDiana Deutschによって発表された錯聴の有名なサンプルを再現してみた。 下の譜の上段を再生すると、多くの人の場合、下段のように聴こえるというもの。ただこれは左右の音を完全に分離させる必要があるためヘッドフォンを使う必要がある。 個人的に試したところ、確かに始めの数回はそのように聴こえたのだが、今は左右とも再生通りに聴こえてしまう。ただ不思議なことに左右で音色が違って聴こえることもある。おそらくだが、左右の耳の違いがあって、利き耳というのがあるような気がする。右利きの人は右耳が利き耳かもしれない。より敏感に反応するのかも。低音はそもそも空間把握が苦手な音域で認識の優先順位が低いのかもしれない。 左右の耳から入った音を脳で処理して理解するのだが、その過程でいろいろなことが起きているようだ。 音はなるべく無機質な方がよいように思えたので、Audacityで440Hzと220Hzのサイン波で作ってみた。要ヘッドフォン。 中学生ぐらいから学ぶフーリエ変換 目次

ドップラー効果 Doppler Effect

サウンドエフェクトとしてドップラー効果でも作ってみようと思ったら、意外と複雑であることが判明。経験的には救急車などが近寄ってくると、だんだんと音が高くなるようなイメージがあったのだが、等速で移動している場合には一定であった。実際には速度は常に変化しているので、かなり不安定な音になっている。数式で表すと以下のようになる。 f' = f(V-v o )/(V-v s ) f': 観測者に聴こえる周波数 f : 実際の周波数 V : 音速 v s : 音源の速度 source v o : 観測者の速度 observer 上記計算式を使って計算すると、例えば観測者に向かって時速60kmで走っている車からAの440Hzの音を出すと、観測者は半音高い約A#の466Hzぐらいに聴こえる。通常街で感じるドップラー効果はこの程度が多いように思う。本来の音よりもかなり高ければ、速度もかなり速いことになる。実際小型ジェット機などはかなり甲高く聴こえる。 下はJavaScriptでイメージを作ってみた。 音を出している移動体が右へ等速運動していて、常に画面中央にいる状態。 スライドで0にすると停止状態になり、同心円に音が広がって行く。聴こえる周波数はどこでも一定。 0.5は音速/2のスピードなので、かなり高速。約170m/sec(時速612km)。観測者が進行方向にいると2倍高い周波数に聴こえる。 1.0にすると、音速と同じになる。こうなると移動体よりも先に音は進めなくなる。 speed (0 to 1.0) : 0.5 中学生ぐらいから学ぶフーリエ変換 目次

ギターで五線譜
C/Amキー(固定ド)で楽譜と一致させる

イメージ
楽譜とギターのドレミのマッチングのために、C/Amキー(固定ド)でダイアトニックスケール内の各音程をなぞってみる。 アコースティックギターの音域を確認 国際式の音階で指板を色分けすると下記のようになる。オクターブ関係や異弦同音が指板上のどこにあるかを把握しておく必要がある。使用するのは無理なく弾ける15フレットまで。 異弦同音を確認 ギターは異弦同音があるので、瞬時に複数のポジションをイメージする必要がある。下譜の番号は弦。 異弦同音が存在しない低い音から。E2,F2,G2 つづいて異弦同音が2個存在する低い音。A2,B2,C3 最も多く異弦同音が存在する音。3から4個ある。D3〜A4 異弦同音が2個存在する高い音。B4,C5,D5 異弦同音が存在しない高い音。E5,F5,G5 8度の関係 オクターブ違いの同音。 3オクターブ以内なので各音3〜4個。下の譜は低い音順に、Eのオクターブ関係、Fのオクターブ関係という具合にDまでの7音をギターの音域の中で示したもの。最高音をG5とした場合、E,F,G 以外は3音しかない。パターンは音の数と同じで7個。 2度の関係 いわゆるすスケール。普通のCDEFGABで、一番低いE2から一番高いG5まで。昇り降りすると練習になる。パターンは1個。 3度の関係 何かと重要な音程。CEGBDFAC(逆CAFDBGEC)さらっと言えるぐらいにしておくと便利。基本的なコードトーンになるので重要。下譜は音符が線上のときと、線間にあるときで、ギターの音域目一杯に並べた状態。パターンは2個になる。 4度の関係 コード進行において重要な進行。これもBEADGCFB(逆BFCGDAEB)という感じで覚えておくと便利。ダイアトニック・スケール内の4度なので、FとBの間は増4度で、他は完全4度。パターンは3個。 5度の関係 音の並びは4度の逆。パターンは4個。 6度の関係 音の並びは3度の逆。パターンは5個。 7度の関係 音の並びは2度の逆。パタンは6個。 ギター練習

ギターで五線譜
指板上のCメジャースケール

五線譜を見る前にギターのドレミの位置を把握しておいた方がよいと思う。「ド」と聞いたら、すぐにギターでドを押さえられないと、五線譜どころではない。 指板上のCメジャースケール 指板のドレミ(ピアノの白鍵)は以下のように並んでいる。縦が弦で横がフレット。 最終的には、これを丸暗記という事になるのだが、覚えにくいし、パターンだけ覚えても応用方法が漠然としている。 指板上にはピアノの白鍵に相当する音が60音あるが、異弦同音が含まれるので、それらを1音とすると、五線譜上では24音しかない。意外と音は少ないので攻略は簡単に思える。 s\f 0 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 1 E F G A B C D E F G 2 B C D E F G A B C D 3 G A B C D E F G A 4 D E F G A B C D E F 5 A B C D E F G A B C 6 E F G A B C D E F G そこで以下のような方法で音の配列パターンを覚えていく。 指板上の横方向の並び まずは1本の弦で音の配列を確認。EF間とBC間が半音の関係で他は全音の関係になっている。 C D E F G A B C 指板上のパターンについて 指板上のダイアトニックスケールの配列を整理。ギターの場合2-3弦間のみ長3度の関係でややこしいのだが、それを無視して4度の関係にすると以下のような配列になっている。また上下には同じパターンで無限に音がつながっていると考える。 またFの完全4度上にスケール内の音はなく、増4度にBがあるというところもポイント。他の音はすべて完全4度上にダイアトニックスケールの音が存在している。 実際弾くときは2-3弦間だけシフトさせるという考え。 F G A C D

ギターで五線譜 楽譜の書き方を学習

イメージ
楽譜を書くための学習をスタート? ちなみに楽譜は読めないし、読もうと努力したこともない。子供の頃から五線譜の楽譜って理路整然としていない印象があって興味が持てなかった。ただデファクトスタンダードなので、それを利用した方が現実的なのは認める。 今回、書くという目的があるので、ちょっとチャレンジしてみようかと思っている。とりあえずギターと楽譜を自由に行き来できるようになれたらいいかも。気合20%ぐらいからスタート。 学習方法 個人的に独学が多く、その独習方法が定着している。それは、なるべく狭い範囲に限定してスピード習得してしまうというもの。その上で必要に応じて拡張するスタイルを取ってきた。はじめから隈無く完璧に学習しようとか、本を丸暗記しようとかすると時間ばかり浪費して、実際に使うのは、その一部だけということもよくあるので。 今回も範囲を狭くするためにギターで使いそうな部分だけ。またポピュラー音楽用に使われている書き方を優先したい。英語表記優先で日本語のイロハなんてものは使わない。逆に未だに使っているのが不思議。そういう切り捨てられずに引きずって行くのが楽譜の歴史なのかもしれない。数百年に及ぶ継ぎ接ぎ・・・ 音域の制限 Clef(音域記号)はクラシックギターにならって、G clef下に8という記号をつけて1オクターブ下げたものを使う。慣れてきたらベースを扱うF Clefも少しやるかも。 アコースティックギターで素直に弾ける音域の範囲を考えてみる。 低い方は6弦開放弦で上は素直に弾ける1弦15フレットのG5までとしたい。 3オクターブちょっとなので、五線譜上にオクターブ上下させる「8va-----」というOttave記号に頼る必要もなさそうだ。 譜面はMuseScoreを使うという制限 既存曲の楽譜を見て演奏することは考えていない。また書く方は一部手書きもやるかもしれないが、基本的にはフリーソフトのMuseScoreを使いたい。そのためMuseScoreで使える記号やデフォルトを優先する。MuseScoreで扱えないような表記は無視する。 移動ドで考えるのでC/Amだけ使うという制限 読譜が中心なら、すべてのキーで読めないと話にならないが、書く方中心なので、はじめは五線譜上にKey signature(調

ギターで五線譜
五線譜の歴史とギターとの相性

イメージ
ギターを放置して半年ぐらい・・・ 完全に忘れないうちに再スタートしたいところ。 音楽をやる上で譜面を避けると損するような気がしたので、ある程度譜面の読み書きが出来るようにしようと思う。その備忘録。 五線譜の歴史 現在の五線譜の歴史は西暦700年代のグレゴリオ聖歌から始まる。楽譜が使われはじめた理由は、政治と宗教にとって都合がよかったからであり、純粋な芸術のためではないところが面白い。この初期の楽譜は、音の長さ指定はなく、休符という概念もないようだ。 それ以前の時代で広く使われてた楽譜形式は見つかっていないようだ。さらにさかのぼって古代ローマ、ギリシャには何か楽譜のようなものがあったようだが、他の芸術と同じくローマ崩壊と共に失われてしまっている。 楽譜は音を記録する道具であったと同時に音楽を作る道具でもあり、ハーモニーなど高度な音楽の創作に貢献し、音楽と共に発展していったと考えられる。 一方、西洋以外では楽譜はあまり発展せず、パート譜的なものにとどまっている。楽器演奏は基本的には行為伝承で伝えられ、楽譜への記録は断片に過ぎないとされ、軽視されていたのだろう。 1200年代になると現在の5線に近づいて、1500年代には印刷技術も発達したおかげで、本格的に楽譜が使われるようになった。1600年代以降は現在の五線譜とほとんど同じようなものになったようだ。このころから作曲家もクレジットされるようになって、バロック音楽の幕開けとなった。バッハの作品には「Prelude BWV 846」のように番号があるが、これは印刷用の整理番号で印刷業者が付けたもの。 当時のバッハの楽譜はすでに現代の楽譜にかなり近いため、現代の音楽家でも慣れれば演奏できるそうだ。日本で言えば江戸幕府が出来たころなので、その当時のものを現代人が読むというのは普通無理だろう。楽譜のシステムがいかに優れていて、それを継承してきたことによるメリットは計り知れない。 楽譜の優れたところ 楽譜は時間軸に対して音符間の比と、相対的な音程をかなり厳密に記している。この部分が大きな特徴だろう。ハーモニーの構築や、正確なリズムなどを記すには適している。それ以外の音量などの要素はやや抽象的だが、演奏で正確に再現できるのはリズムと音程ぐらいなので大きな問題はない。現在は、楽譜で

Ubuntu で C言語

自宅PCのOSをWindowsXPからUbuntu(Lubuntu)へ切り替えて数ヶ月。子供用のPCはUbuntuを入れ、それをフォローするために旧式のPCにはLubuntuを入れて自分用に使っている。ここではC言語のWindowsとの違いなどを少し記録しておこうと思う。 文字コードはUFT-8でいいかな C言語の文字コードはEUCが推奨だが、ubuntuではUTF-8が標準で使われているので、ソースを書くときはUTF-8で行なっている。 実行ファイルは a.out Windowsではa.exeとなるところが、Ubuntu上ではa.outとなる。実行するときは下のように「./」も打つ。 ./a.out math.hのリンクは-lmオプション math.hをインクルードして、sinなどを使おうとすると、コンパイル時に undefined reference to `sin' というエラーが出てコンパイルに失敗する。 そこで、コンパイル時に -lm オプションをつけるとライブラリをリンクしてコンパイルしてくれる。 gcc foo.c -lm C言語 ANSI C89 GCC 目次

Asunder でCDリッピング

手軽にCDの音声をPCに取り込みたい。CDをPCに取り込むことをリッピングという。Ubuntuでのリッピング方法はいろいろあるが、Asunderというリッピング専用ソフトを使っている。このソフトは統合型巨大ソフトと違ってサクサク動き、ストレスが少ない。 インストール Package ManagerでAsunderを検索してインストールすると、Sound&Videoに登録される。またリッピングと同時にMP3に変換したい場合は、MP3エンコーダのlame(レイム)もPackage Managerからインストールしておく。 起動とリッピング 起動して、CDを挿入すると、自動で CDDB(Compact Disc DataBase) にアクセスしてCD情報を収集してきて表示される。サーバはここに設定されている。 freedb.freedb.org リッピングするときのフォーマットを選択する。個人的にWALKMANに転送るのが目的だったりするので、不本意ながらMP3に変換して使うことが多い。下記のように128kbpsのCBRに変換している。Variable bitrate(VBR)にチェックを入れると、可変ビットレートになって音質アップも期待できるはずだが、実はあまり良い音とは思えないので、個人的にはCBRしか使っていない。 操作はシンプルで使い勝手はよい。

Ubuntuの標準的な圧縮フォーマット

イメージ
まずはLubuntu(LXDE)での圧縮、解凍方法 GUI 圧縮: ファイルを右クリックしてcompressを選択すると以下のウィンドウが開くので、そこで圧縮フォーマットを設定して圧縮する。 解凍: 圧縮ファイルを右クリックしてExtract Hereを選択すると、同じディレクトリに展開される。 標準的な圧縮フォーマットについて 圧縮フォーマットはOSごとに標準が結構違う。Lubuntuで標準的に扱えるフォーマットは以下のようなもので結構種類がある。また圧縮そのものではなく、複数ファイルをひとつにまとめる(アーカイブ)役目を果たすtarなどと組み合わせることが多い。 .bz2 bzip2 オープンソース zipよりも高圧縮 7zipに近い高圧縮だが高速。原型のbzipは特許のため開発不能。 .cbz 中身はzip圧縮したもの .gz gzip(GNU ZIPの略)zipとは互換性はない。並の圧縮率だが高速に圧縮解凍できる。 .jar Javaのアーカイブ .lzma 高圧縮率。 .xz 一番の高圧縮率。場合によってはgzipの半分ぐらいのサイズまで圧縮可能。ただ圧縮に時間がかかるのが難点。とにかくサイズを小さいしたいときにはよいかも。 .zip Windowsなどの他OSで開くことを前提とした場合これが使われる。 .ar 現在はあまり使われない。これは圧縮するのではなく、複数ファイルのアーカイブを作成するものでtarに代わられた。 .tar 現在Linuxの標準であるtarは複数ファイルのアーカイブを作成することができる。アクセス権等の情報を保持できる。tarアーカイブは無圧縮なので、上記の圧縮形式と組み合わせて使う。拡張子は以下のようになる。 .tar.bz2 (linux全般としてよく使われる 高圧縮) .tar.gz (gzip圧縮 一番使われるが圧縮率はイマイチ) .tar.lzma (高圧縮) .tar.xz (圧倒的高圧縮) よく使われる圧縮フォーマット 今は.tar.bz2が多いように思うが、高圧縮の.tar.xzも健闘している印象。 コマンドで解凍 実際に複数のファイルを一括して解凍したい時も