投稿

10月, 2013の投稿を表示しています

古いダイナミックマイク SANYO

イメージ
実家から貰った古いダイナミックマイク。今はなきサンヨー製。実は、実家で、これを使って歌を録音するようなことを言い出したので、これでは高音質は望めないよと言って、Audixのダイナミックマイクを買った経緯がある。この使えそうもない古いマイクはそのまま引き取ってきたというわけ。分解するとダイアフラムまで見れたので、構造を知るにはよいサンプルだと思えたのだ。 子供のころに見たことのあるマイクなのだが、何かの付属マイクだったのかな? IMP.500Ωと書いてあるので、インピーダンスは500Ωということ。巻き線抵抗値をテスタで測っても482Ωと近い値だった。 通常ダイナミックマイクのインピーダンスは150から600Ωの範囲で作られていて、その違いは感度と音質の差となる。 プロ用のShure SM58などは150Ω(実効値300Ω)のローインピーダンスマイク。感度は低いが、しっかりした音質が得られやすい。ある程度の声量がないとよい結果を出せないマイク。この手のマイクは例外なくバランス出力。 一方カラオケなどの一般用マイクは500から600Ωのハイインピーダンスマイク。感度が上がるが、音質が犠牲になる傾向にある。機器との接続は標準プラグのアンバランス出力だが、マイク側はXLRとかになってるものもある。 重要なのはインピーダンスが違えば接続する機器も違ってくるということ。知識があればインピーダンスマッチングやら配線を細工することで使用することはできるが、この手の機器に詳しくなければ無理な話。にもかかわらず、世の中さまざまなマイクが流通していて、ろくな説明もないまま売られている。見た目だけでは違いが分からない。また接続するだけで壊れるようなものもあるので恐ろしい。 このマイク、JAPANと書いてあるので日本製。 ON/OFFスイッチ。配線は信号線とGNDだけ。トランスなどは入っていない。 ダイアフラムを直接見ることができる。 このマイクは構造的に無指向性。そういう意味では割りと距離に関係なく、素直な音が録れそうな気がする。 古い割りに損傷もなく、使えそうな雰囲気。 サンプル 電気的には問題がなさそうなので、ためしに録音をしてみることにした。ノートパソコンThinkPad

シャープ替芯 0.5mm
三菱鉛筆 Nano Dia (ナノダイヤ) 2B & B

イメージ
0.5mmシャープペンはほとんど使わないがよく貰う。 使わない理由は芯が気に入らないから。細いため折れやすいし、折れないようにポリマーで硬く作ってあるので、濃く書くには適していない。やわらかい芯を使うと、さらに折れやすい。また書くたびにキュッキュと音がして気持ち悪い。個人的には筆圧軽めで濃く書きたいのだ。 家の中には貰った使わない安物シャープペンがゴロゴロしているのだが、貰ったときに、試し書きぐらいはしている。最近uniの0.5mmを貰ったので、書いてみたら、芯が結構よい印象だった。普通HBが入っていることが多いと思うのだが、Bぐらいの濃さのような気がする。 良いと思えた点は、書いたとき音があまりしない。スムーズに一定の濃さで書ける。結構濃く書ける。またBにしては折れにくい印象。これなら使ってもいいかもと思える出来だった。ちなみに芯の硬さの表記(B,HBなど)と、実際書いたときに色の濃さは違うので注意が必要。 とりあえず2Bを買ってみる 三菱のシャープペンだから、当然自社の芯を入れているだろう。普及タイプの芯だろうから、ナノダイヤという芯だろうと予想してみる。シャープペンのBだとちょっと硬い印象があるので、2Bをチョイスしてみた。 三菱鉛筆 uni NanoDia 替芯 uni0.5-202ND 0.5mm 2B 長さ60mm 40本入 定価200円(税別) 購入価格税込 170円(2013年10月) 各太さの芯 定価200円(税別) 0.3mm 2H H HB B 2B 15本入 0.4mm 2H H HB B 2B 30本入 0.5mm 4H 3H 2H H F HB B 2B 3B 4B 40本入 0.7mm H HB B 2B 40本入 0.9mm H HB B 2B 36本入 シャープ替芯のケースって、無意味に凝っている。他にやることはないのだろうか? ケースのデザインがかっこいいと売り上げが上がるのだろうか? なんかちょっと無駄な感じはするが、ケース側面のねじれのラインはかっこいいとは思う。でもケースに惚れて買うことはないだろうけど・・・ 裏面はちょっとした説明がある。この日本語ちょっと違和感あるわ。食品関係と役所文書でも違和感のある文が多いのだが、メーカーはもう少し気を使った

