S.F. Page

Programming,Music,etc...

デジタル信号処理

隠れマルコフモデル(HMM)

歌声合成を調べているうち隠れマルコフモデルを使った音源というのを見つけた。 Sinsy この隠れマルコフモデルとはなんぞやと調べるとまあ難しい。Wikipediaにはこう書いてあった。 隠れマルコフモデル(かくれマルコフモデル、英語: Hidden Markov Model)…

フォルマント合成をちょっとかじる

下記に載っていたフォルマント合成方式で歌を歌わせるソースコードをコンパイルして試してみた。 出歯亀日記: 音声合成(3) ただこのままでは動かず、先頭に#define _USE_MATH_DEFINESを追加することが必要だ。作者による動画も公開されている。 www.nicovide…

歌声合成について

MMDをちょこっとだけ触ってみたが、そのせいで歌声合成にも興味が出てきた。VOCALOIDが有名だけれどもUTAUなどのフリーの歌声合成ソフトとかもある。 発声の方法も人の声帯とか声道をモデリングする方式とか、サンプリングした声をつなぎ合わせて発音する方…

音声ファイルから動画ファイルを生成する(55) 微分方程式

もうすっかりテーマから離れているような気もするが。微分方程式をわかりやすく解説しているドキュメントはないだろうかとググるとやっぱりあった。応用までの解説が非常にわかりやすい。 常微分方程式の講義ノート 微分方程式も偏微分方程式とかあったりす…

フーリエ変換への道

フーリエ変換の勉強を進めている。実数形式のフーリエ変換を理解するためにはだいたい以下のような前段階の知識の理解が必要であった。 正規直交基底と任意のベクトルの内積を取ればそのベクトルの成分を得ることができる。 関数を無次元ベクトルととらえる…

三角関数の加法定理の証明(2)

sin(α-β)、cos(α-β)はここで証明したsin(α+β)、cos(α+β)を使って求めることができる。 sin(α-β)=sin(α+(-β)) = sinαcos(-β) + cosαsin(-β) = sinαcosβ - cosαsinβ cos(α-β)=cos(α+(-β)) = cosαcos(-β) - sinαsin(-β) = cosαcosβ + sinαsinβ これを図で証明でき…

三角関数の加法定理の証明

三角関数の加法定理の証明の図をsvgで書いてみた。 image/svg+xml α β β β o A B C E F G 1 cosα sinα cosαsinβ cosαcosβ sinαsinβ sinαcosβ 証明というか説明すると、 まずOAが1の直角三角形OBCを書く。 OBを斜辺とする直角三角形OBCを描く。 AからOCに垂…

テイラー展開 - Wikipedia

テイラー展開 - Wikipedia. テイラー展開の理解度が上がってきた。これのおかげで三角関数がコンピュータ上で計算できるのですな。しかしなぜテイラー展開で関数が近似できるのかはまだ腑に落ちていない。いろいろな本やWebを見ているんだけどねー。

数学のお勉強

行き帰りの電車の中で数学の入門書を読むのを最近の日課としている。行きはいいのだが帰りは数式を見ると眠くなり、座ると確実に寝てしまう。 それはさておき数式に対するアレルギーがなくなりつつあることを実感している。細かい意味はまだ分からないのだけ…

BLITのお話 | g200kg Music & Software

BLITのお話 | g200kg Music & Software. BLITの説明。わかりやすく解説されているのではないかと思うが私の知識では少し難しい内容。もっと勉強しよう。 iBlitというVSTはBLITを使っている。

微分・積分の勉強

信号処理を勉強するには微分・積分の知識も必要である。知ってないとスラスラ読めないのである。なぜそのように式が変形されたり、そういう結論になるのかがよくわからないから。ので理解度も浅くなってしまう。私は原始関数を求めるとなんでその原始関数で…

三角関数の加法定理の証明

信号処理を理解するのに必要なので、三角関数の定理を覚えようと眺めていたところ加法定理って証明はどうやるのだろうとかふと思った。 この資料がとてもわかりやすかった。

信号処理入門(2)

信号処理入門の第3章・第4章を繰り返し読んでいる。 ここを読んだわかったことは、内積というのは何か(ベクトルや関数)の成分がどれくらい含まれるかを調べるということであるということ。つまり分析したい波形とサイン波やコサイン波の内積を取ればその成…

正規直交基底と内積

正規直交基底と波形データとの内積で周波数の成分分析ができる。これが今日わかったこと。なんかすごくうれしかった。

信号処理入門

イメージングソリューションBlogの参考文献に載っていた[amazon_vc keyword='信号処理入門']信号処理入門[/amazon_vc]を購入し、読み始めた。 [amazon_vc keyword='やり直しのための信号数学']やり直しのための信号数学[/amazon_vc]もわかりやすい内容だと評…

正規直交基底 画像処理ソリューション

正規直交基底 画像処理ソリューション. 説明が凄くわかりやすかった。「任意ベクトルの大きさが正規直交基底と大きさを用いて表すことができる」ということが腑に落ちたような気がする。

