利用java演奏起风了

前言

1、主奏与伴奏中支持输入的35个音符:

2、分别在主奏(.note)与伴奏(.accompaniments)中输入需要自动弹奏的音符

3、音长里输入每两个音符之间的间隔时长,单位是毫秒(ms)


前言

上一次用python演奏了lemon,但是效果不是特别理想,因为断断续续的,给女朋友听了都没有听出来,所以重新去用java写一个,希望她开开心心,愿她还是那个初闯世间的少年,意气风发的模样,从前初识这世间,万般流连,也甘愿赴汤蹈火去走他一遍,这种字里行间的自信和神采总会给人热血澎湃的感觉,不禁想起自己曾经的年少轻狂,一腔热血。 微凉晨光里,再次见到你,笑得很甜蜜。希望她去勇敢的面对生活中的种种困难!

1、主奏与伴奏中支持输入的35个音符:

“1--” ~ “7--”, “1-” ~ “7-”, “1” ~ “7”, “1+” ~ “7+”, “1++” ~ “7++” 分别代表倍低音、低音、中音、高音、倍高音一共35个音符

2、分别在主奏(.note)与伴奏(.accompaniments)中输入需要自动弹奏的音符

2.1 每个音符之间用空格隔开(任意多个空格,推荐每个音符包括空格共占用4个占位符,以便主奏和伴奏音符对齐)

2.2 输入字符"0",则会使音长额外延长一倍;

2.3 输入除了上面35个音符以及“0”以外的任意字符不会对弹奏起任何作用;

2.4 如果需要换行填写,则需在上一行的末尾以及下一行的开头都加上空格;

3、音长里输入每两个音符之间的间隔时长,单位是毫秒(ms)

建议输入整片谱子的最短的间隔,其余更长的的间隔可以利用延时加倍解决

利用java演奏起风了_第1张图片

 利用java演奏起风了_第2张图片

 利用java演奏起风了_第3张图片

 利用java演奏起风了_第4张图片

 写一个测试即可

package cn.jianwoo.test;

import cn.jianwoo.play.Animation;
import cn.jianwoo.play.AudioPlay;

import java.io.File;

/**
 * @author kirito
 * @Description
 */
