将纯文本音乐转换为嘟嘟声的CLI工具。
text2beep的Python项目详细描述
文本2深
{1美元^ 1}
语言:英语
text2beep
是一个CLI工具,它将纯文本乐谱(目前仅支持JSON格式)转换为蜂鸣音并播放。在
该工具仍处于早期开发阶段,只有合成和播放等基本功能。未来将增加更多功能。在
安装
目前还没有发布。请耐心等待第一次发布。如果您想在第一个版本可用时得到通知,可以单击页面右上角的“监视->仅限发布”。在
在第一个版本之前,您可以键入以下命令进行安装:
pip install git+https://github.com/shniubobo/text2beep.git#egg=text2beep
使用
text2beep
易于使用。只需准备好表格,然后键入:
程序将开始阅读乐谱,并根据它合成和播放音乐。在
在examples
目录中有几个示例工作表文件。您可以在创建自己的图纸之前尝试一下。在
要获得该工具的完整选项列表,请键入text2beep -h
。在
创建自己的图纸
目前只支持JSON表。将来可能会支持更多的格式。在
图纸文件的结构
{"bpm":120,"time_signature":"4/4","tracks":[["E4--- C4--- D4--- G3---"],["C4--- A3--- B3--- E3---"],["A3--- F3--- G3--- C3---"],["A2--- F2--- G2--- C2---"]]}
其中BPM(bpm
)和时间签名(time_signature
)用于确定歌曲的播放速度,tracks
是歌曲的所有曲目。在
如果要将工作表文件拆分为多个部分,或为音乐的不同部分指定不同的BPM和时间签名,可以使用subsheets
来实现:
{"subsheets":[{"bpm":120,"time_signature":"4/4","tracks":[["E4--- C4---"],["C4--- A3---"],["A3--- F3---"],["A2--- F2---"]]},{"bpm":120,"time_signature":"2/4","tracks":[["D4--- G3---"],["B3--- E3---"],["G3--- C3---"],["G2--- C2---"]]}]}
所有子表将逐个播放,或者您可以使用--range
选项指定播放范围(有关详细信息,请参见text2beep -h
)。在
音轨语法
- 每个轨迹都是
list
(在Python中称为)或array
(在JSON中称为)。在运行时,该工具将列表中的所有字符串连接为单个字符串。尽管您可以将所有注释放入一个字符串中,但建议将它们分成多个字符串以提高可读性。在 - 可以任意添加空格和
|
,以提高可读性。程序将完全忽略它们。在 - 音轨上的音符是一个接一个地演奏的。所有曲目同时播放。在
音轨中音符的语法:
- 注释名称必须是
CDEFGABX
之一,其中X
代表rest notes。在 - 如果一个音符不是rest音符,则可以在它后面附加一个偶然的
b
或{}。在 - 如果一个音符不是静止音符,则需要指定从0到8的倍频程。在
- 名字第一,意外第二,八度第三。例如:
C#4
。在 - 默认情况下,音符是四分之一音符。例如,
C4
是四分之一的音符。在 - 每个
-
将注释值扩展0.25。例如,C4-
是一个半音符。在 - 可以使用任意数量的
-
。例如,C4---
是一个完整的音符,而C4--
等于C4-+C4
(参见下面的+
),尽管在这种情况下,虚线音符(C4--.
)的含义不明确,因此不建议使用两个或多个-
。换句话说,只使用-
和---
。在 - 每一个
/
都将音符值缩短一半。例如,C4/
是第八个音符。在 - 注释可以用
.
点。例如,C4.
是一个带点的四分之一音符。在 -
和{}不能出现在同一个便笺中。在 - ^{26>不能用在荡妇之间。在
一些示例:
Note | Value |
---|---|
X | 0.25 |
X- | 0.5 |
X--- | 1 |
X/ | 0.125 |
X// | 0.0625 |
X. | 0.375 (0.25 + 0.125) |
X.. | 0.4375 (0.25 + 0.125 + 0.0625) |
X/. | 0.1875 (0.125 + 0.0625) |
X-. | 0.75 (0.5 + 0.25) |
X+X// | 0.3125 (0.25 + 0.0625) |
示例歌曲
^{} 和^{}
- 歌名:アストロノーツ
- 歌曲作者:椎名もた
- 整理人:Xxoo00O00ooxX
^{}
- 歌名:心做し
- 歌曲作者:papiyon
- 整理人:Xxoo00O00ooxX
^{}
- }姓名:
- 歌曲作者:ryo
- 安排人:Clone of Nguyễn Thanh Hoàng Hải
贡献
任何贡献都是非常感谢的。有关详细信息,请参见^{
许可证
该程序是在GNU GPL-3.0或更高版本下授权的。有关详细信息,请参见^{
Copyright (C) 2020 shniubobo
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
- 项目
标签: