前置き Python wave モジュール 実装/テスト 最後に Float形式のWAVファイルについて 前置き 音楽プレイヤーのような音楽ソフトウェアの開発では、まずオーディオファイルから時間信号を読み込む処理が第一歩となります。 オーディオファイルは数多くの種類…
今日の進捗:・複数コーデック対応・信号分析部(ラウドネスレベル算出以外)・wx.lib.plotで信号プロット・分析結果テーブル追加・ステータスバー追加あとトータル/短時間ラウドネスレベル (LUFS) の算出部を実装すれば最低限完成 pic.twitter.com/5PziG56…
はじめに 実装 Python HTML / Javascript PyInstaller による実行ファイル作成 ファイルサイズについて python -m eel --onefile --noconsole はじめに smoothiecharts.jsよき…なおpyinstallerは仮想環境切らないと実行ファイル化できなかった pic.twitter.c…
様々な拡張子のファイルが格納されたフォルダをコピーするときに、動画や非圧縮楽曲ファイルのようなファイルサイズが大きいファイル以外をコピーしたい という場面はよくあります。 そこで、タイトル通り、特定の拡張子以外のファイルをまとめてコピーする…
(トラック数,最短音符数,音高数) のnumpy配列になってしまえば煮るなり焼くなりこっちのもの pic.twitter.com/7WfjuAQujI— Kurene (@_kurene) 2021年3月28日 MIDI形式のデータは演奏の操作・記録方式として優れていますが、データ分析やプログラム上での編…
Detecting harmonic change in musical audio https://t.co/wwxJf1s5oq2006年の論文だけど不勉強なもので最近ようやく知りました…。クロマベクトルのピッチクラス12音の各強度を音程調和知覚に基づく2次元空間×3に飛ばして、それぞれの空間でのcentroidを特…
PyQt でスクロールバーを追加する方法としては、QScrollAreaがあります。 QScrollAreaの利用シーンとしては、以下の2パターンに分けることができます。 QWidget/QMainWindow 上の特定の領域でスクロールしたい QWidgetを継承・カスタマイズしたオブジェクト…
mng...?電源タップとしては高価だけど、しっかり木の質感してるし、機能はめちゃ充実 pic.twitter.com/FNvRE15t5Q— Kurene (@_kurene) 2021年2月16日 Fargo エレガントなデザイン、魅惑的な木目調ダークウッド 電源タップ 回転 延長コード ケーブル 国内サポ…
Pythonで音楽ファイルのタグ情報を抽出するライブラリの一つとして、mutagenがあります。 www.wizard-notes.com www.wizard-notes.com mutagenは個々の拡張ファイルに特化したタグ抽出が可能ですが、様々な拡張子をまとめて扱う際には条件分岐が多くなってし…
オーディオ信号のスペクトログラムをプロット/保存する方法としては、matplotlibのimshow()を使う方法がありますが、今回はスペクトログラムを純粋な画像データとして保存する方法を試してみました。 実装 import librosa import numpy as np import cv2 bi…
以前まで、このはてなブログのテーマとしては、2次元レイアウトであるテーマストアの"Silence"を使っていましたが、 entry-description (記事説明文)を見やすくしたい*1 PC閲覧時のレイアウトをシンプルにしたい という理由で、1次元レイアウトである Broo…
別スレッドで走っている計算処理の終了後、計算終了を通知するメッセージボックスを表示する 別スレッドでオーディオファイルを再生し、再生終了時にQWidgetを操作する というような、サブスレッド終了後にウィジェットを非同期的に操作する処理を書いてみま…
PyQt で複数のQPushButton Widget を使う場合、愚直に書くと以下のようになります。 class MainWindow(QWidget): def __init__(self, n_buttons): super().__init__() layout = QVBoxLayout() self.setLayout(layout) button = QPushButton(f"Button 0") but…
PyQt ではapp.setStyle(style_str)によってWidgetのデザインを変更することができます。 デフォルトスタイルはstyle_str="Fusion"ですが、環境によって"Windows"や"QtCurve"などを使うことができます。 この記事では、Win10で利用可能なPyQtのスタイルを確認…
計算機を使った音楽分析技術の一つとして、楽曲構成(Aメロ、Bメロ、サビ)を分析する方法があります。 しかし、日本語で技術の具体的な実現方法や実装について説明のある文献はあまり多くありません。また、Pythonの音楽分析ライブラリ LibROSA にはまだ実…
サンプリング周波数変換(リサンプリング,アップ/ダウンサンプリング)は,非常によく利用されるオーディオファイル処理です。 ただ、リサンプリングは時間がかかる処理なので、なるべく高速なアルゴリズム・ライブラリを使いたいところです。 特に大量の…
DTM/開発用のメインPCとしてHP Spectre x360 13インチを使っているのですが、つい先日、ACアダプタが壊れてしましました。 AC アダプター(オプション) 日本HP Directplus デザインが良いため純正ACアダプタを買い直すことも考えましたが、持ち運び等を考…
Pythonのmatplotlibでリアルタイムスペクトログラム描画。音と同期再生を考えると、真面目に描画するのは全然間に合わないのでPyQtGraph使うべきで、多少サボっていい加減な描画でいいなら使えなくもないかも…という印象 pic.twitter.com/LNJCavKWRf— Kurene…
matplotlibを使って、どのくらいのフレームレートでリアルタイムプロットできそうか検証 pic.twitter.com/X2mjgYiaWy— Kurene (@_kurene) 2021年1月29日 Pythonで安定的にリアルタイムプロットを実現するライブラリとしては PyQtGraph がありますが、手軽にm…
Python でオーディオファイルを読み込むライブラリは複数あります。 wave scipy.io.wavfile scipy.io.wavfile.read scipy.io.wavfile.write audiofile soundfile audioread librosa.load ぱっと見、どれを使えばよいか迷ってしまいますが、 様々なOSで動いて…
自作の双2次フィルタ (Biquad Filter)のPythonライブラリ PyQuadFilter に極と零点をプロットする関数を実装しました。 exmamples/04_plot_pole_zero.pyがサンプルコードとなっています。 プロット例 オールパスフィルタの極/零点プロットです。 q = 1.5 fc…
Pythonの音楽分析モジュールLibROSAには、v.0.7から線形予測分析(https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E4%BA%88%E6%B8%AC%E6%B3%95)を行う関数librosa.lpcが追加されました。 線形予測分析は音声の音素や声色を分析するのによく利用されていま…
scipy.signal.resample_polyを使ってオーバーサンプリングを実装してみました。 resample_polyのデフォルトの設定では、パラメタβ=5.0のカイザー窓によるFIRローパスフィルタが使われています。 注意すべき箇所として、フィルタ長はresample_polyの引数では…
MP3などで使われている周波数変換方法であるMDCT (Modified Discrete Cosine Transform)。 現状、Scipy等の準標準的なライブラリに関数はありませんが、以下のライブラリがありました。 GitHub - nils-werner/mdct: A fast MDCT implementation using SciPy …
双2次フィルタの自作Pythonライブラリである PyQuadFilterを更新しました。 PyAudioやPySoundDeviceと組み合わせることで、Pythonでも双2次フィルタを使った簡単なリアルタイム音響信号処理ができます。 GitHub - Kurene/pyquadfilter: Implementation of di…
※ITU-R BS, 1770によるラウドネスレベルの算出は以下の記事をご覧ください。 www.wizard-notes.com はじめに ラウドネスの算出・実装方法の勉強のため、心理音響評価モジュール/開発フレームMoSQIToの非定常信号向けラウドネス(時変ラウドネス)算出モジュ…
前回の記事で紹介したPythonの心理音響評価モジュールMoSQIToでラウドネスを算出してみました。 基本的に以下のドキュメント・ソースコードを参考にしています。 MoSQITo/tuto3_Loudness-zwicker-time-varying.ipynb at master · Eomys/MoSQITo · GitHub ソ…
https://github.com/Eomys/MoSQITo 心理音響学について調べていたら、興味深いPythonライブラリがあったので紹介します。 github.com 心理音響学に基づく音質評価ソフトウェアの多くは市販製品であり、オープンソースでさくっと使えるものはほとんどないのが…
以下の記事で作成した双2次フィルタのプログラムで出力した、双2次フィルタの周波数特性(振幅・位相)の一覧ページです。 www.wizard-notes.com カットオフ周波数 (fc) とQ値 (q) を動かしてプロットしています。 双2次フィルタ作成の参考等にご利用くださ…
mngして音楽がさらに楽しくなりました☺️ pic.twitter.com/OwzR8mWvHZ— Kurene (@_kurene) 2021年1月6日 昨年度からメインモニターとして使える3インチサイズのパワードスピーカーを探していました*1。 Twitterのタイムライン等でこのEVE audio SC203を知って…