国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Scratch做出跳躍的音符

2019-09-10 07:22:44
電腦報(bào) 2019年42期
關(guān)鍵詞:音量音符音頻

Scratch作為圖形化的編程工具,除了制作故事情節(jié)的程序,還可以利用鍵盤事件模塊觸發(fā)相應(yīng)音符彈奏,通過(guò)更改演奏樂(lè)器,調(diào)整演奏速度與音量來(lái)完成自定義音樂(lè),今天我們來(lái)學(xué)習(xí)一下。

學(xué)習(xí)目標(biāo)

1.學(xué)習(xí)如何控制音頻文件的播放

2.掌握鍵盤事件,能夠通過(guò)按鍵播放聲音

3.了解拓展積木的選擇方法

4.理解音量與演奏速度

Scratch中每個(gè)角色的音頻文件是相互獨(dú)立的,我們需要將音頻上傳到需要的角色中去,這里我們需要先選擇“電子琴”角色,再在聲音標(biāo)簽中上傳音頻。

可以看到電子琴角色中已經(jīng)準(zhǔn)備好了八個(gè)音符的音頻(圖1),不需要我們?cè)俅紊蟼?,如果需要其他音頻,上傳方式類似于上傳角色。

上傳好音頻后,我們?cè)诼曇裟K中可以看到“播放聲音”程序塊,將其拖往程序區(qū)預(yù)備(圖2)。

在之前的學(xué)習(xí)中,我們使用了“當(dāng)綠旗被點(diǎn)擊”執(zhí)行程序,相應(yīng)的,事件模塊中的“當(dāng)按下空格鍵”表示空格鍵被按下時(shí),執(zhí)行之后的程序,其中空格鍵可以換成其他任何鍵。這里我們將兩個(gè)程序塊組合,當(dāng)按下1鍵,播放聲音“哆”,以此類推,程序如圖3所示:

其中的 “C”、“D”、“E”、“F”、“G”、“A”、“B”、“C2”分別代表“哆瑞咪發(fā)嗦啦西”以及高音“哆”。完成后,點(diǎn)擊相應(yīng)按鈕即可發(fā)出相應(yīng)聲音。

除了聲音組常規(guī)積木外,Scratch3.0還提供了音樂(lè)模塊,音樂(lè)模塊屬于額外附加模塊,通過(guò)點(diǎn)擊左下角的拓展按鈕添加,如圖4:

四、音樂(lè)模塊的添加與說(shuō)明

點(diǎn)擊拓展按鈕進(jìn)入拓展界面,選擇音樂(lè)模塊即可完成添加(圖5),音樂(lè)模塊有七個(gè)專屬程序塊。

其中“小軍鼓”和“鋼琴”旁邊的三角形按鈕(圖6)可以幫助我們更換樂(lè)器。

“休止0.25拍”表示彈奏間隔0.25拍(“拍”是音樂(lè)演奏中的時(shí)間單位)。

點(diǎn)擊“演奏音符60? 0.25拍”中的“60”可以更改演奏的音符,計(jì)算機(jī)用數(shù)字指代具體音符。

音樂(lè)模塊的最后三個(gè)程序塊都是關(guān)于演奏速度的程序塊,其中“將演奏速度設(shè)定或增加”是用來(lái)修改演奏速度的,最后的“演奏速度”是用來(lái)記錄當(dāng)前演奏速度的變量,可以通過(guò)勾選前面的小方格來(lái)顯示或隱藏變量“演奏速度”(圖7)。

通過(guò)音樂(lè)模塊中的“將樂(lè)器設(shè)為……”可以調(diào)整演奏的樂(lè)器,通過(guò)“演奏音符60? 0.25拍”可以調(diào)整演奏的音符,通過(guò)在音樂(lè)模塊中改變演奏速度,在聲音模塊中改變音量,我們可以自行編寫一整首曲子,通過(guò)按下某個(gè)鍵觸發(fā)命令即可播放,效果如圖8:

其中的音量設(shè)定,休止設(shè)定、演奏速度設(shè)定、樂(lè)器設(shè)定可根據(jù)需要放置,也可同時(shí)彈奏多種樂(lè)器實(shí)現(xiàn)合奏效果,程序如圖9:

我們這里提供一份簡(jiǎn)譜,通過(guò)轉(zhuǎn)化為編程語(yǔ)言,即可在程序中運(yùn)行播放(圖10)。

