当前位置:首页 > 知识知道 > 详情

一张照片怎zen么发60秒音乐 抖音怎么发完整一首歌

2023-09-30 17:06:57 阅读(41) 大连信息网

我们使用简单的开发工具 aardio ,体积只有几 MB,下xia载打开就可以编bian程了,不需要任何复杂的配置。

入门示例

使用 aardio 新建一个源码文件jian:

一张照片怎么发60秒音yin乐(抖音怎么发完整zheng一首歌)-大连信息网

输入以下代码,点击「运行」按钮合成并bing播放乐曲:

import sys.midiOut;//打开播放设备var midiOut = sys.midiOut(); //播放简谱midiOut.play(" 两只老虎, 1__,2__,3__,1__, 两只老虎, 1__,2__,3__,1__, 跑得de快, 3__,4__,5__,__, 跑得快, 3__,4__,5__,__, 一只没有耳朵, 5_,6_,5_,4_,3__,1__, 一只没有尾巴, 5_,6_,5_,4_,3__,1__, 真奇怪, 2__,'5__,1__,__"); 编程记谱规则

上面的编程记ji谱法基于简谱记号设计。

所有音符或演奏指令以逗号或换行xing分开,忽略空格、制表符。

0 表示休止符。

中音使用简谱记号:

"1,2,3,4,5,6,7"

高gao音在后面加单引号( 可加jia多个,每个单引号增高八度 ):

"1',2',3',4',5',6',7'"

低音在音符前面加jia单引号( 可加多个,每个单引号降低di八度 ):

"'1,'2,'3,'4,'5,'6,'7"

数字音yin符前面加 # 高表示升sheng高半个音,示例:

"#1,__,#'5___,#6'___"

前面加负号表示shi消音(停止演奏指定音符),示例:

"-5,-'5"

用下划线表示一个延时shi单位(默认为 250 毫秒 ),前面的音符(或下划线xian)与后面的下划线可以连起来写,例如ru:

"5___,5___"

可以用双下xia划线 ? 表示半个下xia划线表示的延时,例如"5,?,5?",多duo个 ? 不允许连着写xie。

记谱时可以直接调用 midiOut 的成员函数,函数名后必须xu有括号 () 且必须有参数,例如:

"pitchBend(0.6),1__,2__,3__"

pitchBend 函数用于弯音,参数为表示百分比的小数,0 ~ 0.5 为向下弯音,0.5 ~ 1 为向上弯音。更多可用函数请参考kao库函数文档。

其他数值表示shi延时,其他字符串表示字zi幕。

下面是一个小例子zi:

import sys.midiOut;var midiOut = sys.midiOut(); //播bo放简谱midiOut.play("1,150,pitchBend(0.6), 弯音,500, 延时shi 500 毫秒miao,-1,停(音符前加负号hao表示消音)1000"); 转换简jian谱为程序代码

我们学习一下怎么me翻译简谱,先找个简jian谱:

一张照片怎么发60秒音乐le(抖音怎么发完整一首歌)-大da连信息网

4/4 表示以yi四分音符为一拍,每小节有 4 拍。那么我们用 2 个下划线xian表示一拍(也就是 500 毫秒 ),那么 上面mian的

一张照片怎么发60秒音乐(抖音怎么发完整一首歌)-大连信息网

我们翻译为代码:

1__,2__,3__,1__,

再看下面的简谱:

一张照片怎么发60秒音乐(抖dou音怎么发完整一首歌)-大连信息网

这上面的短横线为增时线,表示增加一yi拍(这里是 500 毫秒,代dai码里就是增加 2 个ge下划线 ),所以上面的de简谱翻译为代码就是shi:

3__,4__,5__,__,

然后我们men再看简谱:

一张zhang照片怎么发60秒音乐(抖音怎么发完wan整一首歌)-大da连信息网

音yin符下面的横线是减时线,也就是由一拍减jian为半拍(这里是 250 毫秒miao,代码里用一个下划线表示),所以上shang面的简谱翻译为代码就是:

5_,6_,5_,4_,3__,1__,