7ヶ月振りにギターを再開してみる

昨年末にギターを始めた子供の話。今年の春休みぐらいまでは、コツコツ練習していたのだが、その後は勉強優先で、ほとんど触れなくなってしまった。たまに少し弾くこともあったのだが、無視してもよいぐらいの時間しか弾いていない。このままでは、今までの努力が無駄になりそうだ。また特技もあったほうがよいということで、練習を再開してみることに。 久々に練習してみると コードは意外と忘れていない。よほど難しいコードでなければ、大抵すぐに押さえられた。これは救い。また練習した曲のコード進行も結構覚えている。演奏は下手になっていない。う~ん。記憶力とか、大人とは違うかもしれない。これなら以前やったことを繰り返しやる必要はなさそうだ。先に進めそうなので、多少は安堵。重要なのはなるべく練習を続けることだわ。肝心な「やる気」は「中」というところか。自由自在に弾けるようになれば、やる気は上がって行くだろうか? とりあえず課題は以下のようなところ。小難しい技は一切やるつもりはない。コード弾き主体で、リズムを刻むことに集中したい。 課題1 テンポ 簡単なコード進行でいいので、一定のテンポで弾けるようにする。メトロノームを使って、ひたすらやるしかない。特に曲になると、盛り上がるところでテンポがアップしてしまう。 課題2 リズム 強拍と弱拍をパターンにして正確に弾くことで、リズムが生まれてくる。かなり微妙なコントロールが要求されるし、それを繰り返し再現し続けるのは簡単ではない。やらせてみると、どうも全体的に強く弾きすぎる傾向にある。強く弾くと音が濁ってやかましいし、音のバランスも崩れてしまう。本来は力を抜いて軽めに弾くことで、長時間安定した演奏ができるようになる。また楽器ごとに一番よく響く音量というのがあるので、それを知ることも重要。 とりあえず弱く弾く練習をしてみる。弱く弾いても結構聞こえるもの。最小の音量から一番よく響く音量までを組み合わせてリズムを作り出す。これは難しいなぁ。気長にやりましょう。 課題3 8分音符、16分音符、3連符 16分弾きはちゃんとやっていないので、この練習も始める。3連弾きは奥が深いので、まずはジャストを安定して弾く練習からかな。 課題4 単音弾き&アルペジオ ソロギターは今のところやるつもりはないが、アルペジ

基礎英語1の並無(ならむ)役は Diana Garnet さん?

イメージ
子供が基礎英語1を聞いているのだが、そのストーリーの中に、並無(ならむ)というキャラがいる。声になかなかインパクトがあるので、誰かな? と以前から思っていた。また声質から春野夢、猫のミッシーというキャラも演じている可能性あり。でも教材テキストにもオフィシャルにも声優が書かれていない。どういうことだ? NHK。かろうじてテキストに写真がある。手前の女性3人のうち誰かが並無役だが、右はキコなので、左か中央の女性となる。(調べ終わってから、よくよく見たらテキストに小さく書いてあった。何役かは定かではないが、Diana Garnett の名前を確認。ttになっているが同一人物だろう。) ネットにもストレートな情報はない。こうなると余計に知りたくなる。しばらくネットで情報収集。その結論としては、声質頼りに、おそらくDiana Garnetさんという人。テキスト写真の左の女性。知らなかったが、歌がうまい外国人としてかなり有名な存在になっているようだ。TVでグランプリに輝き、この10月にデビューも決定している。何曲か聽いてみたが、発声が半端なく凄くて、何を歌っても完璧。それに声質がやっぱりいいわ。それにオタクぶりもすごいなぁ。アニソンばかり。この発声で並無があったわけだ。春野夢のアニメ声もこういうところから来ていたのか。納得。 オフィシャルはここ。 http://www.dianagarnet.jp/

Audacity built-in effects
基礎的なDelayを作ってみる

イメージ
今回作ったディレイの内容は下のブロック図と同等。以前 LADSPAで作ったディレイ とほとんど同じ。ただDryはボリュームではなくチェックボタンによるON/OFFだけにした。またアルゴリズムは新たに考えて実装してみた。簡単なディレイではあるが、いろいろな考え方で作ることができるので、頭の体操にはよいと思う。試しに子供にもアルゴリズムを考えさせたら、数分で書き上げてしまった。今回載せているプログラム内容とは違うが、なかなか素晴らしいアルゴリズムだった。 このディレイはディレイタップ長のリングバッファを使ったオーソドックスなもの。ちなみにAudacityのEchoというエフェクトを覗いてみたが、随分と考え方が違うと思えたよ。人の真似をするのは面白くないので、今後もアルゴリズムはすべてオリジナルにしたい。 インターフェイスはシンプルで、数値を入力するタイプ。DecayはdBにした。Audacityの多くのエフェクトはリニア単位でどうも使いにくい。一般的にはdBだと思うのだが。 下は適用例。上段がオリジナルで下段がディレイを適用したもの。 ディレイの考え方はいろいろ。個人的にフィードバックは数ではなく、無限に繰り返すものとしたい。AudacityのNyquistは数指定が基本のようだ。これには違和感を感じる。また標準エフェクトのEchoはDecayとfeedbackが一緒に扱われてしまっている。あとDryをOFFにできないものも多い。以前 Javaで作ったディレイ は、欲しい機能を吟味したもの。今回も同じ内容で作ろうかと思って中見たら、複雑だったので断念。もう少しAudacityの仕様について学習が必要だわ。慣れてきたら、ステレオ対応やら、HPF、LPFを追加して実用的にしようと思う。 /* NamagiDelay.h 131006 */ #ifndef __AUDACITY_EFFECT_DELAY__ #define __AUDACITY_EFFECT_DELAY__ #include &ltwx/dialog.h&gt #include &ltwx/checkbox.h&gt #include &ltwx/intl.h&gt #include "SimpleM

vim 設定ファイル .vimrc

個人的なvimの設定をここに置いておく。複数のPCでvimを使うのだが、どれが最新だか分からなくなるので。 "~/.vimrc "130920 "モードを表示する set showmode "起動時はIME off set iminsert=0 "syntax on syntax enable "colorschemeの設定 "もしファイルがtxtならnamagiをデフォルト au BufNewFile,BufRead *.txt,*.text colorscheme namagi "それ以外のファイルはnamagi_light colorscheme namagi_light "vimとして使うを宣言 set nocompatible "プラグインをオンにする設定 filetype plugin indent on "C言語用のインデントを有効 set cindent "自動インデント,スマートインデント set autoindent smartindent "検索した文字の設定 set nohlsearch "検索語句ハイライト set hlsearch "カーソル行強調 "set cursorline "マウス有効 set mouse=a "タブ設定 set tabstop=4 set softtabstop=4 set shiftwidth=4 "タブ表示、改行表示など ↲ « » set list set listchars=tab:»\ ,trail:-,eol:↲,extends:»,precedes:«,nbsp:% "行番号表示 set number "ファイル名をwindowに表示 set title "swapファイルを作成しない set noswapfile "BackSpaceを有効にする set backspace=2 "他アプリとのコピペ対応 set clipboard=unnamedplus,autoselect

leafpad 設定

