使用Jfugue在Java中解析musicXML

时间:2018-06-08 16:31:38

标签: java jfugue musicxml

我正在尝试创建一个将musicxml文件转换为声音的应用程序。我找到了JFugue库,我使用的是版本5.我解析文件,得到模式,但没有声音。我认为我从文件中获得的模式并不是正确的格式。这是我的代码:

    public class ParserDemo {
public static void main(String[] args) throws  IOException, ParserConfigurationException, ParsingException {

   MusicXmlParser parser = new MusicXmlParser();
   StaccatoParserListener listener = new StaccatoParserListener();
   parser.addParserListener(listener);
   try {
        parser.parse(new File("path to xml file"));
        Pattern staccatoPattern = listener.getPattern();
        System.out.println(staccatoPattern);

        Player player = new Player();
        player.play(staccatoPattern);
    } catch (ParsingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

输出我看起来像这样:

        V0 G4/-2.5a90 G4/-2.5a90 L1 R/-5.0a0d0 | L0 A4/-5.0a90 G4/-5.0a90 C5/-5.0a90 C3/-15.0a90 E3/-15.0a90 G3/-15.0a90 | B4/-10.0a90 G4/-2.5a90 G4/-2.5a90 D3/-15.0a90 F3/-15.0a90 G3/-15.0a90 | A4/-5.0a90 G4/-5.0a90 D5/-5.0a90 B2/-15.0a90 F3/-15.0a90 G3/-15.0a90 | C5/-10.0a90 G4/-2.5a90 G4/-2.5a90 C3/-15.0a90 E3/-15.0a90 G3/-15.0a90 | G5/-5.0a90 E5/-5.0a90 C5/-5.0a90 E3/-15.0a90 Bb3/-15.0a90 C4/-15.0a90 | B4/-5.0a90 A4/-5.0a90 F5/-2.5a90 F5/-2.5a90 | E5/-5.0a90 C5/-5.0a90 D5/-5.0a90 | C5/-15.0a90 |

没有声音。它有各种各样的注意事项,但我不知道一切背后/意味着什么。 还有其他功能可以获得可玩的模式吗?或者我应该阅读笔记?请帮我。我有点迷失在这里。 谢谢你的每一条评论。

0 个答案:

没有答案