2007-01-01から1年間の記事一覧

8ビット

ノイズを8ビットで生成。 (quantize (noise) 127)あるゲーム機などの三角波は4ビットと聞きましたので (quantize (osc-tri 100) 7)ずいぶんとギザギザです(ギザギザギザス、ちがうか)。

ステレオ入力音

ステレオサウンドの右側だけとか、その逆だけ処理したいときがあります。 とりあえず右側の音(aref s 1)を消すには (vector (aref s 0) (mult 0 (aref s 1)))ポイントはvectorは第1引数を左として返します。ですから、左右を取り替えッ子すると (vector (are…

ドラムマシーン未満

別のことをやろうと思ったが時間切れ。 ということで、今まで覚えた技術で音を作り連続させる。 (defun snare() ;スネア風 (mult (pwl 0 0.5 0.15) (lp (sim (noise) (osc-tri (pwl 0 50 0.15))) 2000))) (defun hihat() ;ハイハット風 (mult (pwl 0 1 0.05)…

入力音と4分音符(休符)

入力音はsでした。ここで気づいた人もいるかもしれませんが、7/29の日記で4分音符(休符)をあらわす組み込み定数のsがうまくない使えない理由がこれです。sは入力音ということですから、4分音符(休符)の組み込み定数がどうしても必要ということなら、ここから…

入力音

録音した音やサウンドサンプルなどオーディオ・トラックに読み込んだサウンドにローパス・フィルタを。 (lp s 1020) ;s がサウンド。トレモロでも (mult s ;入力音s (sim ;ここは振幅変調と同じです (const 0.5) (scale 0.25 (hzosc 5)) ) )

初期設定ファイル

Audacityフォルダ(ディレクトリ)にnyquistフォルダがあります。ここには拡張子lspのファイルがたくさんあります。1番最初に読み込まれるファイルはinit.lspになります。ここで読み込まれていないファイルは、このフォルダに置いてあったとしても'すぐには'…

音価

音価とは音の長さ。既に以前の日記で幾つか述べていたのですが、風の便りで間違えを訂正することになりました。音の長さをあらわす組み込み定数qdを4分音符と書きましたが以下のように訂正します。 sd 付点16分音符(休符) id 付点8分音符(休符) qd 付点4分音…

関数

ローパス・フィルタのカットオフ周波数を変調させたいが、同じ処理を何度も繰り返すときは自分で関数を作ってもよいと思う。例えば簡単な掛け算をしてみましょう。 (* 3 4)Nyquistプロンプトは計算の結果を返して12と出力する。さてオペレータ * もなんら普…

周波数変調

ある波形(キャリーア)の周波数を別の波形(モジュレータ)で変調させる。ポイントは本来モジュレータの振幅は1なのでこの強さを変えることでキャリーアの周波数をかえる。 (hzosc (sim (const 440) ;キャリーア (mult (hzosc 6) (const 220)) ;モジュレータの…

ドラムのキック音を

今まで説明してきた機能を使って、キック音を作ってみる。 (mult (pwl 0 1 0.2) (lp (osc-tri (pwl 0 110 0.2)) 1000 ) )ドラム音はノイズを使うことが多いですが、キックの場合は低い周波数帯が必要なのでピッチ感がでるように三角波(osc-tri)を使います。…

フィルタ

フィルタはCsoundに倣ったものが多いです。それらを参考にしてみてください。ではでは ローパス・フィルタ (lp (noise) 1020) ;カットオフ周波数より高い周波数をカットハイパス・フィルタ (hp (noise) 1020) ;カットオフ周波数より低い周波数をカットレゾナ…

エンベロープ

実は時間を指定する必要はあまりない。エンベロープを利用してみる。 (mult (env 0 0 0 1 1 0 1) ;振幅を時間で変化。 (hzosc 440) )1秒の間に線形に減衰します。envの引数は以下のようです。 (env アタック時間 ディケイ時間 リリース時間 アタック値 ディ…

時間

引数に時間を指定できるもの (osc A4 1)時間は1秒です。これやりました。じゃ、こちらは (hzosc 440 1) ;エラーになります。残念ながらコチラには時間を指定する仮引数がありません。デフォルト時間になるといったらいいでしょうか。(大幅に修正 7/29)さて組…

振幅の変調

波形同士を乗算しています、結果的に振幅を変調させているのですが、リング変調といわれるものです。 (mult (hzosc 440) (hzosc 1)) ;multは乗算AM変調といわれるものを、これちょっと難しいです。 (mult (hzosc 440) (sim ;simは波形を加算 (const 0.5) ;一…

和音

ドミソ (sim ;加算です。sumでもよいようです。 (osc C4) (osc E4) (osc G4) )これは少しよくありません。なぜなら振幅の合計が3になりました。よってスケールしましょう。 (scale 0.333 ;スケールする (sim ;以降は上と同じ (osc C4) (osc E4) (osc G4) ) )

無音

無音は振幅の値がずっとゼロの状態なので (const 0)時間も指定してみる (const 0 30)

基本的な波形(その2)

C4やA4などの組み込み定数をstep-to-hzで変換せず、直接あつかうことができます。サイン波 (osc A4)さて、他の波形なのですが、少しややこしい。のこぎり波 (osc A4 1 *saw-table*)少し引数が増えました。2つ目の引数は時間です、1秒。3つ目の引数が、サイン…

MIDI番号やC4のような組み込み定数

周波数440hzと441hzのサイン波を連続して再生する、前回の続きです。 (seq (hzosc 440) (hzosc 441) )再生してみて音の高さが変わったと感じたら超人ですね。 しかし、ドの音とレの音が連続していれば誰でも聞き違えることが出来ます。 (seq (hzosc (step-to…

基本的な波形を順に並べる。

上のすべての波形を順に並べてみたい場合、マウスで選択して命令を1つ実行していくこともできるが、1度の命令で出来るほうがよいでしょう。 (seq (hzosc 440) (osc-saw 440) (osc-tri 440) (osc-pulse 440 0) (noise) )入れ子にすることも出来ますよ。結果は…

基本的な波形

サイン波 (hzosc 440)のこぎり波 (osc-saw 440)三角波 (osc-tri 440)矩形波 (osc-pulse 440 0) ;第2引数はパルスの幅ノイズ (noise)ちなみにコメントアウトは上記にあるようにセミコロン(;)。

AudacityのNyquistプロンプトで正弦波

Audacityは1.3.2 (beta)と1.2.6 (stable)の主に2つのバージョンが存在する。バージョンの異なりで多少の違いがある。準備(オーディオトラックを作る)-----------1.3.2 (beta) 1. (メニューの)Tasks >> Add New >> audio track 2. 音を置きたいトラックの位置…

おしゃべりする。

前回の記事で、フォルマント合成をしました。今回はマイクから入力した声の固定した周波数の振幅を検出し、その周波数のサインウェーブをいくつか作り合成して、ロボットボイスを生成します。なんかボコーダです。さて、具体的に難しいのはマイクから入力し…

「アイウエオ」と発音させる

少し長いのですが、まずはコードを見てもらおう。 """ 参考 http://www.sfu.ca/sca/Manuals/Csound/Hamel/Week9.html """ from sndobj import * import time #ブザーのようなサウンドを生成 tab = HarmTable(8192, 22, 4) interp = Interp(0, 0, 0.1) osc = …

組み込みモジュールとともに

新しく使用するモジュールはwaveとarrayです。これらは組み込みモジュールと呼ばれていて、PySndObjのようにインストールする必要はありません。さて、この2つのモジュールを使って音声ファイル(モノラル)からデータを取得し、バイナリをint型に変換し、それ…

音量変化とグリッチ

例えば、ボタンを押した後、またはスライダを動かした後、さらにはマウスを動かした後、急激に音量変化させるとき(SetAmpを使う場合)は注意しないといけない。急激な音量変化はグリッチを生みます。そこで非常に短い時間を持たせて滑らかに変化させる。PySnd…

FastOscとOscとOsciとOscilとOsciliとOsciltとPhOscili

(注:後で多少修正するかも、しないかも。) ひとまずグループ分けしてみよう。 FastOsc => Osc => Osci Oscil => Oscili => PhOscili => Oscilt => は継承関係を表している。まず1つめの親であるFastOscから。FastOscはテーブルサイズ(2,4,8,16,,,256,512,,…