Piano Block


Piano Block is a plugin that allow you to play a variety of tones using the piano keyboard.
This plugin does not add any useful features to WordPress, nor does it add any useful blocks to help you write posts.
Let’s insert this block and enjoy the music if you are stuck in writing an article or just want a little distraction.

  • 15 instruments
  • Realistic sound based on sound sources sampled from actual instruments
  • Variable volume, switchable octave pitch and sustain pedal status
  • Synthesizer with 18 oscillators and customizable envelope

Note: The keys are optimized for the QWERTY keyboard and may not map correctly on other keyboards.

Resources, Audio Samples

Tone.js (Web Audio framework)

License: MIT License
Source: https://github.com/Tonejs/Tone.js/

Splendid Grand Piano (Acoustic Piano)

License: Public Domain
Source: https://github.com/sfzinstruments/SplendidGrandPiano

Greg Sullivan’s E-Pianos (Electric Piano1, 2)

License: CC-BY-3.0
Source: https://github.com/sfzinstruments/GregSullivan.E-Pianos

tonewheel organ sound samples by hammondman (Organ)

License: CC0-1.0
Source: https://freesound.org/people/hammondman/packs/18844/

Shinyguitar by Karoryfer Samples (Electric Guitar, Acoustic Guitar)

License: CC-BY-4.0
Source: https://github.com/sfzinstruments/karoryfer.shinyguitar

Pastabass by Karoryfer Samples (Electric Bass)

License: CC-BY-4.0
Source: https://github.com/sfzinstruments/karoryfer.pastabass

Meatbass by Karoryfer Samples (Acoustic Bass)

License: CC-BY-4.0
Source: https://github.com/sfzinstruments/karoryfer.meatbass

Bear Sax by Karoryfer Samples (Sax)

License: CC-BY-4.0
Source: https://github.com/sfzinstruments/karoryfer.bear-sax

VS Chamber Orchestra (Flute, Harp, Muted Trumpet, Violin, Xylophone)

License: CC0-1.0
Source: https://github.com/sgossner/VSCO-2-CE

SVG Repo (Block Icon)

License: CC0
Source: https://www.svgrepo.com/svg/47923/piano-keys-part

Free SVG (Block Background Image)

License: Public Domain
Source: https://freesvg.org/wg-3

Google Fonts (Banner Font)

License: Apache License 2.0
Source: https://fonts.google.com/specimen/Yellowtail


  • Piano Block
  • Piano Block Synthesizer Setting


This plugin provides 1 block.

  • Piano Play the melody.


  1. Upload the piano-block folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the \’Plugins\’ menu in WordPress.


How will this block be displayed on the frontend ?

By default, nothing is output to the front end. If you turn on “Display on the front end” in the sidebar settings, the piano will also appear on the front end and the visitors to yout site can play. However, multiple pianos cannot be displayed on the same page.

Is it possible to record the sound of my play ?

Recording is not supported in the current version due to technical or licensing issues.
I may add it in a future update if those issues can be resolved.


Read all 1 review

Contributors & Developers

“Piano Block” is open source software. The following people have contributed to this plugin.


“Piano Block” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Piano Block” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Tested to WordPress 6.3
  • Add: Keyboard layout setting
  • Enhancement: Allow multiple blocks to be inserted
  • Enhancement: Improve keyboard and focus events
  • Enhancement: Improve compatibility with theme styles on the front end
  • Drop support for WordPress 5.9, 6.0
  • Drop support for PHP 7.3


  • Tested to WordPress 6.2


  • Add: Synthesizer
  • Enhancement: Accessibility Improvements
  • Fix: Duplicate script loading on the front end


  • Tested to WordPress 6.1
  • Enhancement: Polish front-end styles
  • Fix: browser console error
  • Fix: Apply translation on the front end


  • Add: Rendering option on the front-end
  • Add: margin block support
  • Add: background block support
  • Enhancement: Polish the style of the control section
  • Clean: Remove unnecessary files
  • Doc: Update readme


  • Tested to WordPress 6.0
  • Fix: Don’t enqueue scripts on frontend
  • Doc: Update author name


  • Doc: Fix typo and spelling inconsistencies


  • Initial release