2018年9月10日月曜日

pip install が使えなくなったので修復方法を模索する

久々に Python へライブラリを追加して遊ぼうと思ったのですが、pip install が一切使用できない事態になっていました……。

スクリーンショットを撮っておけばよかったのですが……。pip install 実行後に「Could not fetch URL」から始まって「There was a problem confirming the ssl certificate」を経由して「Could not find a version that satisfies the requirement 〇〇 (from versions: )」と表示されるような状態になっていました。URLに繋げられなかったのだから、〇〇(インストールしたかったライブラリ)が見つからないのは当然です。

よくある解決方法1

pip のバージョンが古いと install を使えなくなる似た事態になるようです。

Problem Confirming the SSL Certificate - OSX · Issue #5236 · pypa/pip

Pip version: pip 9.0.1 Python version: Python 3.5.2 and Python 2.7.10 installed Operating system: OSX - 10.13.4 Description: I've tried to install Keras (keras.io) and faced with a problem related confirming ssl certificate. What I've ru...

「pip が使えないなら、curl でやってみて」なんて書かれているけれど、今回は curl もダメでした。

curl https://bootstrap.pypa.io/get-pip.py | python3

よくある解決方法2

ひたすら「--trusted-host」オプションを付ける方法で改善するパターンもあるようです。ただし、自分の環境ではコレでも改善できなかった……。

Cannot update or install anything with pip, SSL error

Hi everyone, this is my first time posting on here and I really need help with this problem. I've had Python and pip on my PC since I got it about a year ago and never really used pip that much until recently. I'm working on a project with my friend ...

python -m pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org --upgrade pip

結局、何が悪かったのか?

ウイルス対策ソフトでした。端末にインストールされているカスペルスキー、これのバージョンアップ版がリリースされていたようだったので、入れ替えてみると pip コマンドが元通り使えるようになりました。ウイルス対策ソフトが原因で不通になるとか、“あるある現象”でしたね……。

似た事象で困った場合は、チェックしてみても良いかもしれません。

2018年7月17日火曜日

VOCALOID5のSTYLE設定を初期化したい

VOCALOID5 を買いました。macOS に対応するようになって、AudioUnit 形式のプラグインだけでなくスタンドアローンでも起動するというのだから、ポチらない理由がなかった……。Piapro Studio スタンドアローン版より先に公式が動いてくれたかんじです。

VOCALOID5商品一覧 | VOCALOID ( ボーカロイド・ボカロ ) 公式サイト

VST/AU対応したVOCALOID5を購入できるのはVOCALOID公式サイトだけ。 VOCALOID5の商品詳細情報をご覧いただけます。

VOCALOID4 と何が変わったのか? 詳しいことは公式 HP を参照してもらうとして、今回は VOCALOID5 で困ったことを工夫で回避してみようと思います。

(追記:2018/7/27)実は「No Effect」が用意されていました。記事末尾に追記しました。

STYLE 設定の初期化ができない?

VOCALOID4 までは各種パラメーターを調整して行なっていた声色調整を、VOCALOID5 からは「STYLE」としてプリセット選択で一括適用できるようになりました。もちろん以前のように各種パラメーターをユーザー自身で調整することもできますし、「STYLE」のプリセットを追加することもできます。全トラック中で一定値のままになるパラメーターは STYLE で設定するような使い方をするんだと思います。VOCALOID4 までだと、こういう場合は端から端まで線を引かないとダメでしたね……。

しかし、この「STYLE」設定では、どうやら適用後の初期化コマンドが無いようなのです。Command キーを押しながらのクリックで各パラメーターを初期値に戻すことはできますが、全パラメーターやエフェクトのインサート具合を解除するコマンドが無いもよう……。

デフォルト プリセットを作る

仕方がないので、全パラメーターを初期化した STYLE プリセットを作ります。

全エフェクターを外し、各パラメーターを初期化します。ついでに、「SINGING SKILL」や「VOICE COLOR」などのタイトル(?)横にある電源ボタンを押してスルー状態にしておきます。

デフォルトセットができたら、保存ボタンをクリックして保存メニューを呼びます。

「Type」と「Color」を好みで入力して保存すれば、使えるようになっているはずです。「Type」がカテゴリーで、「Color」がタグのような使い方をすればいいのかな? 全部を選択することもできるから、使い道がアヤシイ……。ちなみに、「Type」「Color」の並び順を変えることは叶わなかったです……。さらにオマケ情報で、プリセットの削除はメインの選択画面上で行なうようです。

おまけ

バージョンアップしているのだから当然かもしれないけれど、VOCALOID4 と使い勝手が違いますね。以前のようにパラメーターをグリグリしなくても、プリセットやパーツをポチポチ選ぶだけでそれなりに歌えるようになったのはラクチンで良いです。

実はあった「No Effect」

(追記:2018/7/27)

「TYPE」も「COLOR」も未選択状態にするとプリセット「No Effect」が出現します。

選択状態を全て解除するのを手間に感じる場合は、プリセットを作ったほうがいいかもですね。

2018年5月13日日曜日

PythonでMIDIを扱えるようにpretty_midiを導入する

Pythonで楽譜を扱うのが面白いです。ABC記譜法であれば、楽譜を「文字」として扱えるのでPythonだと比較的にラクに処理できます。ただ、楽譜のインプットやアウトプットのことを考えるとMIDIファイルを扱えるようにしたほうが便利なように思えます。

pretty_midiを使う

PythonでMIDIを扱う場合、パッケージ『pretty_midi』をインポートすれば良さそうです。MIDIファイル内のトラックごとに、ノートをリストとして取得できるようになります。

インストールはpipコマンドだけで済むのでラクチン。

pip install pretty_midi

MIDIを読み込む

PrettyMIDI()でファイル名を指定すれば、あとはトラックとノートがリストで取得できます。

import pretty_midi

# MIDIファイルのロード
midi_data = pretty_midi.PrettyMIDI('test.mid')
# トラック別で取得
midi_tracks = midi_data.instruments
# トラック1のノートを取得
notes = midi_tracks[0].notes
for note in notes:
    # ベロシティー、ノートナンバー、
    # ノートオンタイム、ノートオフタイム
    # の順でノート情報が渡される
    print(note)

pretty_midiを使うときに注意しなければいけないのは次の事項でしょうか?

  • 基本的にTickではなく、時間で位置が管理されている
    ※Tickへ変換するメソッドが用意されている
  • 楽曲開始位置はアーフタクトが考慮されていない
  • 分解能は480Tickへ変換される

ABC記譜法では存在していた休符情報がMIDIでは在りません。機械学習で休符情報も欲しい場合はロケーションの差分を求めて、擬似ノートを置いてあげる必要がありますね。