2016-08-14 73 views
3

「コンピュータで音楽を作る:Pythonでのクリエイティブなプログラミング」という本を読んでから、このライブラリでドラム音を奏でようとしていました。私はMitのmusic21ライブラリを使用しています。これは、本書で提案されたライブラリが私にとってうまくいきませんでした(単に「音楽」と呼ばれています)。 この本はバスドラムのサウンドを再生するために使用するコードの例です:Python Music21ライブラリでのドラム音の再生

from music import * 
drumPart = Part("Drums", 0, 9) 
note = Note(ACOUSTIC_BASS_DRUM, QN) # a bass drum strike 
drumPhrase = Phrase() 
drumPhrase.addNote(note) 
drumPart.addPhrase(drumPhrase) 
Play.midi(drumPart) 

私はハイハットの音とmusic21で同じことを行うことを試みたが、何の音が再生されていない:

import music21 
from music21 import note, stream, pitch, duration, instrument, tempo, chord 
from music21.note import Note, Rest 
from music21.chord import Chord 
from music21 import midi 

def createInstrument(instrument, midiChannel): 
    i = instrument 
    i.midiChannel = midiChannel 
    return i 

n = Note("A2", type='quarter') 

drumPart = stream.Part() 
drumPart.insert(createInstrument(instrument.HiHatCymbal(), 9)) 

drumMeasure = stream.Measure() 
drumMeasure.append(n) 
drumPart.append(drumMeasure) 
drumPart.show('midi') 

何かアドバイスWebページ以外のこのライブラリに関する情報はほとんどないため、本当に役に立ちます。

ありがとうございます。 Julián!

+0

ここで、あなたのコードで 'Play'メソッドを呼び出しますか? – fdsa

+0

どちらのライブラリも動作しない場合は、MIDI出力デバイスに何か問題がある可能性があります。 –

+0

再生方法は最後の行です** drumPart.show( 'midi')** – Julian

答えて

0

こんにちはJulian私はマイナーチェンジしてMac上で動作させました。私はそれが助けることを願っています私は基本的にあなたのコードの1行だけを変更し、今私のMacで動作します。私はそれが正常にmidファイルを作成していることを意味するが、それを開くことができないと言うとき。

オープンに失敗した理由は、デフォルトのプレーヤー(私の場合はQuickTime)がミッドファイルを実行できなかったためです。 MuseScore(無料)をインストールし、midファイルのデフォルトプログラムとして設定すると、すべてが円滑に動作するはずです。

from music21 import stream, instrument 
from music21.note import Note 

n = Note("A2", type='quarter') 

drumPart = stream.Part() 
drumPart.insert(0, instrument.Woodblock()) 

drumMeasure = stream.Measure() 
drumMeasure.append(n) 
drumPart.append(drumMeasure) 

# This line actually generate the midi on my mac but there is no relevant software to read it and the opening fail 
drumPart.show('midi') 
関連する問題