イメージ
leafpadについて leafpad は Lubuntuの標準エディタ。とにかく軽くて高速起動するのが特徴。個人的にソースコードなどを書くときはvimを使うが、内容を確認したいときや、ちょっとしたメモにはleafpadを使うことが多い。素晴らしいのは文字コード変換で問題が起きにくいこと。 フォントは英語のInconsolataに設定しているのだが、表示できない日本語は日本語フォントに置き換えられるので、ソースコードなどは見やすくなる。英語にしてしまうと日本語が文字化けするエディタが多い中で、こういう仕様は助かる。日本語フォントに設定してしまうと、バックスラッシュと円マークが置き換わるので気持ち悪いのだ。 編集機能としては、行番号表示可能で、オートインデントあり、折り返し表示の切替えなどが簡単にできる。また文字の検索、マーカー機能に加えて、置き換え機能などもあり、ちょっとしたプログラムならストレスなく書くことができる。 タブの問題 標準のタブ設定は広すぎて使いにくい。vimではタブを半角4文字に設定しているので同じにしておきたい。これを下記の設定ファイルをいじることで調整した。 /usr/share/applications/leafpad.desktop ルート権限で開くと以下のような内容になっている。 [Desktop Entry] Name=Leafpad Comment=Simple text editor Comment[bg]=Опростен текстов редактор Comment[br]=Embanner testennou eeun Comment[ca]=Editor de text simple Comment[cs]=Jednoduchý textový editor Comment[da]=Enkel tekstbehandler Comment[de]=Einfacher Texteditor Comment[el]=Απλός επεξεργαστής κειμένου Comment[eo]=Simpla tekstredaktilo Comment[es]=Editor de texto simple Comment[eu]=Testu editore sinplea C

Audacity built-in effects
Effect.hを使ったステレオ処理

イメージ
Audacity built-in effects をEffect.hを継承して作ってみる。Effect.hはエフェクトの基本となるクラスなので、制約が少なく自由度が高いが、いろいろ面倒な手続きも必要。SimpleMono.hを使うような手軽さはない。 今回は左右のチャンネルが影響しあうエフェクトを作るための土台を作ってみた。 Audacityの標準エフェクトを調べて作っているのだが、予想以上にトラックの扱いが複雑だった。通常のwavファイルのステレオ処理の方がよっぽどシンプル。ただ Audacity の built-in effects として使うなら、この面倒な手続きを避けては通れない。 プログラムの流れは、ステレオトラックとして認識し、そして左右のチェンネルをバッファに保存して、加工し、最後にバッファから元の場所に戻す。流れとしては素直なのだが、トラックを順に処理していくAudacityで左右チャンネルを同時に扱うというのは意外と大変なのだ。 もともとAudacityのエフェクトは左右のチェンネルが影響するようなエフェクトは殆ど無い。唯一かと思えるのがReverbなのだが、これがなかなか複雑な構造で全体像が見えにくい。まぁそれでも数時間で何とか扱えるようにはなった。 ここまで来れば、あとは好きなようにエフェクトを作ることができる。 今回チェック用に作ったのが下記プログラムで、左右のチェンネルがお互い影響を受けるようにしてみた。内容は、それぞれのチェンネルが他方のチェンネルを任意の比率で混ぜる。パラメータは1.0が100%としている。 適用例として、左チャンネル440Hzと右チャンネル880Hzの合成をやっている。それぞれのチャンネルに100%でブレンド。結果は左右チャンネル同じ波形となる。モノラルの場合は何もしないで終了するようにした。 ソースコードは結構長くなってしまった。 /* NamagiAmp.h 131004 Namagi */ #ifndef __AUDACITY_EFFECT_AMP__ #define __AUDACITY_EFFECT_AMP__ #include &ltwx/dialog.h&gt #include &ltwx/intl.h&gt #incl

Audacity built-in effects Stereo Amp GUI

