やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

2018-11-01から1ヶ月間の記事一覧

音階と音度からピッチクラスを取得する

CMajorScaleの1度はC音である。

純正律で周波数を算出する

固定比で12音を算出できた。

12平均律の基音クラスを弱参照するよう修正した

エラーメッセージをピタゴラス音律クラスと統一した。

ピタゴラス音律で周波数を取得する

ピッチクラスとオクターブクラスを渡して。

12平均律で周波数を取得する

ピッチクラスとオクターブクラスを渡して。

基音を設定、取得するクラスを作った

音律クラスで周波数を算出するために使う予定。

絶対オクターブ値(国際式,YAMAHA式)から相対オクターブ値(0〜10)を取得する

オクターブの表現を内部で統一する。

Pythonで共通の任意な親クラス、関数、変数名を持った、別名定義クラスをDRYに書きたい。(クラスインスタンスでなくクラスオブジェクト)

タイトルが伝わりにくい。試行錯誤しまくったログ。

音名を各国の表記で取得する

C#→嬰ハのように取得する。再代入禁止のdict, OrderedDictも作成した。

変化記号を各国の表記で取得する

#→嬰のように取得する。

MIDIノート名からMIDIノート番号を取得する

A#4→70のように変換する。

ピッチクラスとオクターブからMIDIノート番号を取得する

(0, 2)→(0+(2*12))→24など。

音名から半音数(ピッチクラス)を取得する

C#→1。

Python音楽理論ライブラリの細かい点を修正した

ちょっと気になる点を修正して完成度UP。

PythonコードをGoogle翻訳で国際化する(pot,po,moファイル既存時は更新する)

更新前までに翻訳していたテキストがそのまま保持される。

PythonコードをGoogle翻訳で国際化した

Babelでpyファイルからpot,po,moファイルを作成する。Google翻訳APIで翻訳したテキストを使う。

PythonでGoogle翻訳API用クラスを作った

翻訳できた。

mitmproxyをインストールし使ってみるも使えず

ネットワーク通信を監視したかったが出来なかった。

Google翻訳APIを使ってみる

翻訳できた。

Babelでpyファイルから翻訳対象箇所とmsgidを取得する

自動翻訳したpoファイル作成までの流れが見えてきた。

pybabelコマンドを半自動実行するshスクリプトを作った

pybabelコマンドの引数が多くて煩雑だったので。

pybabelを使ってみた

pybabelコマンドで pot, po, mo, ファイルを作ってみた。

python国際化用ライブラリBabelについて調べインストールした

使えそうなので。

Pythonで国際化した(pot, po, moファイル作成手順をshスクリプトに書いた)

3ヶ国語を用意してみた。実行中に任意の言語で表示する。

Pythonで国際化した(ソースコードと国際化用ファイルのディレクトリを分けた)

3ヶ国語を用意してみた。実行中に任意の言語で表示する。

Pythonで国際化した(日本語、英語、ドイツ語を動的に変更)

3ヶ国語を用意してみた。実行中に任意の言語で表示する。

Pythonで国際化してみた

Hello World!!をこんにちは世界!へ置き換えた。

音程から半音数を取得する

音度も変更。int型を受け付けるようにした。

readonlyな定数を音度、変化記号、ピッチクラスに実装した

やりたかったことができた。

メタクラスを継承して__setattr__による再代入禁止とsys.modulesへのクラスインスタンス代入を共通化した

これでPythonで定数を実装するクラスを手軽につくれそう。