Wizard Notes

音楽信号解析の技術録、音楽のレビューおよび分析、作曲活動に関する雑記です

開発環境

Pythonで作る音楽プレイヤー:PyQt5 で簡易GUI作成

Pythonで作る音楽プレイヤー:PyQt5 で簡易GUI作成 Pythonで作る、信号処理開発プラットフォーム用の音楽プレイヤー - Wizard Notes で作った音楽プレイヤーモジュールですが、CUIでは使いにくいので、PyQt5を使って簡単なGUIを作ってみました。 実装 クリッ…

Pythonで作る、信号処理開発プラットフォーム用の音楽プレイヤー

今更感がありますが、Pythonで自作のエフェクトをすぐ試せる環境があると開発が捗るので、音楽プレイヤーモジュールを実装 pic.twitter.com/4yEN2wQ07X— Kurene (@_kurene) August 10, 2020 リアルタイム音響信号処理プラグインの開発において、開発言語がC+…

Google スライドで数式・数式付きイラスト画像を効率的に作る方法 (Windows10向け)

Google スライドでもパワーポイントと同じように、選択した数式や画像等のオブジェクトを画像にさくっと変換・貼り付ける方法を考えてみました。 Google スライドでイラストを描く(オブジェクトを置く) Math Equations で数式画像を生成・配置する 領域指…

Math Equations: Google スライド内で数式画像を生成するアドオン

アドオン"Math Equations"入れてからGoogleスライドで数式付きイラスト作る効率めちゃ上がりました pic.twitter.com/WqBjYRpXhq— Kurene (@_kurene) July 19, 2020 ディジタルフィルタ等のイラストを作るにあたり、数式付きのイラストをGoogle スライド内で…

Docker+Nginx+uWSGIで複数のFlaskアプリ(コンテナ)を運用

概要 Docker上での、1つのuWSGI+Flaskコンテナで複数アプリを運用するスタイルは、Blueprintなどを駆使すれば可能です。 しかし、Blueprintの仕様のせいでディレクトリ構造が複雑になってしまったり、ルーティングの際に他のサービスに影響を与えてしまう可…

図書館でのPCを使った開発・創作のすゝめ

最近気づいたのですが、私の近所の図書館では、持ち込みPCによる無料作業スペースがあります。 利用時間などの制約はあるものの、Wi-Fi、電源まで無料で利用することができます。 リモートワーク・個人ソフトウェア開発をすることを考えるとメリットばかり…

AviUtlで追加したスクリプトが認識されない時のメモ

AviUtl で作成している動画で、音楽に同期したモーションを付けたいためさつき氏の追加スクリプト を導入しようとしたところ、追加スクリプトが認識されずに時間を費やしてしまいました。 最終的に上手く認識できたので、その方法のメモ書きです。 ・参考サ…

PyAudioとPyQtで作る簡易シンセサイザー

生成した音信号を気軽に鳴らせるシステムが欲しくなり、結果的にシンセサイザもどきを作ってみました。 MIDIを扱うと面倒なので、Numpy/Scipyで生成した音信号を直接オーディオ出力できるような構造になっています。 また、一応シンセサイザっぽい見た目なの…

PyQt5のQPushButtonで作る簡易ピアノ鍵盤

PyQt5の練習がてら、ピアノ鍵盤(もどき)を作ってみました。 タプル型の引数keysetで鍵盤の数を変えられます。 ハマったところ: 参考にしたドキュメント:https://doc.qt.io/qt-5/ buttonClicked に引数を渡すなら、partial()が便利 PythonはQtの情報が少…

プレイリストやランキングの利用・著作権に関しての調査

法律に関する疑問を弁護士に無料で法律相談できる「弁護士ドットコム」というWebサービスがあります。このWebサービスの特徴は、無料相談の場合、質問と回答が公開されます。 その弁護士ドットコムに、音楽のプレイリスト・ランキングに関するFAQがいくつか…

librosa.core.load() のバックエンドが audioread から PySoundFile に代わった件

PySoundFile vs audioread ? LibROSAを最新版 (0.7.1) に更新したら、LibROSAの音楽信号の読込を担う load()のバックエンドが、audioreadからPySoundFileに代わったとのこと。 ただし、LibROSA 0.7.1では、PySoundFileがインストールされていない場合は代わ…

Flask+Flask-Dropzone+LibROSAで作るオーディオ信号処理基盤

はじめに 実装 index.html Flaskの主要部(app.py) オーディオ信号処理モジュール 最後に はじめに NumPyやLibROSA、scikit-learnなどのPythonの素晴らしい信号処理・統計解析モジュールを利用してオーディオ信号処理アプリを作るため、学習コストが低いマ…

Python モジュール・関数の動的なインポート

概要 開発したPythonスクリプトに対して、ユーザが処理(関数)を簡単に追加できるようにする方法として importlib が使えそうだったので、試してみました。 フォルダ構成 root/ ├ main.py └ plugins/ └ my_funcs.py 実装 ユーザが追加する関数には、あらか…

Anaconda (Windows10):conda で Permission Error

問題 Windows10において、conda update condaやconda install tensorflow で以下のようなエラーと遭遇しました Preparing transaction: done Verifying transaction: done Executing transaction: failed ERROR conda.core.link:_execute(502): An error occ…

Pythonにおける辞書型を用いた多数の実験用パラメタ・実験条件の管理について

やりたいこと 研究開発におけるパラメタの探索や、API化を見据えたPython上でのアルゴリズム開発において、 以下のような実験用パラメタの管理を考えます。 config = { "param_0": [0.01, 0.1, 1.0], "param_1": ["l1", "l2"], "param_2": [0, 10, 20, 30] }…

YouTubeの音楽をPythonで解析:YouTube Data APIによる複数の動画コンテンツID・メタ情報収集

はじめに 今回は、動画に紐づいた動画メタ情報・統計情報の抽出、およびYouTube-dlによる楽曲解析スクリプトの入力となる複数動画のコンテンツID・メタ情報を収集する方法を紹介します。 抽出には、YouTube Data API を利用します。 はじめに YouTube Data A…

Notepad++のプラグインによるMarkdownプレビュー

概要 Notepad++でMarkdown記法で書かれたファイルをプレビューできたら…と思って探したところ、簡単に導入できるプラグインを見つけたので紹介します。 概要 MarkdownViewerPlusPlus 導入方法 (1) プラグインをダウンロード (2) プラグインをNotepad++のプラ…