波形データはN次元のベクトルであると考える。

やり直しのための信号数学を読んでいる。 N次元のベクトルに関する演算とか操作とかがフィルタとかイコライザとかになるのですな。 正規直交基底の信号処理での意味がわかりかけているような、わかりかけていないような。

やり直しのための信号数学

やり直しのための信号数学―DFT、FFT、DCTの基礎と信号処理応用 (ディジタル信号処理シリーズ) を購入した。デジタル信号処理の勉強はかなりの期間放置状態となってしまいほとんど忘れてしまった。 この本を読んで一からやり直すことにする。

2012-03-14 - (setf yaruki nil) - nlpyutoriグループ

2012-03-14 - (setf yaruki nil) - nlpyutoriグループ. soxとSPTKを利用した音声分析合成方法のまとめ。 Language Tutorで興味を持った音声分析合成。低ビットレートでそれなりの音声を出すことができる。少し勉強したいのだけれど私にとっては難しい。

コンパイル時離散フーリエ変換(DFT) - ボレロ村上 - ENiyGmaA Code

コンパイル時離散フーリエ変換(DFT) - ボレロ村上 - ENiyGmaA Code. なんだかすごいよこれは!

Music-DSP Source Code ArchiveのPDF版

Music-DSP Source Code ArchiveのPDF版をダウンロードしてみると483ページもあった。すごい量だ。

エイリアシング・ノイズ

ゲーム用波形メモリ音源を作っていて、まだ作成途中だけれどいろいろな音を出してみている。32サンプルくらいで波形を作り再生すると、アンチエイリアス処理なんてしていないのでばりばりエイリアシング・ノイズな音を奏でる。この音を聴いていると思い出す…

VSTiの作り方 - 4.フィルタ | g200kg Music & Software

VSTiの作り方 - 4.フィルタ | g200kg Music & Software. RBJ Cook Bookの日本語訳。前に読んだんだけどすっかり忘れていたな。。

コピーコンストラクタでまだハマり中

コピーコンストラクタまわりのBUGと格闘中である。中途半端に右辺値参照の実装を追加したためにおこっているような気もするが、原因はさっぱりわかっていない。 ひとつ言えることは、「ムーブセマンティクスはパフォーマンスの代償としてさらに複雑な実装を…

The Art of VA Filter Design | g200kg Music & Software

The Art of VA Filter Design | g200kg Music & Software. ちょうどいいタイミングでこのような文書が。

音楽再生スレッドのリアルタイム性能について | Phile-webコミュニティ

音楽再生スレッドのリアルタイム性能について | Phile-webコミュニティ. Windowsにおけるリアルタイム音声再生の留意点。再生アプリであれば今のところこの記事の内容でほぼ網羅されているのではないかなと思う。 レイテンシ(≒バッファサイズ)はDAWなんか…

シンセプログラミング

シンセプログラミング. 改めて読み直すと、すごくためになるページだな。

BLIT

BLITとはエイリアスノイズが発生しない波形生成方式の一つ。 Synth-1のページの中にある「シンセプログラミング」の「オシレーター部(WAVEテーブルとBLIT)」の中に簡単な説明が書いてある。 polyIblitはBLITを使ったシンセである。確かに音はよかったような…

Chip32

Chip32. レトロな音のする波形メモリ音源。ニコ動でMAPPYをこの音源で再現しているのがあるけどホントリアルだ。 【ニコニコ動画】懐かしのナムコPSG音源を解析 & マッピーを再現してみた これもソースコードがついているので参考にさせてもらおう。

mda-vst.com

mda-vst.com. 超有名なフリーVSTプラグイン集。ソースコードも公開されているので非常に参考になる。

音源部分を作成中

ゲーム用の音源を作成し始めた。フィルターも実装するつもりだ。フィルターの理屈がまだわかっていないがソースコードだけは大量にネットにあるのでそれらを参考にして「えいやっ」で作ってしまおうと思っている。今は構造を考えながらヘッダにクラス定義を…

Subnormal numberが出てくるとPCが重くなるという話 | Phile-webコミュニティ

Subnormal numberが出てくるとPCが重くなるという話 | Phile-webコミュニティ. デノーマル・サブノーマルの話。サブノーマル問題は存在は知っていたが、理屈はわかってなかったのでこの解説はありがたい。 対応方法はある程度小さな数値になったらゼロとみな…

【藤本健のDigital Audio Laboratory】第504回:MP3圧縮で、どんな音が失われるのか -AV Watch

【藤本健のDigital Audio Laboratory】第504回:MP3圧縮で、どんな音が失われるのか -AV Watch. MP3は非可逆圧縮だが、どの成分が失われるのかという記事。失われた成分はどのようなもので、聞いてみるとどんな音なのかについても書かれている。

Celemony社がテクニカルグラミー賞を受賞 | g200kg Music & Software

Celemony社がテクニカルグラミー賞を受賞 | g200kg Music & Software. Direct Note Accessの会社。グラミー賞って110部門もあるんですな。それにしてもこの技術はすごいのである。下の動画を見ればわかる。

