Wizard Notes

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

NumPyのビュー(view)がどのndarrayオブジェクトを参照しているか確認する方法

はじめに 少しハマってしまったところなのでメモ。 NumPyでは、あるndarrayオブジェクトを明示的に参照する手段としてviewがあります。 numpy.ndarray.view — NumPy v1.19 Manual 使用例: >>> x = np.arange(0,5) >>> x array([0, 1, 2, 3, 4]) >>> y = x.v…

チェレスタ音源 "Soniccouture Celesta" のデモ

高品質かつ繊細な音質に定評のある "Soniccouture" からチェレスタ音源がリリースされました。 Celeste | Soniccouture youtu.be このデモ動画を視聴して、高帯域は繊細で、魔法のように滑らかな音色に一目惚れし購入しました。 イントロプライスで通常$129…

バグパイプ(イリアン・パイプス)音源"Dicky Deegan's Uilleann Pipes"のデモと感想

Audio Plugin Dealsでセール中のKontakt用バグパイプ(イリアン・パイプス)音源、買ったので音質チェックのため打ち込んでみました。このくらい泥臭い音質の方が個人的には好みDicky Deegan's Uilleann Pipes - Xtant Audio$47.31 -> $9.99 https://t.co/6Z…

Python:LibROSA のフェーズボコーダで時間伸縮・ピッチシフト librosa.phase_vocoder

まえがき 使い方 関数の仕様 サンプルコードとプロット librosa.phase_vocoderの中身について 重要な中間変数を抜粋 メイン処理 補足:フェーズボコーダを使ったピッチシフトの実現方法 librosa.phase_vocoderの音質について 参考文献 まえがき オーディオ編…

Python (LibROSA) でピッチシフト librosa.effects.pitch_shift

まえがき librosa.effects.pitch_shift() の使い方 引数について 半音単位のピッチシフト 周波数を指定するピッチシフト 使い方のサンプル プロット コード 注意 まえがき ボーカルや楽器の録音データに対して、 「音の長さを変えずに、音の高さを変えたい」…

Pythonでのパスワード用ランダム文字列の作成メモ

Python インタプリタを起動してパスワード用のランダムな文字列をさくっと生成する方法を調べていたら、以下の記事を見つけました。 Pythonで複雑なパスワードを簡単に生成する | ガンマソフト株式会社 単純なやり方としては、random.choice()を使う方法があ…

AmazonゴールドカードでWeb明細書の金額が合わなかった

タイトル通りなのですが、ふと以前のWeb明細を眺めていたら、 利用金額と支払金額が合っていない月がありました。 ※マイ・ペイすリボは支払金額を利用限度額にしているため、リボ払いの支払はありません。 Web上で情報を探してみましたが、原因は分からず… …

Audacity でラウドネスノーマライゼーション

最近の音の配信サービスでは様々な音源を聴感的に同じ音量で聞けるように、ラウドネスノーマライゼーションが採用されています。 身近なオーディオ加工用ソフトウェアでは、2020年5月にリリースされた Audacity ver. 2.4.0 もしくはそれ以降のバージョンでラ…

LibROSA ver. 0.8.0 で基本周波数推定(YIN, pYIN)

Python の楽曲解析モジュール LibROSA が 2020年7月22日に ver. 0.8.0 に更新されていました。 Changelog — librosa 0.8.0 documentation インストール方法 python -m pip install librosa=0.8.0 気になる変更点として、基本周波数推定アルゴリズムとして有…

librosaにおける16-bitでのWAV書き出し