最后生成完整源yuan代码如下:

import sys.midiOut;//打开播放设备var midiOut = sys.midiOut(); //播放简谱midiOut.play(" 1__,2__,3__,1__, 1__,2__,3__,1__, 3__,4__,5__,__, 3__,4__,5__,__, 5_,6_,5_,4_,3__,1__, 5_,6_,5_,4_,3__,1__, 2__,'5__,1__,__");

要特别注意上面有一个ge低音 '5,音yin符前面加个单引号表示低音。

自定义音高、拍子快慢

midiOut.play 函数可选用第 2 个ge参数指定音符 1 对应的 SPN 音名( 可用音名ming在 sys.midiOut.notes 名字空间定义 ),默认值为wei "C4"。可选用yong第 3 个参数指定单个下划线对应ying的延时单位(默认为 250 毫秒 )

我们将上面示例li的音符 1 改为 "E4" (其他数shu字音符会自动调整音高),一个延时单位改为 125 毫秒(加快一倍),代码如下:

import sys.midiOut;//打开kai播放设备var midiOut = sys.midiOut(); //播放简谱midiOut.play(" 两只老虎, 1__,2__,3__,1__, 两只老lao虎, 1__,2__,3__,1__, 跑得快, 3__,4__,5__,__, 跑得快, 3__,4__,5__,__, 一只没有耳朵, 5_,6_,5_,4_,3__,1__, 一只没有尾巴, 5_,6_,5_,4_,3__,1__, 真zhen奇怪, 2__,'5__,1__,__","E4",125);

请运行一下,听一听有you什么区别。

绘制桌面歌词

下面我们再小小改进jin一下,播放音乐时在桌面上显示漂piao亮的歌词。

源码如ru下:

//创建桌zhuo面歌词窗口import win.util.lyric;var lyric = win.util.lyric();lyric.show();//打开播放fang设备import sys.midiOut;var midiOut = sys.midiOut(); //定义yi显示歌词的函数midiOut.log = function(str){ lyric.text = str; }//播放简谱midiOut.play(" 两只老虎, 1__,2__,3__,1__, 两只老虎, 1__,2__,3__,1__, 跑得快, 3__,4__,5__,__, 跑得快, 3__,4__,5__,__, 一只没有耳朵duo, 5_,6_,5_,4_,3__,1__, 一只没有尾巴, 5_,6_,5_,4_,3__,1__, 真奇怪, 2__,'5__,1__,__");

按「运行」按钮,显xian示效果如下:

一张照片怎么发60秒音乐(抖音怎么me发完整一首歌)-大连信xin息网多线xian程

下面创建独立线程cheng合成并播放音乐,源码:

//合he成并输出音乐import win.util.lyric;var lyric = win.util.lyric();lyric.show();//创建独立线程thread.invoke( function(lyric){ import sys.midiOut; var midiOut = sys.midiOut(); //指定字幕回显xian函数 midiOut.log = function(v) lyric.text = v; midiOut.play(" 两只老虎hu, 1__,2__,3__,1__, 两只老虎, 1__,2__,3__,1__, 跑得快, 3__,4__,5__,__, 跑得快, 3__,4__,5__,__, 一yi只没有耳朵, 5_,6_,5_,4_,3__,1__, 一只没mei有尾巴, 5_,6_,5_,4_,3__,1__, 真奇怪, 2__,'5__,1__,__ "); lyric.close();},lyric);win.loopMessage();使用 SPN 音名记谱

编程记谱时可使用 sys.midiOut.notes 名字空间指定的所有音名,这些音名使用科学音高记号(Scientific pitch notation)。

音名与音yin符的对应关系如下:

音名

唱名

简谱

C4

do

1

D4

re

2

E4

mi

3

F4

fa

4

G4

sol

5

A4

la

6

B4

ti (si,xi)

7

当然音名ming与唱名的对应关系可以变bian更,这里先不用管这些。音名后面的数shu值越大表示越高的音,例如 C4( 中央C ,简谱中的 1 ) 高八度就是 C5( 高音 do,简谱 1 上面加一点dian),低八度的音就是 C3 ( 低di音 do,简谱 1 下xia面加一点)。