UI画面って面倒この上ない

UI画面を楽に実装できるようにダイアログベースのタブウィンドウにしたのだが、reseditのダイアログの編集もなんか使いずらい。このダイアログ単位というのが今ひとつなじめないし、テキストボックスの大きさも制限があるようだが、ツールのせいなのかダイア…

数学の勉強はかなりサボり気味 - Curve Fitting

デジタル信号処理のために必要な数学の勉強はかなりサボり気味。情報ソースはたくさんあるのだけれど一度読んだだけでは頭に入ってこない。10代~20代だとすんなりだろうけどね。40代はいろいろな意味できついね。。歳だけではなく頭の出来もよくないのだろ…

シーケンサ作り - データフォーマットを考える

年末・年始と集中してやる時間はなかったが、シーケンサのデータフォーマットを考えていた。データフォーマットはAodixに倣うつもりでいる。普通の(といってもレコポやSTED)MIDIシーケンサとしても使えるし、トラッカーみたくパターン+シーケンスの組み合…

ソフトウェアとしての数値計算

Numerical Computation as Software. コンピュータで数値計算するうえでこのドキュメントも必読かもしれない。iPodに入れて持ち歩くとしますか。 デジタル信号処理に関する文書も気が向いたら電車の中で読んでいる。読むと脳の普段では使っていない部分が活…

ソースコードチェックはサボり気味

年末に来てトラブルが重なり、気が滅入ってソースコードを見るどころではなかった。だいぶ持ちなおしてきたが。

SID Play2 - プレイヤ本体はC64アプリ?

ソースコードを読んでいる。.sidプレイヤーはどうもC64エミュレータ上で動くアプリのようである。.sidファイルを読み込んでC64のエミュレーションメモリにコピーし、同様にエミュレーションメモリ上にアプリをコピーし実行しているようだ。とても面白い構造…

SIDPlay2のコードを読む事にした

SIDPlay2は64bitでも普通にコンパイルできたので、コードを読んで中身を学ぶことにした。 SIDPlay2は.sidファイルを再生するプレイヤーだけれど単にSIDをエミュレートするのではないようだ。6510CPUのエミュレーションコードも入っている。ひょっとするとC64…

SIDPlay2のビルドはできた。

sidplay2のx64ビルドは意外と簡単にできた。「sidplay2 fork with resid-fp」だとVS用プロジェクトファイルがおかしいのとソースコードにも不具合があったので結局元の「SIDPLAY2 Home Page」からコードをチェックアウトしてビルドしなおした。一箇所だけソ…

▲ハイブリッドフォルマント合成: 万象酔歩

▲ハイブリッドフォルマント合成: 万象酔歩. フォルマント合成による人声の合成。実際に鳴らして確かめて見ることができる。少ないデータでそこそこの品質(五十音が聞き分けられる程度)でしゃべることができるらしい。

サウンド・チップを鳴らしてみようかな

前からやりたかったSIDやらMAMEの中にあるサウンド・チップエミュレーションコードを取り込んで鳴らしてみようかなと思っている。

離散フーリエ変換の理解が少し進むような。。

フーリエ変換の理解度向上を求めてあてもなくインターネットを彷徨う毎日である。 昨日は「やっと分かったフーリエ変換」を見つけた。これは離散フーリ変換が何故周波数成分を取り出せるのかを解説したものである。 eの項はガウス平面を逆j回転する関数であ…

波形イメージを頭に思い描いてみる

X軸が時間でY軸が振幅の波形でZ軸が周波数帯域。Z軸上に色々な周波数・振幅のサイン波・コサイン波がXY平面と並行に並んでいる。Z=0のXY平面はZ軸上に並んでいるサイン波を足しあわせたものが表示されている。そんなイメージを思い浮かべていた。電車の中で…

フーリエ変換あたりをまた勉強している

フーリエ変換あたりをまた勉強ししているが、やっぱり上辺だけの理解という感じで今ひとつ深い理解が得られていない。なんか私にも理解できるような平易な解説をしているページはないかな?とググる毎日である。 今日の朝わかりやすいかな?というページを発…

考え事

キャプチャが動いてそこそこ安定したところで次はどうしようかと思案中。 いろいろやりたいことをリストアップしてみると 出力データのエクスポート サンプリングレートコンバート デジタルフィルタ(IIR,FIR) フーリエ変換による周波数解析 いろいろなオー…

ようやくキャプチャできるようになった。

ようやくキャプチャできるようになった。まだメモリ破壊のBUGは残っているが。なんで起こるのかはよくわかっていない。気がつくとヒープが壊れている。 聴いてみた感じだがキャプチャ->キャプチャキュー->ミキサ->ミキサキュー->出力となるのでWASAPIが持つ…

音は鳴るようになった

ようやく音は鳴るようになった。でもまだマイク入力(キャプチャー)は動かしていない。WAVデータとタイミングを合わせてミックスしないといけないので少し考えないといけない。