ここでは、Pytakt MMLで書かれた音楽を演奏する方法を2つ紹介します。1つは標準MIDIファイル(単にMIDIファイルとも呼ばれます) に変換してそれを再生する方法、もう1つはPytaktから直接、シンセサイザ (波形合成ためのソフトウェアやハードウェア) へMIDIメッセージを送って再生する方法です。
Pytaktをインストールすると使用可能になるpytaktコマンドを使い、シェル(ターミナル; Windowsの場合はPowerShell) から次のように入力して、MMLで記述された音楽のMIDIファイルを作成することができます。cde という文字列がMMLに相当し、これは4分音符でド、レ、ミと順番に演奏することを意味しています。test.mid は作成されるMIDIファイルのファイル名です。
$ pytakt -o test.mid -m 'cde'
MIDIファイルの再生は、各OSでの方法に従ってください。
上と同じことを、Pythonインタプリタから対話的に行うことも可能です。pytaktコマンドを引数なしで起動すると、pytaktライブラリを読み込んだ状態でPythonインタプリタが立ち上がります。そこから、下のようにして MIDIファイルを出力することができます。
$ pytakt
pytakt version 1.1.0
>>> mml('cde').writesmf('test.mid')
また、MMLのテキストをファイルに格納しておいて、それをMIDIファイルへ変換することも可能です。例えば、好みのテキストエディタ(この例ではemacs) で、cde という内容を入力し、test.mml という名でセーブします。

その後、pytaktコマンドを使って下のようにMIDIファイルに変換できます。
$ pytakt -o test.mid test.mml
Pytaktから直接演奏することで、MIDIファイル変換の手間が省け、また、ピアノロールを表示しながらの演奏が可能になります。
Pytaktで直接演奏するためには、PCに内蔵されたソフトウェア・シンセサイザ (ソフトシンセ) またはMIDIキーボードなどの外部シンセサイザが必要です。下に、ソフトシンセを利用する場合のセットアップ例をOSごとに示します。
Windows: “Microsoft GS Wavetable Synth” というソフトシンセが最初から備わっているため、特にセットアップの必要はありません。
Mac: 最も簡単なのは、GarageBand を利用することです。GarageBand を立ち上げ、空のプロジェクトを作成します(新規トラック作成では “MIDIソフトウェア音源” を選んでください)。これで GarageBand が起動している間、ソフトシンセとして利用できるようになります。ただし、MIDIプログラムチェンジによって音色を切り替えたり、MIDIチャネルごとに別の音色を割り当てたりということはできないようなので、それらを望むのならば fluidsynth のインストール をおすすめします。
Linux: OS に timidity というパッケージをインストールし、それをデーモンとして走らせておく必要があります。デーモンとして走らせるには、timidity -iA -Os & を実行します (ただし、筆者の環境ではtimidity -iA -Os -B2,8 & としてバッファサイズを減らさないと、曲の出だしでもたつくことがありましたので、必要に応じて調節してみてください)。
セットアップが済んだら、下のようにしてpytaktを起動してピアノロールのウィンドウを表示してみましょう。
$ pytakt -m 'cde' (コマンドラインからの場合)
$ pytakt test.mml (ファイルからの場合)

そして、右上の再生ボタンを押せば演奏が始まり、もう一度押せば停止します。ピアノロールを表示せずに演奏だけ行いたい場合には、下のように-p オプションを指定します。
$ pytakt -p -m 'cde' (コマンドラインからの場合)
$ pytakt -p test.mml (ファイルからの場合)
Pythonから対話的に実行する場合は、下のように play() や show() を使用します。
$ pytakt
pytakt version 1.1.0
>>> play('cde') # 演奏 (mml('cde').play() でも可)
>>> mml('cde').show() # ピアノロール表示
Pytaktから直接演奏する場合において、MIDIの出力先が複数あるときは、そのうちどれを使うかを選択する必要が出てきます。出力先の一覧は pytakt -l で確認できます。
$ pytakt -l
MIDI Output Devices:
[0] 14:0 Midi Through Port-0
> [1] 129:0 TiMidity port 0
[2] 129:1 TiMidity port 1
[3] 129:2 TiMidity port 2
[4] 129:3 TiMidity port 3
MIDI Input Devices:
[0] 14:0 Midi Through Port-0
'*': opened '>': currently selected
上の表示から、選択中の出力先は [1] の TiMidity port 0 であることが分かります。これを例えば [4] の TiMidity port 3 に変更して演奏したい場合には、-d オプションを使用します。
$ pytakt -d4 -m 'cde'
$ pytakt -d4 test.mml
$ pytakt -d4
pytakt version 1.1.0
>>> play('cde')
上のように -d に続けて []内に表示される番号を指定するか、あるいは-d "port 3" のようにデバイス名の一部を指定します。
Pythonを対話的に実行しているときは、set_output_device() によって途中で出力先を変更することができます。
>>> set_output_device(3)
>>> show_devices() # 出力先が変更されたことを確認する
MIDI Output Devices:
[0] 14:0 Midi Through Port-0
[1] 129:0 TiMidity port 0
[2] 129:1 TiMidity port 1
> [3] 129:2 TiMidity port 2
[4] 129:3 TiMidity port 3
MIDI Input Devices:
[0] 14:0 Midi Through Port-0
'*': opened '>': currently selected
>>> play('cde') # [3] TiMidity port 2 に出力される
jupyter notebook の環境からでも、python インタプリタを起動して MMLを利用することが可能ですが、下の2行によりpytaktモジュールを先立ってインポートする必要があります。
from pytakt import *
from pytakt.midiio import *
インポートと演奏を行っている様子を下に示します。MML文字列が複数行にわたる場合は、下のように三重引用符を使用します。

music21ライブラリ及び MuseScore等の五線譜作成アプリケーションがインストールされ、music21の設定(configure)が正しく行われている環境であれば、次のようにノートブック上に五線譜をインライン表示することが可能です。
