クリックで演奏できる ピアノ鍵盤の React コンポーネントです。
スタイルは全くあたっていないので、ご自身でスタイリングしてください。
yarn add react-piano-keyboard
import Keyboard from 'react-piano-keyboard';
function App() {
return (
<Keyboard
keyboardWidth={400}
classKeyboard={'classKeyboard'}
classWhiteKeys={'classWhiteKeys'}
classWhiteKey={'classWhiteKey'}
classBlackKeys={'classBlackKeys'}
classBlackKey={'classBlackKey'}
noteSounds={soudObjects}
/>
);
}
<Keyboard
keyboardWidth={400}
classKeyboard={'classKeyboard'}
classWhiteKeys={'classWhiteKeys'}
classWhiteKey={'classWhiteKey'}
classBlackKeys={'classBlackKeys'}
classBlackKey={'classBlackKey'}
noteSounds={soudObjects}
classActiveKey={'classActiveKey'}
activeKeys={['C0', 'E0', 'G0']}
/>
props 名 | 型 | 説明 |
---|---|---|
keyboardWidth |
必須 number
|
鍵盤全体の幅を指定してください。 |
classKeyboard |
必須 string
|
鍵盤全体のclassName を指定してください。 |
classWhiteKeys |
必須 string
|
白鍵全体のclassName を指定してください。 |
classWhiteKey |
必須 string
|
白鍵一つ一つのclassName を指定してください。 |
classBlackKeys |
必須 string
|
黒鍵全体のclassName を指定してください。 |
classBlackKey |
必須 string
|
黒鍵一つ一つのclassName を指定してください。 |
noteSounds |
必須 { [keyName: string]: HTMLAudioElement }
|
キーのクリック時に再生するHTMLAudioElement を指定してください。 |
classActiveKey |
任意 string
|
強調したいキーがある場合、そのclassName を指定してください。 |
activeKeys |
任意 string[]
|
強調したいキーがある場合、keyName を指定してください。(C3, A6, Eb2, etc...) |
keyScale |
任意 number
|
鍵盤のスケールを指定してください。初期値は0 です。 |
#
(シャープ)は使えません。代わりにb
(フラット)を使ってください。
C# == Db
D# == Eb
F# == Gb
G# == Ab
A# == Bb
GitHub リポジトリの./src/public/audio
にてピアノの音源を配布しています。
ピアノ以外の音源で演奏することも可能です。