commit 702d54e80506f36d46cce25e8b92926299e7b953 Author: minglipro Date: Fri Aug 1 00:08:34 2025 +0800 first commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..e69de29 diff --git a/resource/1.wav b/resource/1.wav new file mode 100644 index 0000000..f26a176 Binary files /dev/null and b/resource/1.wav differ diff --git a/resource/10.wav b/resource/10.wav new file mode 100644 index 0000000..4e79c82 Binary files /dev/null and b/resource/10.wav differ diff --git a/resource/11.wav b/resource/11.wav new file mode 100644 index 0000000..ac03764 Binary files /dev/null and b/resource/11.wav differ diff --git a/resource/12.wav b/resource/12.wav new file mode 100644 index 0000000..300b074 Binary files /dev/null and b/resource/12.wav differ diff --git a/resource/13.wav b/resource/13.wav new file mode 100644 index 0000000..a14501e Binary files /dev/null and b/resource/13.wav differ diff --git a/resource/14.wav b/resource/14.wav new file mode 100644 index 0000000..18bbaf7 Binary files /dev/null and b/resource/14.wav differ diff --git a/resource/15.wav b/resource/15.wav new file mode 100644 index 0000000..671b0a3 Binary files /dev/null and b/resource/15.wav differ diff --git a/resource/16.wav b/resource/16.wav new file mode 100644 index 0000000..be99870 Binary files /dev/null and b/resource/16.wav differ diff --git a/resource/17.wav b/resource/17.wav new file mode 100644 index 0000000..dfbf263 Binary files /dev/null and b/resource/17.wav differ diff --git a/resource/18.wav b/resource/18.wav new file mode 100644 index 0000000..ba24ea8 Binary files /dev/null and b/resource/18.wav differ diff --git a/resource/19.wav b/resource/19.wav new file mode 100644 index 0000000..02ab12d Binary files /dev/null and b/resource/19.wav differ diff --git a/resource/2.wav b/resource/2.wav new file mode 100644 index 0000000..b340616 Binary files /dev/null and b/resource/2.wav differ diff --git a/resource/20.wav b/resource/20.wav new file mode 100644 index 0000000..f950fba Binary files /dev/null and b/resource/20.wav differ diff --git a/resource/21.wav b/resource/21.wav new file mode 100644 index 0000000..b293655 Binary files /dev/null and b/resource/21.wav differ diff --git a/resource/22.wav b/resource/22.wav new file mode 100644 index 0000000..26a7171 Binary files /dev/null and b/resource/22.wav differ diff --git a/resource/23.wav b/resource/23.wav new file mode 100644 index 0000000..9259e16 Binary files /dev/null and b/resource/23.wav differ diff --git a/resource/24.wav b/resource/24.wav new file mode 100644 index 0000000..f489f08 Binary files /dev/null and b/resource/24.wav differ diff --git a/resource/25.wav b/resource/25.wav new file mode 100644 index 0000000..c3e589e Binary files /dev/null and b/resource/25.wav differ diff --git a/resource/26.wav b/resource/26.wav new file mode 100644 index 0000000..6b50008 Binary files /dev/null and b/resource/26.wav differ diff --git a/resource/27.wav b/resource/27.wav new file mode 100644 index 0000000..aabbe2c Binary files /dev/null and b/resource/27.wav differ diff --git a/resource/28.wav b/resource/28.wav new file mode 100644 index 0000000..4501471 Binary files /dev/null and b/resource/28.wav differ diff --git a/resource/29.wav b/resource/29.wav new file mode 100644 index 0000000..2cb0cc7 Binary files /dev/null and b/resource/29.wav differ diff --git a/resource/3.wav b/resource/3.wav new file mode 100644 index 0000000..62c8f0b Binary files /dev/null and b/resource/3.wav differ diff --git a/resource/30.wav b/resource/30.wav new file mode 100644 index 0000000..cde3610 Binary files /dev/null and b/resource/30.wav differ diff --git a/resource/31.wav b/resource/31.wav new file mode 100644 index 0000000..f1435d6 Binary files /dev/null and b/resource/31.wav differ diff --git a/resource/32.wav b/resource/32.wav new file mode 100644 index 0000000..27d06cb Binary files /dev/null and b/resource/32.wav differ diff --git a/resource/33.wav b/resource/33.wav new file mode 100644 index 0000000..cd5d3a6 Binary files /dev/null and b/resource/33.wav differ diff --git a/resource/34.wav b/resource/34.wav new file mode 100644 index 0000000..0961850 Binary files /dev/null and b/resource/34.wav differ diff --git a/resource/35.wav b/resource/35.wav new file mode 100644 index 0000000..42c14a2 Binary files /dev/null and b/resource/35.wav differ diff --git a/resource/36.wav b/resource/36.wav new file mode 100644 index 0000000..9a5a686 Binary files /dev/null and b/resource/36.wav differ diff --git a/resource/37.wav b/resource/37.wav new file mode 100644 index 0000000..79d6e3e Binary files /dev/null and b/resource/37.wav differ diff --git a/resource/38.wav b/resource/38.wav new file mode 100644 index 0000000..f17b35e Binary files /dev/null and b/resource/38.wav differ diff --git a/resource/39.wav b/resource/39.wav new file mode 100644 index 0000000..cbd6b25 Binary files /dev/null and b/resource/39.wav differ diff --git a/resource/4.wav b/resource/4.wav new file mode 100644 index 0000000..5f50a7b Binary files /dev/null and b/resource/4.wav differ diff --git a/resource/40.wav b/resource/40.wav new file mode 100644 index 0000000..299e75b Binary files /dev/null and b/resource/40.wav differ diff --git a/resource/41.wav b/resource/41.wav new file mode 100644 index 0000000..b8120e3 Binary files /dev/null and b/resource/41.wav differ diff --git a/resource/42.wav b/resource/42.wav new file mode 100644 index 0000000..f8fc127 Binary files /dev/null and b/resource/42.wav differ diff --git a/resource/43.wav b/resource/43.wav new file mode 100644 index 0000000..aac47cc Binary files /dev/null and b/resource/43.wav differ diff --git a/resource/44.wav b/resource/44.wav new file mode 100644 index 0000000..1b899eb Binary files /dev/null and b/resource/44.wav differ diff --git a/resource/45.wav b/resource/45.wav new file mode 100644 index 0000000..8949c5f Binary files /dev/null and b/resource/45.wav differ diff --git a/resource/46.wav b/resource/46.wav new file mode 100644 index 0000000..0727006 Binary files /dev/null and b/resource/46.wav differ diff --git a/resource/47.wav b/resource/47.wav new file mode 100644 index 0000000..f1f2192 Binary files /dev/null and b/resource/47.wav differ diff --git a/resource/48.wav b/resource/48.wav new file mode 100644 index 0000000..521a331 Binary files /dev/null and b/resource/48.wav differ diff --git a/resource/49.wav b/resource/49.wav new file mode 100644 index 0000000..3a19893 Binary files /dev/null and b/resource/49.wav differ diff --git a/resource/5.wav b/resource/5.wav new file mode 100644 index 0000000..83407c8 Binary files /dev/null and b/resource/5.wav differ diff --git a/resource/50.wav b/resource/50.wav new file mode 100644 index 0000000..8d4fb53 Binary files /dev/null and b/resource/50.wav differ diff --git a/resource/51.wav b/resource/51.wav new file mode 100644 index 0000000..c18ff70 Binary files /dev/null and b/resource/51.wav differ diff --git a/resource/52.wav b/resource/52.wav new file mode 100644 index 0000000..e2a3da6 Binary files /dev/null and b/resource/52.wav differ diff --git a/resource/53.wav b/resource/53.wav new file mode 100644 index 0000000..6846bce Binary files /dev/null and b/resource/53.wav differ diff --git a/resource/54.wav b/resource/54.wav new file mode 100644 index 0000000..7bfc12b Binary files /dev/null and b/resource/54.wav differ diff --git a/resource/55.wav b/resource/55.wav new file mode 100644 index 0000000..75ef90f Binary files /dev/null and b/resource/55.wav differ diff --git a/resource/56.wav b/resource/56.wav new file mode 100644 index 0000000..06c0581 Binary files /dev/null and b/resource/56.wav differ diff --git a/resource/57.wav b/resource/57.wav new file mode 100644 index 0000000..908f405 Binary files /dev/null and b/resource/57.wav differ diff --git a/resource/58.wav b/resource/58.wav new file mode 100644 index 0000000..35fda38 Binary files /dev/null and b/resource/58.wav differ diff --git a/resource/59.wav b/resource/59.wav new file mode 100644 index 0000000..351945a Binary files /dev/null and b/resource/59.wav differ diff --git a/resource/6.wav b/resource/6.wav new file mode 100644 index 0000000..6ec5867 Binary files /dev/null and b/resource/6.wav differ diff --git a/resource/60.wav b/resource/60.wav new file mode 100644 index 0000000..5842053 Binary files /dev/null and b/resource/60.wav differ diff --git a/resource/61.wav b/resource/61.wav new file mode 100644 index 0000000..79f129a Binary files /dev/null and b/resource/61.wav differ diff --git a/resource/62.wav b/resource/62.wav new file mode 100644 index 0000000..efc2161 Binary files /dev/null and b/resource/62.wav differ diff --git a/resource/63.wav b/resource/63.wav new file mode 100644 index 0000000..b3ec8e0 Binary files /dev/null and b/resource/63.wav differ diff --git a/resource/64.wav b/resource/64.wav new file mode 100644 index 0000000..63a3e27 Binary files /dev/null and b/resource/64.wav differ diff --git a/resource/65.wav b/resource/65.wav new file mode 100644 index 0000000..55356cf Binary files /dev/null and b/resource/65.wav differ diff --git a/resource/66.wav b/resource/66.wav new file mode 100644 index 0000000..ed97eca Binary files /dev/null and b/resource/66.wav differ diff --git a/resource/67.wav b/resource/67.wav new file mode 100644 index 0000000..ec6ce27 Binary files /dev/null and b/resource/67.wav differ diff --git a/resource/68.wav b/resource/68.wav new file mode 100644 index 0000000..8b313d9 Binary files /dev/null and b/resource/68.wav differ diff --git a/resource/69.wav b/resource/69.wav new file mode 100644 index 0000000..156ce42 Binary files /dev/null and b/resource/69.wav differ diff --git a/resource/7.wav b/resource/7.wav new file mode 100644 index 0000000..3f57f5a Binary files /dev/null and b/resource/7.wav differ diff --git a/resource/70.wav b/resource/70.wav new file mode 100644 index 0000000..35846e9 Binary files /dev/null and b/resource/70.wav differ diff --git a/resource/71.wav b/resource/71.wav new file mode 100644 index 0000000..68b1db9 Binary files /dev/null and b/resource/71.wav differ diff --git a/resource/72.wav b/resource/72.wav new file mode 100644 index 0000000..7f05a58 Binary files /dev/null and b/resource/72.wav differ diff --git a/resource/73.wav b/resource/73.wav new file mode 100644 index 0000000..0f52f26 Binary files /dev/null and b/resource/73.wav differ diff --git a/resource/74.wav b/resource/74.wav new file mode 100644 index 0000000..84d0697 Binary files /dev/null and b/resource/74.wav differ diff --git a/resource/75.wav b/resource/75.wav new file mode 100644 index 0000000..3904815 Binary files /dev/null and b/resource/75.wav differ diff --git a/resource/76.wav b/resource/76.wav new file mode 100644 index 0000000..9257cde Binary files /dev/null and b/resource/76.wav differ diff --git a/resource/77.wav b/resource/77.wav new file mode 100644 index 0000000..f343407 Binary files /dev/null and b/resource/77.wav differ diff --git a/resource/78.wav b/resource/78.wav new file mode 100644 index 0000000..8be15a3 Binary files /dev/null and b/resource/78.wav differ diff --git a/resource/79.wav b/resource/79.wav new file mode 100644 index 0000000..0149e59 Binary files /dev/null and b/resource/79.wav differ diff --git a/resource/8.wav b/resource/8.wav new file mode 100644 index 0000000..8972391 Binary files /dev/null and b/resource/8.wav differ diff --git a/resource/80.wav b/resource/80.wav new file mode 100644 index 0000000..9717dba Binary files /dev/null and b/resource/80.wav differ diff --git a/resource/81.wav b/resource/81.wav new file mode 100644 index 0000000..dbf4e06 Binary files /dev/null and b/resource/81.wav differ diff --git a/resource/82.wav b/resource/82.wav new file mode 100644 index 0000000..668716b Binary files /dev/null and b/resource/82.wav differ diff --git a/resource/83.wav b/resource/83.wav new file mode 100644 index 0000000..3fcbcc8 Binary files /dev/null and b/resource/83.wav differ diff --git a/resource/84.wav b/resource/84.wav new file mode 100644 index 0000000..6b12116 Binary files /dev/null and b/resource/84.wav differ diff --git a/resource/85.wav b/resource/85.wav new file mode 100644 index 0000000..87f217f Binary files /dev/null and b/resource/85.wav differ diff --git a/resource/86.wav b/resource/86.wav new file mode 100644 index 0000000..b67fc7b Binary files /dev/null and b/resource/86.wav differ diff --git a/resource/87.wav b/resource/87.wav new file mode 100644 index 0000000..2b2ccde Binary files /dev/null and b/resource/87.wav differ diff --git a/resource/88.wav b/resource/88.wav new file mode 100644 index 0000000..a1eeb4a Binary files /dev/null and b/resource/88.wav differ diff --git a/resource/9.wav b/resource/9.wav new file mode 100644 index 0000000..98b5bf2 Binary files /dev/null and b/resource/9.wav differ diff --git a/resource/resources.csv b/resource/resources.csv new file mode 100644 index 0000000..3ee657e --- /dev/null +++ b/resource/resources.csv @@ -0,0 +1,88 @@ +6----,6DDDD,6dddd,1.wav,A0 +6#----,6HDDDD,6hdddd,2.wav,A#0/Bb0 +7----,7DDDD,7dddd,3.wav,B0 +1---,1DDD,1ddd,4.wav,C1 +1#---,1HDDD,1hddd,5.wav,C#1/Db1 +2---,2DDD,2ddd,6.wav,D1 +2#---,2HDDD,2hddd,7.wav,D#1/Eb1 +3---,3DDD,3ddd,8.wav,E1 +4---,4DDD,4ddd,9.wav,F1 +4#---,4HDDD,4hddd,10.wav,F#1/Gb1 +5---,5DDD,5ddd,11.wav,G1 +5#---,5HDDD,5hddd,12.wav,G#1/Ab1 +6---,6DDD,6ddd,13.wav,A1 +6#---,6HDDD,6hddd,14.wav,A#1/Bb1 +7---,7DDD,7ddd,15.wav,B1 +1--,1DD,1dd,16.wav,C2 +1#--,1HDD,1hdd,17.wav,C#2/Db2 +2--,2DD,2dd,18.wav,D2 +2#--,2HDD,2hdd,19.wav,D#2/Eb2 +3--,3DD,3dd,20.wav,E2 +4--,4DD,4dd,21.wav,F2 +4#--,4HDD,4hdd,22.wav,F#2/Gb2 +5--,5DD,5dd,23.wav,G2 +5#--,5HDD,5hdd,24.wav,G#2/Ab2 +6--,6DD,6dd,25.wav,A2 +6#--,6HDD,6hdd,26.wav,A#2/Bb2 +7--,7DD,7dd,27.wav,B2 +1-,1D,1d,28.wav,C3 +1#-,1HD,1hd,29.wav,C#3/Db3 +2-,2D,2d,30.wav,D3 +2#-,2HD,2hd,31.wav,D#3/Eb3 +3-,3D,3d,32.wav,E3 +4-,4D,4d,33.wav,F3 +4#-,4HD,4hd,34.wav,F#3/Gb3 +5-,5D,5d,35.wav,G3 +5#-,5HD,5hd,36.wav,G#3/Ab3 +6-,6D,6d,37.wav,A3 +6#-,6HD,6hd,38.wav,A#3/Bb3 +7-,7D,7d,39.wav,B3 +1,1,1,40.wav,C4 +1#,1H,1h,41.wav,C#4/Db4 +2,2,2,42.wav,D4 +2#,2H,2h,43.wav,D#4/Eb4 +3,3,3,44.wav,E4 +4,4,4,45.wav,F4 +4#,4H,4h,46.wav,F#4/Gb4 +5,5,5,47.wav,G4 +5#,5H,5h,48.wav,G#4/Ab4 +6,6,6,49.wav,A4 +6#,6H,6h,50.wav,A#4/Bb4 +7,7,7,51.wav,B4 +1+,1U,1u,52.wav,C5 +1#+,1HU,1hu,53.wav,C#5/Db5 +2+,2U,2u,54.wav,D5 +2#+,2HU,2hu,55.wav,D#5/Eb5 +3+,3U,3u,56.wav,E5 +4+,4U,4u,57.wav,F5 +4#+,4HU,4hu,58.wav,F#5/Gb5 +5+,5U,5u,59.wav,G5 +5#+,5HU,5hu,60.wav,G#5/Ab5 +6+,6U,6u,61.wav,A5 +6#+,6HU,6hu,62.wav,A#5/Bb5 +7+,7U,7u,63.wav,B5 +1++,1UU,1uu,64.wav,C6 +1#++,1HUU,1huu,65.wav,C#6/Db6 +2++,2UU,2uu,66.wav,D6 +2#++,2HUU,2huu,67.wav,D#6/Eb6 +3++,3UU,3uu,68.wav,E6 +4++,4UU,4uu,69.wav,F6 +4#++,4HUU,4huu,70.wav,F#6/Gb6 +5++,5UU,5uu,71.wav,G6 +5#++,5HUU,5huu,72.wav,G#6/Ab6 +6++,6UU,6uu,73.wav,A6 +6#++,6HUU,6huu,74.wav,A#6/Bb6 +7++,7UU,7uu,75.wav,B6 +1+++,1UUU,1uuu,76.wav,C7 +1#+++,1HUUU,1huuu,77.wav,C#7/Db7 +2+++,2UUU,2uuu,78.wav,D7 +2#+++,2HUUU,2huuu,79.wav,D#7/Eb7 +3+++,3UUU,3uuu,80.wav,E7 +4+++,4UUU,4uuu,81.wav,F7 +4#+++,4HUUU,4huuu,82.wav,F#7/Gb7 +5+++,5UUU,5uuu,83.wav,G7 +5#+++,5HUUU,5huuu,84.wav,G#7/Ab7 +6+++,6UUU,6uuu,85.wav,A7 +6#+++,6HUUU,6huuu,86.wav,A#7/Bb7 +7+++,7UUU,7uuu,87.wav,B7 +8++++,8UUUU,8uuuu,88.wav,C8 \ No newline at end of file diff --git a/resource/resources.json b/resource/resources.json new file mode 100644 index 0000000..cbea354 --- /dev/null +++ b/resource/resources.json @@ -0,0 +1,618 @@ +[ + { + "number_key": "6----", + "key": "6DDDD", + "key_lower": "6dddd", + "path": "1.wav", + "piano_key": "A0" + }, + { + "number_key": "6#----", + "key": "6HDDDD", + "key_lower": "6hdddd", + "path": "2.wav", + "piano_key": "A#0/Bb0" + }, + { + "number_key": "7----", + "key": "7DDDD", + "key_lower": "7dddd", + "path": "3.wav", + "piano_key": "B0" + }, + { + "number_key": "1---", + "key": "1DDD", + "key_lower": "1ddd", + "path": "4.wav", + "piano_key": "C1" + }, + { + "number_key": "1#---", + "key": "1HDDD", + "key_lower": "1hddd", + "path": "5.wav", + "piano_key": "C#1/Db1" + }, + { + "number_key": "2---", + "key": "2DDD", + "key_lower": "2ddd", + "path": "6.wav", + "piano_key": "D1" + }, + { + "number_key": "2#---", + "key": "2HDDD", + "key_lower": "2hddd", + "path": "7.wav", + "piano_key": "D#1/Eb1" + }, + { + "number_key": "3---", + "key": "3DDD", + "key_lower": "3ddd", + "path": "8.wav", + "piano_key": "E1" + }, + { + "number_key": "4---", + "key": "4DDD", + "key_lower": "4ddd", + "path": "9.wav", + "piano_key": "F1" + }, + { + "number_key": "4#---", + "key": "4HDDD", + "key_lower": "4hddd", + "path": "10.wav", + "piano_key": "F#1/Gb1" + }, + { + "number_key": "5---", + "key": "5DDD", + "key_lower": "5ddd", + "path": "11.wav", + "piano_key": "G1" + }, + { + "number_key": "5#---", + "key": "5HDDD", + "key_lower": "5hddd", + "path": "12.wav", + "piano_key": "G#1/Ab1" + }, + { + "number_key": "6---", + "key": "6DDD", + "key_lower": "6ddd", + "path": "13.wav", + "piano_key": "A1" + }, + { + "number_key": "6#---", + "key": "6HDDD", + "key_lower": "6hddd", + "path": "14.wav", + "piano_key": "A#1/Bb1" + }, + { + "number_key": "7---", + "key": "7DDD", + "key_lower": "7ddd", + "path": "15.wav", + "piano_key": "B1" + }, + { + "number_key": "1--", + "key": "1DD", + "key_lower": "1dd", + "path": "16.wav", + "piano_key": "C2" + }, + { + "number_key": "1#--", + "key": "1HDD", + "key_lower": "1hdd", + "path": "17.wav", + "piano_key": "C#2/Db2" + }, + { + "number_key": "2--", + "key": "2DD", + "key_lower": "2dd", + "path": "18.wav", + "piano_key": "D2" + }, + { + "number_key": "2#--", + "key": "2HDD", + "key_lower": "2hdd", + "path": "19.wav", + "piano_key": "D#2/Eb2" + }, + { + "number_key": "3--", + "key": "3DD", + "key_lower": "3dd", + "path": "20.wav", + "piano_key": "E2" + }, + { + "number_key": "4--", + "key": "4DD", + "key_lower": "4dd", + "path": "21.wav", + "piano_key": "F2" + }, + { + "number_key": "4#--", + "key": "4HDD", + "key_lower": "4hdd", + "path": "22.wav", + "piano_key": "F#2/Gb2" + }, + { + "number_key": "5--", + "key": "5DD", + "key_lower": "5dd", + "path": "23.wav", + "piano_key": "G2" + }, + { + "number_key": "5#--", + "key": "5HDD", + "key_lower": "5hdd", + "path": "24.wav", + "piano_key": "G#2/Ab2" + }, + { + "number_key": "6--", + "key": "6DD", + "key_lower": "6dd", + "path": "25.wav", + "piano_key": "A2" + }, + { + "number_key": "6#--", + "key": "6HDD", + "key_lower": "6hdd", + "path": "26.wav", + "piano_key": "A#2/Bb2" + }, + { + "number_key": "7--", + "key": "7DD", + "key_lower": "7dd", + "path": "27.wav", + "piano_key": "B2" + }, + { + "number_key": "1-", + "key": "1D", + "key_lower": "1d", + "path": "28.wav", + "piano_key": "C3" + }, + { + "number_key": "1#-", + "key": "1HD", + "key_lower": "1hd", + "path": "29.wav", + "piano_key": "C#3/Db3" + }, + { + "number_key": "2-", + "key": "2D", + "key_lower": "2d", + "path": "30.wav", + "piano_key": "D3" + }, + { + "number_key": "2#-", + "key": "2HD", + "key_lower": "2hd", + "path": "31.wav", + "piano_key": "D#3/Eb3" + }, + { + "number_key": "3-", + "key": "3D", + "key_lower": "3d", + "path": "32.wav", + "piano_key": "E3" + }, + { + "number_key": "4-", + "key": "4D", + "key_lower": "4d", + "path": "33.wav", + "piano_key": "F3" + }, + { + "number_key": "4#-", + "key": "4HD", + "key_lower": "4hd", + "path": "34.wav", + "piano_key": "F#3/Gb3" + }, + { + "number_key": "5-", + "key": "5D", + "key_lower": "5d", + "path": "35.wav", + "piano_key": "G3" + }, + { + "number_key": "5#-", + "key": "5HD", + "key_lower": "5hd", + "path": "36.wav", + "piano_key": "G#3/Ab3" + }, + { + "number_key": "6-", + "key": "6D", + "key_lower": "6d", + "path": "37.wav", + "piano_key": "A3" + }, + { + "number_key": "6#-", + "key": "6HD", + "key_lower": "6hd", + "path": "38.wav", + "piano_key": "A#3/Bb3" + }, + { + "number_key": "7-", + "key": "7D", + "key_lower": "7d", + "path": "39.wav", + "piano_key": "B3" + }, + { + "number_key": "1", + "key": "1", + "key_lower": "1", + "path": "40.wav", + "piano_key": "C4" + }, + { + "number_key": "1#", + "key": "1H", + "key_lower": "1h", + "path": "41.wav", + "piano_key": "C#4/Db4" + }, + { + "number_key": "2", + "key": "2", + "key_lower": "2", + "path": "42.wav", + "piano_key": "D4" + }, + { + "number_key": "2#", + "key": "2H", + "key_lower": "2h", + "path": "43.wav", + "piano_key": "D#4/Eb4" + }, + { + "number_key": "3", + "key": "3", + "key_lower": "3", + "path": "44.wav", + "piano_key": "E4" + }, + { + "number_key": "4", + "key": "4", + "key_lower": "4", + "path": "45.wav", + "piano_key": "F4" + }, + { + "number_key": "4#", + "key": "4H", + "key_lower": "4h", + "path": "46.wav", + "piano_key": "F#4/Gb4" + }, + { + "number_key": "5", + "key": "5", + "key_lower": "5", + "path": "47.wav", + "piano_key": "G4" + }, + { + "number_key": "5#", + "key": "5H", + "key_lower": "5h", + "path": "48.wav", + "piano_key": "G#4/Ab4" + }, + { + "number_key": "6", + "key": "6", + "key_lower": "6", + "path": "49.wav", + "piano_key": "A4" + }, + { + "number_key": "6#", + "key": "6H", + "key_lower": "6h", + "path": "50.wav", + "piano_key": "A#4/Bb4" + }, + { + "number_key": "7", + "key": "7", + "key_lower": "7", + "path": "51.wav", + "piano_key": "B4" + }, + { + "number_key": "1+", + "key": "1U", + "key_lower": "1u", + "path": "52.wav", + "piano_key": "C5" + }, + { + "number_key": "1#+", + "key": "1HU", + "key_lower": "1hu", + "path": "53.wav", + "piano_key": "C#5/Db5" + }, + { + "number_key": "2+", + "key": "2U", + "key_lower": "2u", + "path": "54.wav", + "piano_key": "D5" + }, + { + "number_key": "2#+", + "key": "2HU", + "key_lower": "2hu", + "path": "55.wav", + "piano_key": "D#5/Eb5" + }, + { + "number_key": "3+", + "key": "3U", + "key_lower": "3u", + "path": "56.wav", + "piano_key": "E5" + }, + { + "number_key": "4+", + "key": "4U", + "key_lower": "4u", + "path": "57.wav", + "piano_key": "F5" + }, + { + "number_key": "4#+", + "key": "4HU", + "key_lower": "4hu", + "path": "58.wav", + "piano_key": "F#5/Gb5" + }, + { + "number_key": "5+", + "key": "5U", + "key_lower": "5u", + "path": "59.wav", + "piano_key": "G5" + }, + { + "number_key": "5#+", + "key": "5HU", + "key_lower": "5hu", + "path": "60.wav", + "piano_key": "G#5/Ab5" + }, + { + "number_key": "6+", + "key": "6U", + "key_lower": "6u", + "path": "61.wav", + "piano_key": "A5" + }, + { + "number_key": "6#+", + "key": "6HU", + "key_lower": "6hu", + "path": "62.wav", + "piano_key": "A#5/Bb5" + }, + { + "number_key": "7+", + "key": "7U", + "key_lower": "7u", + "path": "63.wav", + "piano_key": "B5" + }, + { + "number_key": "1++", + "key": "1UU", + "key_lower": "1uu", + "path": "64.wav", + "piano_key": "C6" + }, + { + "number_key": "1#++", + "key": "1HUU", + "key_lower": "1huu", + "path": "65.wav", + "piano_key": "C#6/Db6" + }, + { + "number_key": "2++", + "key": "2UU", + "key_lower": "2uu", + "path": "66.wav", + "piano_key": "D6" + }, + { + "number_key": "2#++", + "key": "2HUU", + "key_lower": "2huu", + "path": "67.wav", + "piano_key": "D#6/Eb6" + }, + { + "number_key": "3++", + "key": "3UU", + "key_lower": "3uu", + "path": "68.wav", + "piano_key": "E6" + }, + { + "number_key": "4++", + "key": "4UU", + "key_lower": "4uu", + "path": "69.wav", + "piano_key": "F6" + }, + { + "number_key": "4#++", + "key": "4HUU", + "key_lower": "4huu", + "path": "70.wav", + "piano_key": "F#6/Gb6" + }, + { + "number_key": "5++", + "key": "5UU", + "key_lower": "5uu", + "path": "71.wav", + "piano_key": "G6" + }, + { + "number_key": "5#++", + "key": "5HUU", + "key_lower": "5huu", + "path": "72.wav", + "piano_key": "G#6/Ab6" + }, + { + "number_key": "6++", + "key": "6UU", + "key_lower": "6uu", + "path": "73.wav", + "piano_key": "A6" + }, + { + "number_key": "6#++", + "key": "6HUU", + "key_lower": "6huu", + "path": "74.wav", + "piano_key": "A#6/Bb6" + }, + { + "number_key": "7++", + "key": "7UU", + "key_lower": "7uu", + "path": "75.wav", + "piano_key": "B6" + }, + { + "number_key": "1+++", + "key": "1UUU", + "key_lower": "1uuu", + "path": "76.wav", + "piano_key": "C7" + }, + { + "number_key": "1#+++", + "key": "1HUUU", + "key_lower": "1huuu", + "path": "77.wav", + "piano_key": "C#7/Db7" + }, + { + "number_key": "2+++", + "key": "2UUU", + "key_lower": "2uuu", + "path": "78.wav", + "piano_key": "D7" + }, + { + "number_key": "2#+++", + "key": "2HUUU", + "key_lower": "2huuu", + "path": "79.wav", + "piano_key": "D#7/Eb7" + }, + { + "number_key": "3+++", + "key": "3UUU", + "key_lower": "3uuu", + "path": "80.wav", + "piano_key": "E7" + }, + { + "number_key": "4+++", + "key": "4UUU", + "key_lower": "4uuu", + "path": "81.wav", + "piano_key": "F7" + }, + { + "number_key": "4#+++", + "key": "4HUUU", + "key_lower": "4huuu", + "path": "82.wav", + "piano_key": "F#7/Gb7" + }, + { + "number_key": "5+++", + "key": "5UUU", + "key_lower": "5uuu", + "path": "83.wav", + "piano_key": "G7" + }, + { + "number_key": "5#+++", + "key": "5HUUU", + "key_lower": "5huuu", + "path": "84.wav", + "piano_key": "G#7/Ab7" + }, + { + "number_key": "6+++", + "key": "6UUU", + "key_lower": "6uuu", + "path": "85.wav", + "piano_key": "A7" + }, + { + "number_key": "6#+++", + "key": "6HUUU", + "key_lower": "6huuu", + "path": "86.wav", + "piano_key": "A#7/Bb7" + }, + { + "number_key": "7+++", + "key": "7UUU", + "key_lower": "7uuu", + "path": "87.wav", + "piano_key": "B7" + }, + { + "number_key": "8++++", + "key": "8UUUU", + "key_lower": "8uuuu", + "path": "88.wav", + "piano_key": "C8" + } +] \ No newline at end of file