イメージ
前回作ったモノラルアンプ をステレオ対応にしてみた。左右のチャンネル毎にGainを調整するエフェクト。SimpleMono.hを継承しているので、その名前からしてもステレオ処理には向かないのだが、標準エフェクトのPhaserなどもこのSimpleMono.hを使って左右別の処理を行なっている。どうもSimpleMono.hは、各トラック及び各チャンネルをひとつずつ処理している。トラックはint mChannelというチャンネル情報を持っている。これはTrack.hに定義されていた。 enum { LeftChannel = 0, RightChannel = 1, MonoChannel = 2 }; このような整数で管理している。この情報をもとに、処理しているトラックが左右どちらのチャンネルなのか、もしくはモノラルチャンネルなのか判別できる。SimpleMono.h 継承でステレオ処理する場合は、これを利用することで実現する。 今回のプログラムでは、処理のところで、トラックに右チャンネル情報があった場合のみGainRのパラメータを使うようにした。ということでモノラルトラックの場合は左チャンネルの値を使うという仕様。 ここまで出来れば、それなりのエフェクトは実現できる。ただやりたいのは左右チェンネルの音が入り乱れる処理だったりするので、次はEffect.hを使ってみるか。 上記の設定とは違うが、左右別々に処理できるようになった。 ソースコードは例にならって、NamagiAmp.h と NamagiAmp.cpp に分けている。 /* NamagiAmp.h */ #ifndef __AUDACITY_EFFECT_AMP__ #define __AUDACITY_EFFECT_AMP__ class wxString; #include &ltwx/dialog.h&gt #include &ltwx/intl.h&gt #include "SimpleMono.h" class wxStaticText; class WaveTrack; class EffectNamagiAmp:public EffectSimpleMono{ public:

Audacity built-in effects GUI

イメージ
前回作ったアンプ にGUIをつけてみた。GUIにするだけで、ソースコードは一気に長く、読みにくくなってしまう。GUIの学習は時間のかかる作業で、個人的には楽しくない作業。ただAudacity内でささっと使える魅力はあるので、Audacityの標準エフェクトを参考に、その範囲内で学習を進めてみようと思う。 作っていて分かったのだが、Audacityのビルトインエフェクトは以下の5つのクラスを継承して作られている。 Effect.h AutoDuck.h ChangeSpeed.h ClickRemoval.h Echo.h Equalization.h FindClipping.h NoiseRemoval.h Normalize.h Repeat.h Reverb.h Reverse.h SimpleMono.h Amplify.h Fade.h Invert.h Leveller.h Paulstretch.h Phaser.h Repair.h Wahwah.h TwoPassSimpleMono.h BassTreble.h Compressor.h SoundTouchEffect.h ChangePitch.h ChangeTempo.h Generator.h DtmfGen.h Noise.h Silence.h Generatorは音を生成するもので、それ以外は音を加工したり、音を調べたりするのに使う。選択基準がやや不明なのだが、今回は簡単そうなSimpleMono.hを継承して作ってみた。 ダイアログはシンプルそのもの。GUI部分は wxWidgets が担っているので、これをちゃんと学習すれば、使い勝手の良いGUIも実現できるが、やる気はない。 /* NamagiAmp.h */ #ifndef __AUDACITY_EFFECT_AMP__ #define __AUDACITY_EFFECT_AMP__ #include &ltwx/dialog.h&gt #include &ltwx/intl.h&gt #include "SimpleMono.h" class wxS

Audacity built-in effects Simple Amplifier

イメージ
これから少しAudacityのbuilt-in effectsでも作ってみようと思っている。備忘録として、なるべく簡単なサンプルをここに書いておく。 シンプルアンプ 内容は音系プログラムのHello World。複雑なプログラムを作る前にこういうシンプルなものをいろいろ作って確認することが重要。ダイアログもなく音量も0.5に固定。プログラムはNamagiAmp.hとNamagiAmp.cppの2ファイルから構成されている。SimpleMono.hをオーバーライドして作っている。makeすれば、audacityで実行できる。トラックを選択して適用すれば音量が半分になる。 /* NamagiAmp.h */ #ifndef __AUDACITY_EFFECT_NAMAGIAMP__ #define __AUDACITY_EFFECT_NAMAGIAMP__ #include "SimpleMono.h" class EffectNamagiAmp: public EffectSimpleMono{ public: /* AudacityのEffectに表示される名前 */ virtual wxString GetEffectName(){ return wxString(_("NamagiAmp")); } /* 識別名 */ virtual wxString GetEffectIdentifier(){ return wxT("NamagiAmp"); } /* 実行中に表示される名前 */ virtual wxString GetEffectAction(){ return wxString(_("NamagiAmp...running")); } private: /* 新たに追加した変数 音量 */ float gain; protected: /* 処理する関数 バッファ(ポインタ)と選択範囲(整数)を渡す */ virtual bool ProcessSimpleMono(float *buffer,