日本語版: https://zitengxiang.github.io/gagaku-player/

Gagaku Score Player icon

Gagaku Score Player雅楽譜プレイヤー

Write gagaku notation, and eight instruments play it together.

A free desktop app for programming (DTM) Japanese court music (Windows, macOS, Linux)

Listen

In every piece, the shō, hichiriki, ryūteki, biwa, koto, kakko, shōko and taiko are synthesized by this app. These are not recordings.

Etenraku 越天楽 · 平調

The best-known classical piece of gagaku, in a version transcribed with this app.

About 1:43. All 24 bars are transcribed for shō, hichiriki, ryūteki, biwa, kakko, shōko and taiko (no koto part).

See each instrument's characters and pitches in Hyōjō

Wakatake 若竹 · 双調

A bright, lively melody that speeds up section by section and settles at the end.

About 0:53. An original piece written for this app (not a classical piece).

See each instrument's characters and pitches in Sōjō

Asagasumi 朝霞 · 壱越調

Begins slowly, gradually speeds up, and relaxes in the final bar.

About 1:24. An original piece written for this app (not a classical piece).

See each instrument's characters and pitches in Ichikotsu-chō

Tsukikage 月影 · 黄鐘調

The prelude is played calmly by shō and ryūteki alone; everyone joins from bar 5.

About 1:09. An original piece written for this app (not a classical piece).

See each instrument's characters and pitches in Ōshiki-chō

Shimoyo 霜夜 · 盤渉調

The stillness of a winter night, in a melody that keeps returning to the tonic B (Banshiki). The prelude is shō and ryūteki alone.

About 1:47. An original piece written for this app (not a classical piece).

See each instrument's characters and pitches in Banshiki-chō

Hanaikada 花筏 · 太食調

A bright ryo melody on the tonic E, like petals drifting on water. It relaxes slightly at the end.

About 1:19. An original piece written for this app (not a classical piece).

See each instrument's characters and pitches in Taishiki-chō

Program gagaku (DTM) in its own notation

Gagaku Score Player is software for typing in gagaku pieces and playing them back. In ordinary DTM, you load a gagaku sample library into a DAW and translate the music into staff notation or a piano roll. With this app, you type the shō chord names, the hichiriki and ryūteki characters, the biwa frets and the koto string names exactly as they appear in a gagaku score. That alone plays them as an ensemble of shō, hichiriki, ryūteki, biwa, koto, kakko, shōko and taiko.

All sounds are synthesized inside the app, so you do not need to buy a DAW or sample library. It automatically adds performance techniques unique to gagaku, such as the shō's finger changes (手移り), the hichiriki's pitch bends (塩梅), the biwa's sweeps (掻撥) and the kakko's rolls (来). Use it to check your transcriptions, to hear each part within the ensemble, or for gagaku practice and study. Export your pieces as WAV files to use in other DTM software or in videos.

Features

Type the notation as is

Write shō chords (乞 一 工 凢 …), hichiriki and ryūteki characters, biwa frets, koto strings, and percussion strokes such as 正, 来, 百 and 図 directly as text. You can also click them in from the notation palette.

Played the gagaku way

The shō keeps shared pipes sounding through chord changes (手移り), and the hichiriki joins notes with 塩梅. Repeated characters are re-articulated with a clear break. Biwa sweeps, koto 閑掻/早掻 patterns and kakko rolls (following the tempo) are reproduced too.

Six modes

Supports Ichikotsu-chō, Hyōjō, Sōjō, Ōshiki-chō, Banshiki-chō and Taishiki-chō. Each mode has its own hichiriki メリ and ryūteki メリ and ハカリ (for example, 舌 and 丄 are lowered to F# in Hyōjō, and 凢 is lowered to C in Sōjō, Ichikotsu-chō and Ōshiki-chō).
Scale and notation chart for each mode:

A score that lines up

The score text is formatted automatically with five bars per system, all instruments stacked and the beats aligned vertically.

Score view and staff notation

Shows a full score with aligned beats and a Western staff score with the gagaku characters under the notes. The sounding notes are highlighted during playback.

Tempo changes and WAV export

Write gagaku's gradual accelerations with tempo=. Export the performance as a WAV file.

Meter and ma between bars

Change the beats per bar in the toolbar to re-bar the score and notation. Turn on "ma between bars" (小節の間) to pause at the end of each bar while the sounding notes are sustained.

Plugins

Search for plugins from the Plugins menu, install them, and turn them on or off at any time. The "English UI" plugin switches the app to English, shows notation buttons as Ichi(一) and adds pop-ups with readings and pitches.

Biwa sweeps and double stops

Biwa sweeps start just before the beat so that the target note lands exactly on it. Write 一+ク to strike different strings together.

Recent updates

These updates are included in the pip release 0.5.0 (published October 18, 2026; the landing biwa sweep is new in 0.2.1, plugins in 0.3.0, the Hyōjō メリ/ハカリ and sound changes in 0.4.0, and メリ/ハカリ for the other modes in 0.5.0). If you already have it installed, update with pip install -U gagaku-player.

Screenshots

Score view tab: a full score with the beats of all instruments aligned
Score view (楽譜表示) — a full score with the beats of all instruments aligned vertically. Yellow marks the notes being played.
Staff tab: a staff-notation score with gagaku characters under the notes
Staff (五線譜) — a full score with the gagaku character under each note. Shō chords are written as chords, biwa and koto as arpeggios.
Score text tab: a score with five bars per system and the beats aligned vertically
Score text (譜面テキスト) — five bars per system, all instruments stacked and the beats aligned vertically.

Writing a score

Write a header and one line per instrument in a UTF-8 text file (extension .gaku).

title: 若竹
mode: 双調
tempo: 70

[笙]   十    -   凢    -   |  乞    -  一    -   |
[篳篥] 丄    四  六    工  |  五    -  工    六  |
[竜笛] 責丄  干  六    中  |  夕    -  中    六  |
[琵琶] ク    -   八    -   |  七    -  ヒ    -   |
[筝]   閑三  -   早六  -   |  閑四  -  早五  -   |
[鞨鼓] 正    .   正    .   |  片来  -  正    .   |
characterone beat
譜字:2 / 譜字:1/2length in beats
-hold the previous note one more beat (also -:2, -:1/2)
.a one-beat rest (also .:2)
|bar line
tempo=72change tempo from this point
譜字' / 譜字,one octave up / down (the ryūteki's high register can also be written 責六)
一+クstrike different biwa strings together
beats: 3(header) beats per bar; bars are split every this many beats
ma: 1(header) length of the ma between bars, in beats; omit for none

See the README for the full format and the characters for each instrument.

Installation

With Python 3.10 or later, install it with pip (PyPI):

pip install gagaku-player
gagaku-player --demo

To update to a new release, run pip install -U gagaku-player.

To run from source:

  1. Install Python 3.10 or later.
  2. Download the app and unzip it (or git clone https://github.com/ZiTengXiang/gagaku-player.git).
  3. In the unzipped folder, run:
pip install -r requirements.txt
python main.py examples/wakatake_sojo.gaku

On Windows, playback works with nothing else installed. On macOS and Linux, playback also needs pip install sounddevice.

Pitch and tuning

The reference pitch is A4 = 430 Hz. The pitches of the shō, hichiriki and ryūteki follow published tables. No source was found for the gakubiwa and gakusō tunings in each mode, so they are provisional values built from each mode's tonic and scale (editable in gagaku/tunings.json). Techniques such as 閑掻, 早掻, 掻撥 and 来 are simplified approximations. If you know the correct tunings or techniques, please let us know in GitHub Issues.

For each mode, a chart shows which pitch each instrument's characters sound and how the メリ and ハカリ techniques bend them. Choose a mode:

FAQ

Can I use it to program (DTM) gagaku?
Yes. Type the notation as text and it plays as an ensemble. You can set tempo changes, beats per bar and the ma between bars, and export the result as a WAV file.
Is it free?
Yes. It is open source under the MIT License; you may modify and redistribute it.
Is there a smartphone app?
Not at the moment. It is a desktop app for Windows, macOS and Linux, and runs on Python 3.10 or later.
Which instruments and modes are supported?
The eight instruments of the kangen ensemble (shō, hichiriki, ryūteki, biwa, koto, kakko, shōko, taiko) and the six modes (Ichikotsu-chō, Hyōjō, Sōjō, Ōshiki-chō, Banshiki-chō, Taishiki-chō). For the characters and pitches in each mode, see the charts for Ichikotsu-chō, Hyōjō, Sōjō, Ōshiki-chō, Banshiki-chō, Taishiki-chō.
Can I use it if I cannot read gagaku notation?
You can click each instrument's characters in from the palette and check every note in the staff tab. Sample pieces are included, so start by listening with gagaku-player --demo.
Are the sounds recordings?
No, they are synthesized by the program. They are modeled on the real instruments, but differ from an actual performance.
Is the app itself in English?
Install the "English UI" plugin from Plugins → Find and manage plugins to switch the interface to English. The notation characters themselves stay in Japanese because gagaku scores are written that way, but each palette button shows its reading (for example Ichi(一)) and a pop-up with its pitches.

License

MIT License. You may modify, redistribute and use it commercially (keep the copyright notice).

About analytics on this site

This site uses Google Analytics, an analytics tool provided by Google, to understand how it is used. Google Analytics uses cookies and similar technologies to collect information such as the pages viewed, approximate location and browser type. The information collected does not include anything that identifies you personally, such as your name. It is handled according to Google's privacy policy.

If you do not want this information collected, disable cookies in your browser or use the Google Analytics Opt-out Browser Add-on. For details, see How Google uses information from sites or apps that use our services.