音楽プログラミングの超入門(仮)

Python / 音楽情報処理 初心者が、初心者にも分かるような記事を書きたい。

『AM』(Arctic Monkeys) のジャケットの解析

『AM』昨年、Arctic Monkeys の5thアルバム『AM』がリリースされましたが、無茶苦茶格好いいですね。全体的に落ち着いた雰囲気の曲が多く、渋めのアルバムとなっています。例えば、アルバム1曲目はこんな感じの曲です。 Do I Wanna Know?

matplotlibでかっこいいスペクトログラム表示

スペクトログラム表示短時間フーリエ変換を行うことで、スペクトルの時間変化を表したスペクトログラムを得ることができます。Pythonで短時間フーリエ変換(STFT)と逆変換 - 音楽プログラミングの超入門(仮)この記事で、スペクトログラムを matplotlib.py…

(2)音のタイムストレッチとピッチシフト:【波形領域】

音のタイムストレッチとピッチシフト (1)リサンプリング (1)音のタイムストレッチとピッチシフト:【リサンプリング】 - 音楽プログラミングの超入門(仮) (2)波形領域 この記事 (3)フェーズボコーダ [Flanagan & Golden, 1966] 予定 (4)反…

(1)音のタイムストレッチとピッチシフト:【リサンプリング】

【Python】 高速な Constant-Q 変換 (with FFT)

関連記事 Constant-Q 変換 【Python】 Constant-Q 変換 (対数周波数スペクトログラム) - 音楽プログラミングの超入門(仮) 疎行列の保存:カーネル行列を保存するのに必要です Pythonで疎行列を保存する方法 - 音楽プログラミングの超入門(仮) Constant-Q…

【Python】時間変化するサイン波を作る

サイン波まずは一定なサイン波について考えてみます。 周波数が F [Hz]、振幅が A のサイン波は下式で表現されます。

【Python】 大聖堂の響きを再現!! : インパルス応答の畳み込み

導入:インパルス応答と残響 インパルス応答(英: Impulse response)とは、インパルスと呼ばれる非常に短い信号を入力したときのシステムの出力である。インパルス反応、重み関数 (weighting function) とも。インパルスとは、時間的幅が無限小で高さが無限…

【Python】 ぬるぬる動くスペクトルアナライザを作ろう!!

導入 スペクトルアナライザ スペクトルアナライザというものを知っているでしょうか?かなり色々あると思いますが、ここでは単純に入力された音のスペクトルをリアルタイムで表示するシステムを考えます。Windows Media Player のエフェクトにもそれっぽいも…

【Python】 Constant-Q 変換 (対数周波数スペクトログラム)

関連記事 高速な Constant-Q 変換 【Python】 高速な Constant-Q 変換 (with FFT) - 音楽プログラミングの超入門(仮) 導入:対数周波数スペクトログラムPythonで短時間フーリエ変換(STFT)と逆変換 - 音楽プログラミングの超入門(仮)上記の記事で,音響…

Pythonで短時間フーリエ変換(STFT)と逆変換

※ iSTFT の実装が間違っていました。というよりも、スペクトログラムをイジらない場合しか滑らかな再合成ができない不適切な実装となっていたので、まともな(ロバストな)実装に変えました。(今のところ)一番需要がありそうな記事で残念過ぎるミスを犯し…

Pythonでフーリエ変換(と逆変換)

音響信号のフーリエ変換ここでは、離散フーリエ変換のみを扱っています。 信号処理においてフーリエ変換というと、ほとんどの場合、離散フーリエ変換を指しています。 式 フーリエ変換は可逆変換なので、逆変換があります。フーリエ変換・逆変換の定義式はこ…

PythonでWAVファイルを読み込む

音声信号処理を行う場合、大抵、数値列をWAVファイルから読み込むことになると思います。Python でそれを行う方法を2つ紹介します。waveモジュールを使うwave モジュールはその名の通り、WAVファイルを扱うためのモジュールです。WAVファイルの読み込みはこ…