pythonでMIDIを扱いたかった…(断念)
うまくいかないのでメモがてら更新
Pythonで音を扱うプログラムを書きたくなった。そこでとりあえずMIDIをいじってみようと思っていた。
MIDIファイルの作成
MIDIファイルの作成はいろいろな方法があった。
使ったライブラリをメモしておく。
MIDIファイルを作成することは目的ではなかったのでサンプルぐらいしか試していない。結構わかりやすい印象であった。
MIDIファイルの再生
これができなかった。どうすればMIDIファイルを再生できるのか…。
使ったライブラリをメモしておく
- pretty_midi(サンプルで作ったMIDIファイルは再生できるが、それ以外は無理だった)
- pygame (waveファイルだけでなくmp3ファイルも再生できる模様。ただし私が再生したいのはMIDIだ。)
- pyaudio (わからない。単音ならいけそう。)
正直英語のドキュメントを読んでみても、あまり参考になる情報は得られなかった。単音を鳴らすことはできたが…
rubyのほうが良さそうなものがあった
結局、誰も彼もサンプルとして公開しているのはwaveファイルの読み込みばかり。
というわけでmidiに固執せず、waveファイルを扱えばいいのではないのでしょうか。(名案)
技術が上がったら再挑戦しよう。
pythonのrandomモジュールを使ってみる
randomモジュールを使ってリストからランダムに要素を抽出したい。
- 一つの要素をランダムに選ぶ場合
import random a=['キュアブラック', 'キュアホワイト', 'シャイニールミナス'] print(random.choice(a))
出力結果
%python a.py キュアブラック %python a.py シャイニールミナス %python a.py シャイニールミナス
import random
でrandomモジュールが使えるようになる。
random.choice(a)
でaの要素を一つランダムに選ぶことができる。
なぜプリキュアの名前なのかというとただの趣味。
日本語使ってるけどコーディングはなくても動く。pythonは今そういう仕様らしい。
ドキュメントのリンクも貼っておく
- 複数の要素をランダムに選ぶ場合
import random a=['キュアブラック', 'キュアホワイト', 'シャイニールミナス'] print(random.choices(a,k=2))
出力結果
%python a.py ['キュアブラック', 'キュアブラック'] %python a.py ['シャイニールミナス', 'キュアブラック'] %python a.py ['キュアホワイト', 'キュアホワイト']
random.choices(a,k=2)
のaの部分にリストやタプルなどを入れて、k=2
のように選ぶ個数を指定する。
ただしこれを使うと重複した結果がでることもあるので注意が必要。
重複させたくないときはrandom.sample( )
を使うと良いらしい。使い方は
random.sample(a,2)
というように使う。choicesとは引数の渡し方が違うようなので注意したい。
Java(JRE)のインストールについて
最近友人がJavaでゲームを作ったため、それを遊ぶために自分の貧弱WindowsノートPCにJavaをインストールした。
一応手順をメモしておく。 なおここで書くのは開発者のための手順ではないので、JDK(Javaで開発するためのもの)ではなく、JREというJavaを動かすためだけのものである。
(正直、Javaは一度も書いたことないので変なことを言ってるかもしれない。もしあれば後で訂正します)
(ホームページに行ってインストールしてくるだけだが)
Javaのダウンロードページ(https://java.com/ja/download/manual.jsp) に行く 画像ではWindowsしか映ってないが、MacやLinux、Solarisもある(Solarisって何なんだ…)
自分のOSにあったものをダウンロードする。
(Windowsの場合)exeファイルを実行し、指示に従ってインストールする。
以上です。非常に簡単ですね。
念のため書いておきますが、Javaをつかってプログラミングしたい、などという場合はJREではなくJDKが必要になるので注意してください。
開発環境を整えるときはPathの設定とかが慣れないとよくわからないので、いつかメモしておきたい
この文章はMarkdownで書いてみました。
Markdownの基本的な書き方のメモも残しておく予定。