問題 最近のバージョンの librosa では、信号を保存する時、16-bit 整数(int)型のWAVファイルで書き出そうとすると、以下のようなエラーが出てしまい、ファイル出力できません。 >>> import numpy as np >>> import librosa >>> y = np.sin(2.0*np.pi*440*…

FL Studio で色をグラデーションしたり名前をそろえたりする方法

www.youtube.com プロジェクトファイルの美しさは非常に重要だと考えています。 やる気だけでなく、作品への影響や、プロジェクトファイルの保守性にも関わります。 今回作った動画は、FL Studio でチャンネルボタン(音源)、ミキサートラック、パターンの…

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

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

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

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

リモートデスクトップ(Windows)でexplorer.exeが死んで操作不能になったのを[Ctrl]+[Alt]+[End]で解決できた話

タイトル落ちです。 私は普段、会社のPC(Windows)にリモート接続して仕事をしています。 ふとした拍子に explorer.exe が死んでしまい、 次の瞬間リモートデスクトップの画面は真っ暗&操作不能に。。。 ローカルマシンであれば [Ctrl]+[Alt]+[Dele…

チェビシェフ多項式のナイーブな実装

線スペクトル対 (LSP) を実装するにあたり、第1チェビシェフ多項式を利用するため実装してみました。 実装・検証したコードはPythonですが、VSTプラグイン化を見据えてC++を想定したナイーブ実装となっています。 概要 チェビシェフ多項式 - Wikipedia Cheb…

ボイスチェンジャー向けフィルタ設計:周波数ワープによるフィルタ係数の修正と実装方法

リアルタイム声質加工プラグインの開発進捗。声を太くしたり子供っぽくしたりできる処理のデモです。 pic.twitter.com/JcfwPJ2OCc— Kurene (@_kurene) July 18, 2020 線形予測分析+周波数ワープでリアルタイムで声質を加工する処理を作りました。 ボイスチ…

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

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

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

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

SciPyを使ったデジタルフィルタの周波数応答プロット

実装したIIR/FIRフィルタが正しく動作しているかどうか検証する必要があったため、 デジタルフィルタの周波数応答を見るスクリプトを試してみました。 基本的には scipy.signal.freqz() の example とほぼ同じで、 プロット部分を少し整理したスクリプトとな…

線形畳み込みのforループでのナイーブな実装 (Python)

VSTプラグインで線形畳み込みを実装する必要が出てきたので、 事前にPythonでC++ライクな実装を検証しました。 とりあえず、2つの入力信号の配列サイズ不明で、最適化していない実装です。 import numpy as np from numba import jit @jit def conv_linear(…

フォルマント強調フィルタの設計に関する備忘録

フォルマントの強調っぽい処理で"いい声"に加工する自作フィルタのプロトタイプ(前半:元の歌声、後半:フィルタリング後) pic.twitter.com/deOz1DJjIv— Kurene (@_kurene) 2020年7月7日 先日作ったフォルマント強調フィルタ、実は低ビットレート音声符号…

matplotlibを使ったインタラクティブなプロット(サンプルコード付き)

gui programming with matplotlib pic.twitter.com/kEI863X14U— Kurene (@_kurene) May 11, 2020 何番煎じか分かりませんが、matplotlibでインタラクティブなプロットをする機会があったので、 メモ代わりにサンプルコードを作ってみました。 Event handling…

PythonでTwitter Search APIを叩く - 特定期間の100件以上のツイートを検索

概要 Twitter search APIを叩いて、ある期間の2hDTMを検索できないか試してました pic.twitter.com/cs8XagzAJz— Kurene (@_kurene) 2020年4月29日 Twitter上のツイートやメディアを手元で一気に検索したいと思い、Twitter Search API を叩き、キーワードと期…

「実践! 作曲・アレンジに活かすためのモード作曲法」感想

最近、「もっと独創的なメロディを作れるようになりたい!」と思い、いろいろ探して偶然出会った本です。 目次だけでもワクワクするような本です。 なかなか旋律の構築に関する参考書ってないんですよね、和音進行はたくさんあるのですが… 全134ページで薄め…

Miroslav Philharmonik 2 CE のインストール方法・エラー対処のメモ(Windows)

「管弦楽の勉強をしたい!」と思い、IK Multimedia の高品質オケ音源 Miroslav Philharmonik 2 CE を導入しました。 IK Multimedia - Miroslav Philharmonik 2 CE Miroslav Philharmonik 2 の廉価版ですが、同レベルの高品質な音色を5000円弱(セール時)で…

HP Spectre x360 13 にMOFTを装着するコツ

HP Spectre x360 13 製品詳細 - ノートパソコン | 日本HP www.makuake.com 私は HP Spectre x360 13 をメインPCとして使っています。 このPCは非常にコンパクトかつハイスペックなので、場所を選ばずDTMや動画編集といった高負荷な作業ができるので重宝して…

Pythonにおける辞書型の結合 dict(d1, **d2) の注意点

ある2つの辞書型のデータd1,d2を結合したいとき、Python3では以下のように書くことができます。 new_d = dict(d1, **d2)# (1) この記法は特定のキーを記述せずに結合できるので便利なのですが、十分に注意しないといけない処理仕様があります。 以下の例をご…

numpy.savez_compressed:複数のNumPy配列を圧縮&バイナリ保存

Numpy で配列をバイナリで保存する方法としては、 numpy.save(npy_filepath, arr) が最も単純な方法です。 しかし、 非圧縮であるため、ファイルサイズが大きくなりがち 単一の配列オブジェクトのみ保存 であるため、大量の配列を保存する場合や、配列サイズ…

foobar2000 mobile (for iOS) でバックグラウンド再生ができないときの対処方法

foobar2000 mobile Windows で非常に人気のフリーウェア音楽プレイヤー foobar2000。 実は、iOS/Android用のアプリ foobar2000 mobile があります。 foobar2000Resolute Limitedミュージック無料 play.google.com foobar2000 mobile - foobar2000 Wiki スマ…

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

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