public class Test1 {
    public static void main(String[] args) {
        String path =
                new File("").getAbsolutePath() + File.separator + "src/main/resources/notes" + File.separator;
        String notes =
                " 7-  1   2   3   0   5-  5   3   0   0   0   0   0   0   0   0 \n" +
                        " 7-  1   2   3   0   5-  5   3   2   3   1   2   7-  1   5-  0 \n" +
                        " 7-  1   2   3   0   5-  5   3   0   0   0   0   0   0   0   0 \n" +
                        " 7-  1   2   3   0   5-  5   3   2   3   1   2   7-  1   5-  0 \n" +
                        " 7   1+  2+  3+  0   5   5+  3+  0   0   0   0   0   0   0   0 \n" +
                        " 7   1+  2+  3+  0   5   5+  3+  2+  3+  1+  2+  7   1+  5   0 \n" +
                        " 7   1+  2+  3+  0   5   5+  3+  0   0   0   0   0   0   0   0 \n" +
                        " 2   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0 \n" +

                        " 2   0   0   1   2   0   0   1   2   0   3   0   5   0   3   0   \n" +
                        " 2   0   0   1   2   0   0   1   2   3   2   1   6-  0   0   0   \n" +
                        " 2   0   0   1   2   0   0   1   2   0   3   0   5   0   3   0   \n" +
                        " 2   0   0   3   2   0   1   2   2   0   0   0   0   0   0   0   \n" +
                        " 2   0   0   1   2   0   0   1   2   0   3   0   5   0   3   0   \n" +
                        " 2   0   0   3   2   0   1   0   6-  0   0   0   \n" +
                        " 3   2   1   2   1   0   0   0   \n" +
                        " 3   2   1   2   1   0   0   \n" +
                        " 5-  3   2   1   2   0   0   1   0   0   0   0   0   \n" +
                        " 1   0   2   0   3   0   1   0   6   0   5   6   0   0   0   \n" +
                        " 2   7   0   6   7   0   0   0   0   \n" +
                        " 7   0   6   7   0   0   3   0   1+  2+  1+  7   6   0   0   \n" +
                        " 5   6   0   5   6   0   5   6   5   6   0   5   1   0   5   0   3   3   0   0   0   0   0   0   0   \n" +
                        " 1   0   2   0   3   0   1   0   6   0   5   6   0   0   0   \n" +
                        " 2   7   0   6   7   0   0   0   0   \n" +
                        " 7   0   6   7   0   0   3   0   1+  2+  1+  7   6   0   0   \n" +
                        " 5   6   0   3+  3+  0   0   5   0   6   0   3+  3+  0   \n" +
                        " 5   0   6   6   0   3-  0   3-  0   3-  0   3-  0   0   0   \n" +
                        " 1+  0   2+  0   3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   2+  0   0   \n" +
                        " 3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   3+  0   0   \n" +
                        " 2+  0   1+  6   0   1+  0   1+  2+  0   1+  6   0   0   1+  0   3+  0   0   0   0   0   3+  0   2+  0   0   0   \n" +
                        " 1+  0   2+  0   3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   0   \n" +
                        " 2+  0   3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   0   \n" +
                        " 3+  0   2+  0   1+  6   0   0   3+  0   2+  0   1+  \n" +
                        " 6   0   1+  0   0   1+  0   0   0   0   0   0   0   0   0   0   0   \n" +
                        " 6   3+  0   0   2+  0   1+  6   0   3+  0   0   2+  0   1+  \n" +
                        " 6   0   1+  0   0   1+  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   \n" +
                        " 7   1+  2+  3+  0   5   5+  3+  2+  3+  7   1+  6   7   5   0   \n" +
                        " 7   1+  2+  3+  0   5   5+  3+  0   0   0   0   0   0   0   0   \n" +
                        " 6+  3+  2+  6   3   6   2+  3+  6+  0   0   0   0   0   0   0 \n ";

        String accompaniments =
                "  4-- 0   1-  0   3-  0   0   0   5-- 0   7-- 0   2-  0   0   0 \n" +
                        " 3-- 0   7-- 0   2-  0   0   0   6-- 0   1-  0   3-  0   0   0 \n" +
                        " 4-- 0   1-  0   3-  0   0   0   5-- 0   7-- 0   2-  0   0   0 \n" +
                        " 3-- 0   7-- 0   2-  0   0   0   6-- 0   1-  0   3-  0   0   0 \n" +
                        " 4-  0   1-  0   3-  0   0   0   5-- 0   7-- 0   2-  0   0   0  \n" +
                        " 3-- 0   7-- 0   2-  0   0   0   6-- 0   1-  0   3-  0   0   0  \n" +
                        " 4-- 0   1-  0   3-  0   0   0   5-- 0   7-- 0   2-  0   0   0  \n" +
                        " 3-  0   0   0   0   0   0   0   1-  0   0   0   0   0   0   0  \n " +

                        "1-- 0   0   0   3-  0   0   0   3-  0   0   0   3-  0   0   0   \n" +
                        " 7-- 0   0   0   2-  0   0   0   2-  0   0   0   2-  0   0   0   \n" +
                        " 7-- 0   0   0   2-  0   0   0   2-  0   0   0   2-  0   0   0   4-- \n" +
                        " 0   0   0   4-  0   0   0   4-  0   0   0   4-  0   0   0 \n " +
                        " 2-- 0   0   0   2-  0   0   0   5-- 0   0   0   2-  0   0   0   6-- 0   0   0   3-  0   0   0   6-- 0   0   0   \n" +
                        " 0   0   0   0   4-- 0   0   0   \n" +
                        " 0   0   0   0   4-  0   0   \n" +
                        " 0   0   0   0   0   1-- 0   5-- 0   1-  0   3-  0   \n" +
                        " 1   0   0   0   1-  0   0   0   4-- 1-  4-  6-  1   0   4-  \n" +
                        " 0   5-- 2-  5-  7-  2   0   5-  0   \n" +
                        " 3-- 7-- 3-  5-  7-  0   0   0   6-- 3-  6-  3-  1   0   0   \n" +
                        " 0   4-- 1-  4-  6-  1   0   4-  0   5-- 2-  5-  7-  2-  0   5-  0   1-- 5-- 1-  3-  5-  0   3-  0   \n" +
                        " 1   0   0   0   5-  0   0   0   4-- 1-  4-  1-  6-  0   1-  \n" +
                        " 0   5-- 2-  5-  2-  7-  0   2-  0   \n" +
                        " 3-- 7-- 3-  5-  7-  0   3-  0   6-- 3-  6-  3-  1   0   3-  \n" +
                        " 0   4-- 1-  4-  6-  3   0   4-  0   5-- 2-  5-  7-  2   0   \n" +
                        " 5-  0   6-- 0   6-- 0   6-- 0   6-- 0   6-- 0   0   0   \n" +
                        " 0   0   0   0   4-- 0   1-  0   4-  0   0   0   5-- 0   2-  0   5-  0   0   0   \n" +
                        " 3-- 0   7-- 0   3-  0   0   0   6-- 0   3-  0   6-  0   0   0   \n" +
                        " 4-- 0   1-  0   4-  0   0   0   5-- 0   2-  0   5-  0   0   0   \n" +
                        " 1-  0   5-  0   1   0   0   0   3-  0   7-  0   \n" +
                        " 3   0   0   0   4-- 0   1-  0   4-  0   0   0   5-- 0   2-  0   5-  0   0   \n" +
                        " 0   3-- 0   7-- 0   3-  0   0   0   6-- 0   3-  0   6-  0   \n" +
                        " 0   0   4-- 0   1-  0   4-  0   0   0   5-- 0   2-  0   5-  0   0   \n" +
                        " 0   1-  0   5-  0   1   0   5-  0   3-  0   0   0   \n" +
                        " 0   0   0   0   4-- 0   0   0   0   0   0   0   5-- 0   0   0   0   0   0   0   \n" +
                        " 4-- 0   1-  0   6-  0   1-  0   5-- 0   2-  0   5-  0   2-  0   \n" +
                        " 3-- 0   7-- 0   5-  0   7-- 0   6-- 0   3-  0   1   0   3-  0   \n" +
                        " 4-- 0   1-  0   6-  0   1-  0   5-- 0   2-  0   7-  0   2-  0   \n" +
                        " 6-- 0   3-  0   6-  0   3-  0   1   0   0   0   3-  0   0   0 \n ";
        String note1 =


                "" +
                        "   2   0   0   1   2   0   0   1   2   0   3   0   5   0   3   0  \n" +
                        " 2   0   0   1   2   0   0   1   2   3   2   1   5-  0   0   0 \n" +
                        " 2   0   0   1   2   0   0   1   2   0   3   0   5   0   3   0 \n" +
                        " 2   0   0   3   2   0   1   0   2   0   0   0   0   0   0   0 \n" +
                        " 2   0   0   1   2   0   0   1   2   0   3   0   5   0   3   0  \n" +
                        " 2   0   0   3   2   0   1   0   6-  0   0   0   3   2   1   2 \n" +
                        " 1   0   0   0   3   2   1   2   1   0   0   5-  3   2   1   2 \n" +
                        " 1   0   0   0   0   0   0   0   1   0   2   0   3   0   1   0 \n" +
                        " 6   0   5   6   0   0   0   1   7   0   6   7   0   0   0   0 \n" +
                        " 7   0   6   7   0   0   3   0   1+  2+  1+  7   6   0   5   0 \n" +
                        " 6   0   5   6   0   5   6   5   6   0   5   2   0   5   0   0 \n" +
                        " 3   0   0   0   0   0   0   0   1   0   2   0   3   0   1   0 \n" +
                        " 6   0   5   6   0   0   0   1   7   0   6   7   0   0   0   0 \n" +
                        " 7   0   6   7   0   0   3   0   1+  2+  1+  7   6   0   5   0 \n" +
                        " 6   0   3+  3+  0   0   5   0   6   0   3+  3+  0   5   0   6 \n" +
                        " 6   0   0   0   0   0   0   0   0   0   0   0   1+  0   2+  0 \n" +
                        " 3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   0   2+  3+ \n" +
                        " 0   0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   3+  0   0 \n" +
                        " 2+  0   1+  6   0   1+  0   0   2+  0   1+  6   0   1+  0   0 \n" +
                        " 3+  0   0   0   0   4+  3+  0   3+  2+  0   0   1+  0   2+  0 \n" +
                        " 3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   0   2+  0  \n" +
                        " 3+  0   6+  5+  0   0   6+  5+  0   0   6+  5+  0   3+  0   0 \n" +
                        " 2+  0   1+  6   0   3+  0   0   2+  0   1+  6   0   1+  0   0 \n" +
                        " 1+  0   0   0   0   0   0   0   0   0   0   0   6   3+  0   0 \n" +
                        " 2+  0   0   0   1+  0   6   0   0   0   3+  0   0   0   0   0 \n" +
                        " 2+  0   0   0   1+  0   6   0   0   0   1+  0   0   0   0   0 \n" +
                        " 1+  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 \n" +
                        " 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  \n";
        String accompaniments1 =


                "   1-- 0   0   0   3-  0   0   0   3-  0   0   0   3-  0   0   0   \n" +
                        " 7-- 0   0   0   2-  0   0   0   2-  0   0   0   2-  0   0   0   \n" +
                        " 7-- 0   0   0   2-  0   0   0   2-  0   0   0   2-  0   0   0   \n" +
                        " 4-- 0   0   0   4-  0   0   0   4-  0   0   0   4-  0   0   0 \n" +
                        " 2-- 0   0   0   2-  0   0   0   5-- 0   0   0   2-  0   0   0 \n" +
                        " 6-- 0   0   0   3-  0   0   0   6-- 0   0   0   0   0   0   0 \n" +
                        " 4-- 0   0   0   0   0   0   0   5-- 0   0   0   0   0   0   0 \n" +
                        " 1-  0   0   0   0   0   0   0   1-  0   0   0   0   0   0   0 \n" +
                        " 4-- 0   0   0   0   0   0   0   5-- 0   0   0   0   0   0   0 \n" +
                        " 3-- 0   0   0   0   0   0   0   6-- 0   0   0   0   0   0   0 \n" +
                        " 4-- 0   0   0   0   0   0   0   5-- 0   0   0   0   0   0   0 \n" +
                        " 1-  0   0   0   0   0   0   0   1-  0   0   0   0   0   0   0 \n" +
                        " 4-- 0   0   0   0   0   0   0   5-- 0   0   0   0   0   0   0 \n" +
                        " 3-- 0   0   0   0   0   0   0   6-- 0   0   0   0   0   0   0 \n" +
                        " 4-- 0   0   0   0   0   0   0   5-- 0   0   0   0   0   0   0 \n" +
                        " 6-- 0   0   0   3-  0   0   0   6-  0   0   0   0   0   0   0 \n" +
                        " 4-- 0   0   0   4-  0   0   0   5-- 0   0   0   5-  0   0   0 \n" +
                        " 3-- 0   0   0   3-  0   0   0   6-- 0   0   0   6-  0   0   0 \n" +
                        " 4-- 0   0   0   4-  0   0   0   5-- 0   0   0   5-  0   0   0 \n" +
                        " 1-- 0   0   0   1-  0   0   0   3-- 0   0   0   3-  0   0   0 \n" +
                        " 4-- 0   0   0   4-  0   0   0   5-- 0   0   0   5-  0   0   0 \n" +
                        " 3-- 0   0   0   3-  0   0   0   6-- 0   0   0   6-  0   0   0 \n" +
                        " 4-- 0   0   0   4-  0   0   0   5-- 0   0   0   5-  0   0   0 \n" +
                        " 6-- 0   0   0   3-  0   0   0   6-- 0   0   0   0   0   0   0  \n" +
                        " 4-- 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 \n" +
                        " 5-- 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 \n" +
                        " 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 \n" +
                        " 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   ";

        new AudioPlay(180).loadNotes(notes + note1).start();
        new AudioPlay(180).loadNotes(accompaniments + accompaniments1).start();
        new Animation(180).loadNotes(notes + note1).start();
    }
}

最终的效果如下:

java演奏起风了

你可能感兴趣的:(java,开发语言)