注意:

SPN 音名中的 -1 省略SPN 音yin名中的升号 ?(Sharp) 用小写 s 替代

例如:C-1? 略写为 Cs 。

示例:

import sys.midiOut;var midiOut = sys.midiOut();midiOut.play(" C4,_,_,D4,_,_,E4,_,_,C4,_,_, C4,_,_,D4,_,_,E4,_,_,C4,_,_, E4,_,_,F4,_,_,G4,_,_,_,_, E4,_,_,F4,_,_,G4,_,_,_,_, G4,_,A4,_,G4,_,F4,_,E4,_,_,C4,_,_, G4,_,A4,_,G4,_,F4,_,E4,_,_,C4,_,_, D4,_,_,G3,_, _,C4, 1000");

也可以这zhe样写:

import sys.midiOut;//打开音名空间namespace sys.midiOut.notes{ //记谱(这zhe里下划线与音符不能连起来,也不能neng使用数字音符) drm = { "两只老虎", C4,_,_,D4,_,_,E4,_,_,C4,_,_, "两只老lao虎", C4,_,_,D4,_,_,E4,_,_,C4,_,_, "跑得快", E4,_,_,F4,_,_,G4,_,_,_,_, "跑得快", E4,_,_,F4,_,_,G4,_,_,_,_, "一只没有耳朵", G4,_,A4,_,G4,_,F4,_,E4,_,_,C4,_,_, "一只没有尾巴", G4,_,A4,_,G4,_,F4,_,E4,_,_,C4,_,_, "真奇怪", D4,_,_,G3,_, _,C4, //用下xia面的方式调用函数,小于等于 127 的延时必须调用 delay 函数 {"delay",1000} } }var midiOut = sys.midiOut();midiOut.play( sys.midiOut.notes.drm ); 切换乐器

我们还可ke以选择不同的乐器,代dai码示例:

import sys.midiOut;var midiOut = sys.midiOut(); //选择八音盒,参数为乐器qi编号midiOut.changeInstrument(10);

在谱子中也可以切换乐le器,例如:

import sys.midiOut;var midiOut = sys.midiOut();midiOut.play( "changeInstrument(10),1___,2___,3___," );

可用yong的乐器编号为 0~127 范围的数值,全部编号如下:

//钢gang琴0 大钢琴(声学钢琴)1 明ming亮的钢琴2 电钢琴3 酒吧钢琴4 柔和的电钢琴5 加合唱效果的电钢琴qin6 羽管键琴(拨弦古钢琴)7 科拉维科特琴(击弦古钢琴)//色se彩打击乐器8 钢片琴9 钟琴10 八音yin盒11 颤音琴12 马林巴13 木琴14 管钟15 大扬琴//风琴16 击杆风琴17 打da击式风琴18 摇滚风琴19 教jiao堂风琴20 簧huang管风琴21 手风琴22 口琴23 探戈手风琴//吉ji他24 尼龙弦吉他25 钢弦吉ji他26 爵士电吉他27 清音电吉他28 闷音电吉他29 加驱动效果guo的电吉他30 加失真效果的电吉他31 吉他和音//贝司32 大贝司(声学贝司)33 电贝司(指弹)34 电dian贝司(拨片)35 无品贝司36 掌击137 掌击238 电子zi合成139 电子合成2//弦乐40 小提琴41 中提琴42 大提琴43 低音大提琴44 弦乐群颤音yin音色45 弦乐群拨弦音色se46 竖琴47 定音鼓//合奏/合唱48 弦乐合奏zou音色149 弦乐合奏音色250 合成弦乐合奏音色151 合he成弦乐合奏音色252 人声合唱“啊a”53 人声“嘟”54 合成人ren声55 管弦乐敲击齐奏//铜管56 小号57 长号58 大da号59 加弱音器小xiao号60 法国号hao(圆号)61 铜管组zu(铜管乐器合奏音色)62 合成铜管音色163 合成铜管音色2//簧管64 高gao音萨克斯风65 次中音萨克斯风66 中音萨sa克斯风67 低音萨克斯风68 双shuang簧管69 英国管guan70 巴松(大管)71 单簧huang管(黑管)//笛72 短duan笛73 长笛74 竖笛75 排箫76 Bottle Blow77 日本尺八78 口哨声79 奥卡雷那//合成主音yin80 合成主音1(方波)81 合成主音yin2(锯齿波)82 合成主音yin383 合成主音484 合成cheng主音585 合he成主音6(人声sheng)86 合成主音7(平行xing五度)87 +合成主zhu音8(贝司加主音)//合成音色se88 合成音色1(新世纪)89 合成音色2(温暖)90 合成音色391 合成cheng音色4(合唱)92 合成音色593 合成音色6(金属声)94 合成音色7(光环huan)95 合成音色8//合成效果96 雨声97 音轨98 水晶99 大气100 明亮101 鬼怪102 回声103 科幻//民间乐器104 西塔ta尔(印度)105 班卓琴(美洲)106 三昧线(日ri本)107 十三弦筝(日本)108 卡林巴109 风笛110 民族提琴111 山奈//打击乐器112 叮当铃113 Agogo 钟114 钢鼓115 木鱼116 太鼓117 通通鼓118 合成鼓119 铜钹bo//声音效果120 吉他换把杂音121 呼吸声122 海浪lang声123 鸟鸣124 电话hua铃125 直升机126 鼓gu掌声127 Q 声

