2021-09

Python

Pythonで再生速度変更(今度は音の高さを変えずに)

さて今回は、動画サイトやDVDデッキの機能としてよく見かける『音の高さを変えずに再生速度を変える』ことに挑戦してみましょう。 再生速度を変える(音の高さは変えない) 再生速度を変えると、波形はどうなるか 前回のような『テープやアナログレコー...
Python

Pythonで倍速再生・スロー再生(波形補間をしてみる)

せっかくwavファイルの読み書きができるようになったので、Pythonで音声処理のマネゴトをいろいろやってみようと思います。 まずは再生速度の変更です。ただし、最近の動画サイトやDVDデッキでやるような『音の高さを変えずに早くしたり遅くした...
Python

WAVファイルの読み書き

次のネタのため、ここらでwavファイルの読み書きについてまとめておきます。 WAVファイルの構造 全体の構造 WAVファイルは、RIFFとよばれる型式のファイルの一種です。RIFFとはResource Interchange File Fo...
Python

Python でモジュールを作る(CUIでもリバーシ…)

Pythonモジュール Python のプログラムは、特別なことを何もしなくてもモジュールとして使用することができます。 モジュールを使用する場合は、モジュールを使用したいプログラム側で、 import モジュール名(ファイル名から拡張子....
Python

pygameでリバーシを作ってみた

GUIリバーシ 今回はPython+pygameでリバーシを作ってみました。実は『リバーシの盤って8×8だっけ?』というレベルでルールうろ覚えなんですが(そして確認もしてないw)、まぁそれっぽいものが数時間でも作れました。 いきなり全ソース...
Python

pygameでマウス・キーボードを使う

今回は、pygameでマウスやキーボードを使う『イベント処理』をいろいろ試してみます。 イベント処理おさらい pygameでイベントを処理する基本パターンは、以下の通りでした。 while True: # メッセージループ for even...
Python

pygameことはじめ

PythonでGUIゲームを作るためのモジュール、pygameを使ってみました。 インストール pygame は標準ではインストールされないので、例によってまずはモジュールのインストールです。 Windows環境では、例によって py -m...
Python

PythonでFFT その2

前回で一段落ついたことにして、タイトルから『短期集中』を取りました。今後は何か思いついたときに不定期に書いていきます。 前回の補足(位相の取得) フーリエ変換によって求める式を、少し修正します。 \ \(+\phi_k\) という項を増やし...
Python

短期集中:PythonでFFT

FFT フーリエ変換 フーリエ変換について数学的にちゃんと説明するのは難しいのですが(というかブログ主が判ってません)、思いっきり大雑把にいえば、 周期関数(一定のパターンの繰り返し)を、いくつかの sin 関数や cos 関数をつかって表...
Python

短期集中:Pythonの配列でいろいろ遊ぶ(numpy続き)

numpyには便利な関数があります。 配列対応の数学関数 numpyでは、\(\sin x\)、\(\cos x\) などの三角関数や、\(\log x\)、\(e^x\)などの指数・対数関数など、便利な数学関数がいろいろあります。 いやそ...