pyTabs:用于简化乐谱的领域特定语言 (DSL)-源码

上传者: 42134554 | 上传时间: 2021-06-02 20:02:52 | 文件大小: 153KB | 文件类型: ZIP
# PyTabs PyTabs 是一种用于简化音乐符号和作曲描述的 DSL(领域特定语言)。 该项目包括一个解释器,它根据提供的描述创建乐曲的对象模型,以及一个基于该模型呈现音乐的播放器,所有这些都可以通过简单的 GUI 访问。 在 PyTabs 语言中,您可以描述由多个按顺序播放的片段组成的组合。 每个片段由一个或多个一起播放的序列组成。 每个序列都由指定的乐器演奏,并以支持的符号之一进行描述。 目前 PyTabs 支持吉他和键盘指法以及吉他和弦,并且可以轻松扩展以支持其他符号。 可以在 examples/songs/smoke_on_the_water.song 中找到 PyTabs 语言中的组合示例。 这是带有标记组合部分的示例: 技术说明 PyTabs 是用 python 编程语言实现的,它使用 python 库来定义语言语法并解释组合创建 python 对象模型。 然后从

文件下载

资源详情

[{"title":"( 58 个子文件 153KB ) pyTabs:用于简化乐谱的领域特定语言 (DSL)-源码","children":[{"title":"pyTabs-master","children":[{"title":"pytabs","children":[{"title":"tablature","children":[{"title":"tablature.py <span style='color:#111;'> 7.41KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false}],"spread":true},{"title":"keyboards","children":[{"title":"keyboard_tablature.py <span style='color:#111;'> 3.56KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"grammar","children":[{"title":"keyboard_tab_note.tx <span style='color:#111;'> 939B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"guitar","children":[{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"guitar_tablature.py <span style='color:#111;'> 3.86KB </span>","children":null,"spread":false},{"title":"grammar","children":[{"title":"guitar_tab_note.tx <span style='color:#111;'> 949B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"gui","children":[{"title":"statusbar","children":[{"title":"StatusBar.py <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false}],"spread":true},{"title":"window","children":[{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"MainForm.py <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"NewDialog.py <span style='color:#111;'> 2.54KB </span>","children":null,"spread":false},{"title":"AboutDialog.py <span style='color:#111;'> 2.62KB </span>","children":null,"spread":false}],"spread":true},{"title":"tab","children":[{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"Tab.py <span style='color:#111;'> 2.24KB </span>","children":null,"spread":false}],"spread":true},{"title":"text","children":[{"title":"Text.py <span style='color:#111;'> 1.47KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"SyntaxHighlighter.py <span style='color:#111;'> 3.43KB </span>","children":null,"spread":false}],"spread":true},{"title":"images","children":[{"title":"open.png <span style='color:#111;'> 7.17KB </span>","children":null,"spread":false},{"title":"icon.png <span style='color:#111;'> 8.51KB </span>","children":null,"spread":false},{"title":"save.png <span style='color:#111;'> 5.83KB </span>","children":null,"spread":false},{"title":"about.png <span style='color:#111;'> 16.00KB </span>","children":null,"spread":false},{"title":"exit.png <span style='color:#111;'> 9.62KB </span>","children":null,"spread":false},{"title":"test.ico <span style='color:#111;'> 158.07KB </span>","children":null,"spread":false}],"spread":true},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"toolbar","children":[{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"ToolBar.py <span style='color:#111;'> 4.70KB </span>","children":null,"spread":false}],"spread":true},{"title":"startApp.py <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false}],"spread":true},{"title":"player","children":[{"title":"player.py <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false}],"spread":true},{"title":"chords","children":[{"title":"guitarchords.py <span style='color:#111;'> 10.33KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"examples","children":[{"title":"rythm.mcx <span style='color:#111;'> 68B </span>","children":null,"spread":false},{"title":"rythm2.mcx <span style='color:#111;'> 39B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"grammar","children":[{"title":"tablature.tx <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"chords.tx <span style='color:#111;'> 1.26KB </span>","children":null,"spread":false},{"title":"composition.tx <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false}],"spread":true},{"title":"composition","children":[{"title":"composition.py <span style='color:#111;'> 4.01KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"compositiontest.py <span style='color:#111;'> 3.47KB </span>","children":null,"spread":false},{"title":"examples","children":[{"title":"track.song <span style='color:#111;'> 481B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true},{"title":"LICENSE.txt <span style='color:#111;'> 34.32KB </span>","children":null,"spread":false},{"title":"start_gui.sh <span style='color:#111;'> 107B </span>","children":null,"spread":false},{"title":"start_gui.bat <span style='color:#111;'> 126B </span>","children":null,"spread":false},{"title":"lib","children":[{"title":"required_libs.txt <span style='color:#111;'> 476B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 34B </span>","children":null,"spread":false}],"spread":true},{"title":"play_examples.bat <span style='color:#111;'> 127B </span>","children":null,"spread":false},{"title":"play_examples.sh <span style='color:#111;'> 108B </span>","children":null,"spread":false},{"title":"examples","children":[{"title":"example_player.py <span style='color:#111;'> 2.71KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"songs","children":[{"title":"smoke_on_the_water.song <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false},{"title":"instruments","children":[{"title":".gitignore <span style='color:#111;'> 14B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"README.md <span style='color:#111;'> 4.23KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"guitar_tab_parser_test.py <span style='color:#111;'> 5.38KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 48B </span>","children":null,"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明