Python 是機(jī)器學(xué)習(xí)最廣泛采用的編程語(yǔ)言,它最重要的優(yōu)勢(shì)在于編程的易用性。如果讀者對(duì)基本的 Python 語(yǔ)法已經(jīng)有一些了解,那么這篇文章可能會(huì)給你一些啟發(fā)。本文簡(jiǎn)單概括了 10 段代碼,它們都是平常非常實(shí)用的技巧哦。

可以檢查給定列表是不是存在重復(fù)元素,它會(huì)使用 set() 函數(shù)來(lái)移除所有重復(fù)元素。

def all_unique(lst):

return len(lst) == len(set(lst))

x = [1,1,2,2,3,2,3,4,5,6]

y = [1,2,3,4,5]

all_unique(x) # False

all_unique(y) # True

檢查兩個(gè)字符串的組成元素是不是一樣的。

from collections import Counter

def anagram(first, second):

return Counter(first) == Counter(second)

anagram("abcd3", "3acdb") # True

下面的代碼塊可以檢查變量 variable 所占用的內(nèi)存。

import sys

variable = 30

print(sys.getsizeof(variable)) # 24

以下方法將統(tǒng)計(jì)字符串中的元音 ('a','e', 'i','o', 'u') 的個(gè)數(shù),它是通過(guò)正則表達(dá)式做的。

import re

def count_vowels(str):

return len(len(re.findall(r

'[aeiou]', str, re.IGNORECASE)))

count_vowels('foobar') # 3

count_vowels('gym') # 0

該代碼塊不需要循環(huán)語(yǔ)句就能打印 N 次字符串。

n = 2;

s ="Programming";

print(s * n);

# ProgrammingProgramming

以下代碼塊會(huì)使用 title() 方法,從而大寫字符串中每一個(gè)單詞的首字母。

s = "programming is awesome"

print(s.title())

# Programming Is Awesome

給定具體的大小,定義一個(gè)函數(shù)以按照這個(gè)大小切割列表。

from math import ceil

def chunk(lst, size):

return list(

map(lambda x: lst[x *? size:x *? size + size],

list(range(0, ceil(len(lst) / size)))))

chunk([1,2,3,4,5],2)

# [[1,2],[3,4],5]

這個(gè)方法可以將布爾型的值去掉,例如(False,None,0,“”),它使用 filter() 函數(shù)。

def compact(lst):

return list(filter(bool, lst))

compact([0, 1, False, 2, '', 3, 'a','s', 34])

# [ 1, 2, 3, 'a','s', 34 ]

如下代碼段可以將打包好的成對(duì)列表解開成兩組不同的元組。

array = [[a', 'b'], ['c', 'd'], ['e', 'f']]

transposed = zip(*array)

print(transposed)

# [('a', 'c', 'e'), ('b','d', 'f')]

我們可以在一行代碼中使用不同的運(yùn)算符對(duì)比多個(gè)不同的元素。

a = 3

print( 2 < a < 8) # True

print(1 == a < 2) # False

猜你喜歡
音量音符音頻
測(cè)測(cè)你的“音量值”
一串快樂(lè)的音符
春天的音符
必須了解的音頻基礎(chǔ)知識(shí) 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
請(qǐng)放心地扭大音量看電影聽音樂(lè)吧!Mclntosh Sonus Faber家庭影院套裝
音頻分析儀中低失真音頻信號(hào)的發(fā)生方法
電子制作(2017年9期)2017-04-17 03:00:46
音符(兩首)
讀寫算(上)(2016年9期)2016-02-27 08:44:58
Pro Tools音頻剪輯及修正
人間(2015年8期)2016-01-09 13:12:42
細(xì)火慢燉增加音量調(diào)節(jié)級(jí)數(shù)
電腦愛好者(2015年9期)2015-05-15 19:08:49
栾城县| 山阳县| 仲巴县| 临沭县| 保亭| 兴仁县| 溧阳市| 沐川县| 阿鲁科尔沁旗| 瓮安县| 凤庆县| 府谷县| 普定县| 封开县| 长寿区| 惠来县| 偃师市| 金乡县| 新蔡县| 增城市| 铜鼓县| 普陀区| 南涧| 类乌齐县| 安化县| 平陆县| 余庆县| 巴林右旗| 克拉玛依市| 大兴区| 东平县| 哈巴河县| 田林县| 修文县| 道真| 陵水| 芮城县| 寿阳县| 普格县| 石台县| 江华|