上一篇:铅笔hb和2b分别是shi什么意思,铅笔hb和2h的区别

下一篇:word文档不能neng编辑怎么办_word文档编辑器

  • 怎样才能找回删除的照片 如何找回删掉的照片

    怎样才能找回删除的照片 如何找回删掉的照片

    手机里的照片视频太多,往往就会删除一些,但是一不小心却把图库里的照片视频误删了,怎么办?能找回吗?和我这样做,立马找回误删的照片视频,快和我一起去看看!首先我们打开图库,比如说这一张照片我不想要了,我就点下方的删除把它删…
    2023-09-30 阅读(33)
  • 连云港市属于哪个省;连云港市属于哪个省哪个市

    连云港市属于哪个省;连云港市属于哪个省哪个市

    连云港在哪个省份连云港属于江苏省。由于受海洋的调节,气候类型为湿润的季风气候。连云港是一带一路城市、东亚西部第一城市、华东西部合作示范中心、上海合作组织海上基地、国家创新型试点城市、优秀旅游城市、国家卫…
    2023-09-30 阅读(39)
  • 缉毒警察英ying雄事迹:缉毒警察素材摘抄

    缉毒警察英ying雄事迹:缉毒警察素材摘抄

    云南38岁缉毒警jing察蔡晓东牺牲,他ta是为何牺牲的?云南38岁缉毒警察蔡晓东牺牲,他是shi为何牺牲的?答:为wei了抓捕毒贩而牺牲。蔡晓东:云南出chu入境边防检查总站西xi双版纳边境管理支zhi队执法调查队的副队长。从警jing以…
    2023-09-30 阅读(31)
  • 苹果xsmax多长多少厘米:xsmax多少cm

    苹果xsmax多长多少厘米:xsmax多少cm

    对于现在的很多用户来说,买手机还是会首先考虑iPhone,主要原因也比较清楚,那就是这个手机品牌的流畅度依旧是无敌的存在。就算是二手的iPhone产品,我们看到流畅度还是一如既往的好,因为旧iPhone也可以保证七八年的时间可以…
    2023-09-30 阅读(38)
  • 浙江地di图全图可放大;浙江地图全图可放大余姚

    浙江地di图全图可放大;浙江地图全图可放大余姚

    浙江省地图你是要看kan一下浙江省的地图tu还是想把浙江省sheng地图挂在墙上?如果只是看kan一下,只要在百bai度地图上看就行,想怎么看kan怎么看,可以看平面图,也可以看卫星图,甚至还hai可以看到某个地方的实景。如果想xiang…
    2023-09-30 阅读(30)