CN107331377A - 一种基于虚拟乐器的音乐众筹众创平台 - Google Patents
一种基于虚拟乐器的音乐众筹众创平台 Download PDFInfo
- Publication number
- CN107331377A CN107331377A CN201710534927.7A CN201710534927A CN107331377A CN 107331377 A CN107331377 A CN 107331377A CN 201710534927 A CN201710534927 A CN 201710534927A CN 107331377 A CN107331377 A CN 107331377A
- Authority
- CN
- China
- Prior art keywords
- virtual
- key
- newly
- picture
- built
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 229910001369 Brass Inorganic materials 0.000 claims description 55
- 238000013515 script Methods 0.000 claims description 47
- 230000000694 effects Effects 0.000 claims description 44
- 230000008846 dynamic interplay Effects 0.000 claims description 42
- 238000013507 mapping Methods 0.000 claims description 36
- 239000010951 brass Substances 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000003825 pressing Methods 0.000 claims description 5
- 230000012447 hatching Effects 0.000 claims description 4
- 239000000463 material Substances 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 claims description 2
- 230000002688 persistence Effects 0.000 claims description 2
- 210000004556 brain Anatomy 0.000 claims 2
- 230000005611 electricity Effects 0.000 claims 2
- 239000004744 fabric Substances 0.000 claims 2
- 229910000831 Steel Inorganic materials 0.000 claims 1
- 238000005520 cutting process Methods 0.000 claims 1
- 230000001052 transient effect Effects 0.000 claims 1
- 206010052428 Wound Diseases 0.000 description 9
- 208000027418 Wounds and injury Diseases 0.000 description 9
- 230000003993 interaction Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001413866 Diaphone Species 0.000 description 1
- 241000405217 Viola <butterfly> Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/221—Keyboards, i.e. configuration of several keys or key-like input devices relative to one another
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/045—Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
- G10H2230/065—Spint piano, i.e. mimicking acoustic musical instruments with piano, cembalo or spinet features, e.g. with piano-like keyboard; Electrophonic aspects of piano-like acoustic keyboard instruments; MIDI-like control therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/045—Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
- G10H2230/251—Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments or MIDI-like control therefor
- G10H2230/275—Spint drum
- G10H2230/281—Spint drum assembly, i.e. mimicking two or more drums or drumpads assembled on a common structure, e.g. drum kit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/175—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/181—Billing, i.e. purchasing of data contents for use with electrophonic musical instruments; Protocols therefor; Management of transmission or connection time therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/315—Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
- G10H2250/435—Gensound percussion, i.e. generating or synthesising the sound of a percussion instrument; Control of specific aspects of percussion sounds, e.g. harmonics, under the influence of hitting force, hitting position, settings or striking instruments such as mallet, drumstick, brush or hand
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明属于虚拟乐器技术领域,提供一种基于虚拟乐器的音乐众筹众创平台,使用HTML、JavaScript、CSS技术,在网络上建立虚拟乐器,任何一个用户在任何地点通过可以联网的计算机都可以使用这些虚拟乐器。本发明提供完全基于网络的虚拟乐器作为创作的平台,降低了对于硬件设备的要求,使得所有有音乐创作需求的用户都可以进行在线音乐创作。
Description
技术领域
本发明属于虚拟乐器技术领域,具体涉及一种基于虚拟乐器的音乐众筹众创平台。
技术背景
现有的音乐众筹平台主要是事先将需要进行资金筹集的词曲放到相应的网络平台上,由用户进行选择购买,进行版权的授予等功能。其主要包括注册登录、词曲选择、交易模式选择、交易支付、资金分配、资金返还等模块。通过众筹的形式授予众多众筹用户版权,再根据其付费的多少选择授权的年限,是对现有的音乐作品进行版权的变更,使用户根据自己的需要购买相应年限的版权。现有的音乐众创平台主要是通过用户在线下真实乐器上进行演奏并进行录制之后,在上传到相应的音乐平台上,需要真实乐器作为支撑。
发明内容
本发明的目的就是为了解决上述现有技术中的不足,提供一种基于虚拟乐器的音乐众筹众创平台,提供完全基于网络的虚拟乐器作为创作的平台,降低了对于硬件设备的要求,使得所有有音乐创作需求的用户都可以进行在线音乐创作。
本发明的目的是通过以下技术方案实现的:一种基于虚拟乐器的音乐众筹众创平台,包括用户注册登录模块、基于虚拟乐器的创作模块、作品录制上传模块、版权受理模块、作品展示模块、资质审核模块、交易模块;
所述用户注册登录模块,用以新用户注册,对新用户身份认证信息进行记录,并且提供用户信息的修改、用户登录和退出;
所述基于虚拟乐器的创作模块,以全部基于网络的虚拟乐器作为创作的平台,用户使用虚拟乐器进行在线创作,该模块提供钢琴类网络虚拟乐器、提琴类网络虚拟乐器、网络虚拟架子鼓、网络虚拟口琴、网络虚拟木管乐器、网络虚拟铜管乐器等常用的乐器50多种,完全可以满足用户进行音乐创作的需求,并且每种乐器都配有相应的使用指南;
所述作品录制上传模块,使用一个在线的录音器作为主体,对用户的创作过程进行全程录音,并且提供试听功能,用户根据对作品的满意程度选择是否上传,并且对要上传的作品进行命名;
所述版权受理模块,对用户上传的作品提供一个唯一的标识,在用户申请并通过审核之后进行版权的授予,并确定本平台对该作品的使用权;
所述作品展示模块,将用户上传的作品在专门的试听版块进行展示,提供试听服务,用户选择相应的作品进行试听;
所述资质审核模块,对发起众筹的创作人以及参与众筹的购买者进行真实身份的验证,并对双方之间的协议进行审核,以确保其合法性;
所述交易模块,提供用户在线购买、下载、支付的功能;通过介入银行以及第三方支付平台的支付接口实现在线交易,并在数据库中记录相应的交易记录,为创作者生成出售记录,为购买者生成购买的记录。
本发明平台的工作流程如下:
用户进入到众筹众创平台之后,先由登录模块对用户的登录状态进行检测,若用户未登录则跳转到登录页面要求用户登录,若为第一次使用则引导新用户在注册页面进行注册。
完成登录之后进入到虚拟乐器的选择页面,提示用户选择需要使用的乐器并进入到相应的虚拟乐器界面进行演奏并通过录制模块进行录制,用户演奏完毕可以选择试听,对于满意的作品可以使用演奏页面的上传模块进行上传。
在服务器端对已上传的作品进行审核,确保其命名以及文件的有效性,并将相应的音频文件在服务器上进行存储,在数据库添加用户的作品记录。同时对于审核通过的作品进行版权授予。
对于审核通过的作品在平台的展示页面进行在线的展示,提供在线试听服务。
若有购买者需要购买相应的作品可以在其详情页点击购买,并跳转至订单的生成页面,调用交易模块通过介入支付的API进行支付完成交易。
使用本发明基于虚拟乐器的音乐众筹众创平台的硬件要求:笔记本电脑推荐使用全尺寸键盘和外接鼠标,台式电脑应该外接麦克风、音箱、以及键盘和鼠标。电脑应安装有支持HTML5和JavaScript的浏览器,且可以接入网络。
本发明与现有技术相比,其特点在于:
1.平台本身集成多种虚拟乐器,用户直接使用这些虚拟乐器进行在线创作,降低了对于硬件设备的要求,使得所有有音乐创作需求的注册用户均可以使用本平台的虚拟乐器进行在线创作音乐创作。
2.用户可以选择自己满意的作品进行上传,平台将会对这些作品进行审核之后在平台上进行公布,其他用户可以进行试听。
3.对用户上传的音乐作品进行版权的授予,并且该版权可以在本平台内进行交易。
4.基于网络虚拟乐器,用户可以对其他用户的作品进行二次创作生成自己的作品。
5.用户可以通过众筹的方式为自己的创作募集资金,并在创作完成之后为参与众筹的用户提供相应的音乐作品。
附图说明
图1为本发明平台的流程图。
图2为本发明中钢琴类网络虚拟乐器的动态交互模块的流程图。
图3为本发明中提琴类网络虚拟乐器的动态交互模块的流程图。
图4为本发明中网络虚拟架子鼓的动态交互模块的流程图。
图5为本发明中网络虚拟口琴的动态交互模块的流程图。
图6为本发明中网络虚拟木管乐器的动态交互模块的流程图。
图7为本发明中网络虚拟铜管乐器的动态交互模块的流程图。
具体实施方式
以下结合附图和具体实施方式对本发明原理和实施作进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本实施例提供了一种基于虚拟乐器的音乐众筹众创平台,包括用户注册登录模块、基于虚拟乐器的创作模块、作品录制上传模块、版权受理模块、作品展示模块、资质审核模块、交易模块;
所述用户注册登录模块,用以新用户注册,对新用户身份认证信息进行记录,并且提供用户信息的修改、用户登录和退出;
所述基于虚拟乐器的创作模块,以全部基于网络的虚拟乐器作为创作的平台,用户使用虚拟乐器进行在线创作,该模块提供钢琴类网络虚拟乐器、提琴类网络虚拟乐器、网络虚拟架子鼓、网络虚拟口琴、网络虚拟木管乐器、网络虚拟铜管乐器等常用的乐器50多种,完全可以满足用户进行音乐创作的需求,并且每种乐器都配有相应的使用指南;
所述作品录制上传模块,使用一个在线的录音器作为主体,对用户的创作过程进行全程录音,并且提供试听功能,用户根据对作品的满意程度选择是否上传,并且对要上传的作品进行命名;
所述版权受理模块,对用户上传的作品提供一个唯一的标识,在用户申请并通过审核之后进行版权的授予,并确定本平台对该作品的使用权;
所述作品展示模块,将用户上传的作品在专门的试听版块进行展示,提供试听服务,用户选择相应的作品进行试听;
所述资质审核模块,对发起众筹的创作人以及参与众筹的购买者进行真实身份的验证,并对双方之间的协议进行审核,以确保其合法性;
所述交易模块,提供用户在线购买、下载、支付的功能;通过介入银行以及第三方支付平台的支付接口实现在线交易,并在数据库中记录相应的交易记录,为创作者生成出售记录,为购买者生成购买的记录。
如图1所示,本发明平台的工作流程如下:
用户进入到众筹众创平台之后,先由登录模块对用户的登录状态进行检测,若用户未登录则跳转到登录页面要求用户登录,若为第一次使用则引导新用户在注册页面进行注册。
完成登录之后进入到虚拟乐器的选择页面,提示用户选择需要使用的乐器并进入到相应的虚拟乐器界面进行演奏并通过录制模块进行录制,用户演奏完毕可以选择试听,对于满意的作品可以使用演奏页面的上传模块进行上传。
在服务器端对已上传的作品进行审核,确保其命名以及文件的有效性,并将相应的音频文件在服务器上进行存储,在数据库添加用户的作品记录。同时对于审核通过的作品进行版权授予。
对于审核通过的作品在平台的展示页面进行在线的展示,提供在线试听服务。
若有购买者需要购买相应的作品可以在其详情页点击购买,并跳转至订单的生成页面,调用交易模块通过介入支付的API进行支付完成交易。
在上述实施例中,平台本身集成多种虚拟乐器,包括钢琴类网络虚拟乐器、提琴类网络虚拟乐器、网络虚拟架子鼓、网络虚拟口琴、网络虚拟木管乐器、网络虚拟铜管乐器,下面就对上述各虚拟乐器作详细介绍。
一.钢琴类网络虚拟乐器
一种钢琴类网络虚拟乐器包括虚拟钢琴界面、虚拟钢琴琴键映射清单、动态交互模块、音频调用以及播放模块。
所述虚拟钢琴界面,本模块作为整个虚拟乐器的主界面,直接与用户进行交互,利用图像处理软件设计一个个独立的琴键图片,并通过网页布局的方式将这些独立的琴键图片进行排列拼接,用户根据自己的需要确定琴键的数量,从而构成不同形式的钢琴键盘界面。
所述虚拟钢琴琴键映射清单,用于确定电脑键盘的按键和虚拟钢琴的琴键之间的对应关系;以及确定电脑键盘的按键和虚拟钢琴的不同单音的音频文件之间的对应关系。具体对应关系如下表所示。
所述动态交互模块,是整个乐器和用户之间进行交互的主要部分,通过虚拟钢琴琴键映射清单,将电脑键盘被按下或虚拟钢琴琴键被鼠标点击这一事件映射到虚拟钢琴的某一个或几个琴键被按下,再对相应琴键图片进行切换以实现不同的阴影效果变换,用于模拟真实的钢琴琴键被按下和弹起的过程。
所述音频调用以及播放模块,提前录制真实钢琴琴键被按下时的声音作为音源,将电脑键盘被按下或虚拟钢琴琴键被鼠标点击这一事件映射到虚拟钢琴的某一个或几个琴键被按下,再根据虚拟钢琴的琴键和其发出的单音的对应关系,调用扬声器播放对应音频。
在上述实施例中,所述虚拟钢琴界面的具体构建步骤如下:
步骤一,钢琴琴键的素材制作
使用Photoshop软件设计钢琴的黑键和白键的图片,其中黑键和白键的图片包含两种,一种是琴键被按下时的效果,有阴影,另一种为琴键未被按下时的效果,无阴影;被按下时的效果是根据实际的钢琴琴键被按下之后的阴影效果,对琴键的图片添加阴影;
步骤二,对琴键的图片进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为mainframe的div标签作为容纳钢琴各个部分的底层容器,并在HTML文档的style标签中通过id选择器设置这个div标签的左边距和上边距,确定其位置;再新建一组ul标签用来作为容纳所有白键和黑键的容器,分别对白键和黑键进行布局:
(1)对钢琴的白键进行布局
在style标签中新建一个白键的CSS类命名为whiteKeyClass,从而确定每一个白键的浮动方式、大小以及白键之间的间距,新建一个名为whiteKeyNormal的CSS类设置其背景图片属性为没有按下时的白键图片,再新建一个名为whiteKeyPressed的CSS类设置其背景图片属性为被按下时的白键图片;使用li、div、a三个标签的组合来表示一个钢琴白键,首先在最外侧新建一个li标签,在这个li标签的内部依次嵌套div和a标签,其中div标签用来作为容纳白键图片的容器,a标签用来实现鼠标点击时琴键被按下的效果;在ul标签中一共需新建n个相同的组合用来表示n个钢琴白键,在这n个组合中li标签的class属性设置为whitKeyClass和whiteKeyNormal,这n个a标签的id属性依次设置为key1~keyn,用来唯一标识每一个白键组合,其中,n取决于具体钢琴白键的数量;
(2)对钢琴的黑键进行布局
在style标签中新建一个黑键的CSS类命名为blackKeyClass,从而确定每一个黑键的浮动方式,以及大小,新建一个名为blackKeyNormal的CSS类设置其背景图片属性为没有按下时的黑键图片,再新建一个名为blackKeyPressed的CSS类设置其背景图片属性为被按下时的黑键图片;使用li、div、a三个标签的组合来表示一个钢琴黑键,首先在最外侧新建一个li标签,在这个li标签的内部依次嵌套div和a标签,其中div标签用来作为容纳黑键图片的容器,a标签用来实现鼠标点击时琴键被按下的效果;在ul标签中一共需新建m个相同的组合用来表示m个钢琴黑键,在这m个组合中li标签的class属性设置为blackKeyClass和blackKeyNormal,这m个a标签的id属性依次设置为keyb1~keybm,用来唯一标识每一个黑键组合,其中,m取决于具体钢琴黑键的数量。
在上述实施例中,如图2所示,所述动态交互模块的具体实现方式如下:
步骤一,监测用户是否按下电脑键盘按键或者使用鼠标点击虚拟钢琴琴键;
步骤二,如果用户使用鼠标点击了虚拟钢琴琴键,获取被点击的琴键的id;根据虚拟钢琴的琴键和id的对应关系确定对应到哪个琴键;跳到步骤四;
步骤三,如果用户按下电脑键盘按键,获取电脑键盘的键值,根据电脑键盘键值和虚拟钢琴琴键的对应关系确定对应到哪个琴键;具体方式为,新建一个javascript脚本文件,并通过调用JavaScript内部的onkeydown函数监测用户是否按下了电脑键盘上的按键,并且获得键值;
步骤四,通过javascript脚本为虚拟钢琴对应琴键的a标签进行添加或移除琴键被按下和未被按下时的CSS类,实现琴键按下和弹起的效果。
在上述实施例中,所述音频调用以及播放模块的具体实现方式如下:新建一个控制钢琴音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了电脑键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,使用鼠标点击琴键时通过设置点击的事件监听器确定哪一个琴键被点击,再根据琴键的id和音频文件的对应关系确定到具体的哪一个音频文件应该被播放,最后通过JavaScript内部的play函数对该音频进行播放。
本实施例钢琴类网络虚拟乐器的工作流程如下:
电脑通过浏览器输入域名,浏览器向服务器的相应端口(该端口由服务器的管理者设置)发送获取虚拟钢琴页面的请求,服务器对该请求作出响应同时在服务器的磁盘中找到虚拟钢琴的页面并返回给发送请求的浏览器,浏览器获取页面之后对其中的HTML和JavaScript、CSS进行解析,并且在浏览器窗口进行显示。
在显示完成之后,虚拟钢琴开始正常工作,电脑的键盘按键被按下或者鼠标被点击,操作系统对对应的事件进行响应,对于键盘按键返回键值对于鼠标点击返回鼠标的坐标,浏览器获取到这些信息之后,由从服务器获取的JavaScript脚本文件进行处理对应到钢琴按键的图片样式的变化,并生成虚拟钢琴按键对应的音频的http请求,再由浏览器将这些请求发送到服务器,服务器对这些请求进行响应之后再根据请求中提供的路径在磁盘中找到相应的音频文件,在通过网络发送到发送这些请求的浏览器,最后由JavaScript脚本调用音频播放的函数,由电脑的扬声器对该音频进行播放。
二.提琴类网络虚拟乐器
一种提琴类网络虚拟乐器,包括虚拟提琴界面、虚拟提琴映射清单、动态交互模块、音频调用以及播放模块。
所述虚拟提琴界面,本模块作为整个虚拟乐器的主界面,直接与用户进行交互,利用图像处理软件制作提琴的琴身和琴弓的图片,并通过网页布局的方式将独立的琴身和琴弓图片进行拼接组合,从而构成完整的提琴界面;用户可以根据自己的需要确定琴身和琴弓的样式,从而构成不同种类的提琴乐器界面。
所述虚拟提琴映射清单,用于确定电脑键盘的按键和虚拟提琴不同单音的音频文件之间的对应关系;具体对应关系如下表所示。
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟提琴映射清单,将电脑键盘被按下这一事件映射到虚拟提琴被拉奏,模拟真实的提琴演奏中琴弓来回拉动,提琴发声的过程。
所述音频调用以及播放模块,提前录制真实提琴演奏时的声音作为音源,通过设定的电脑键盘的按键和虚拟提琴不同单音的音频文件的对应关系,将电脑键盘被按下这一事件映射到虚拟提琴的某一个单音被演奏,再根据提琴的单音和录制的音源的对应关系,调用扬声器播放对应音频。
在上述实施例中,虚拟提琴界面的具体构建步骤如下:
步骤一,琴身、琴弓的素材制作
使用Photoshop软件对真实的提琴图片进行裁剪分别得到琴身和琴弓的图片,再对琴身和琴弓的角度进行调整使其拼接出提琴演奏时的样子;
步骤二,对素材图片进行组合
新建一个HTML文档并在该文档内新建一个id属性设置为mainframe的div标签作为容纳琴身和琴弓的底层容器,在style标签中新建一个名为mainframe的CSS类并且通过改变其宽度、高度、左边距、上边距以及浮动方式来确定名为mainframe的div标签在页面中的位置和大小,设置其背景图片属性为步骤一中制作的琴身图片,然后再新建一个id属性设置为frame2的div标签来容纳琴弓的图片,在style标签中新建一个名为frame2的CSS类并通过改变其宽度、高度、左边距、上边距以及浮动方式来确定名为frame2的div标签在页面中的位置以及大小,最终使琴弓和琴身组合成一个完整的提琴的图片。
在上述实施例中,如图3所示,动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值,根据键值确定哪个按键被按下;
步骤二,在style标签中新建一个CSS动画名为move,分别设置其在0、25%、75%、100%时刻的左边距和上边距来确定调用该动画的元素每个时刻在页面中的位置;再新建一个名为play的CSS类并设置其动画属性为move,设置其动画时间为600ms,并设置过渡方式为平滑过渡;当监测到有电脑按键按下之后通过javascript脚本文件为容纳琴弓的div标签添加play这个CSS类来改变琴弓图片的位置实现演奏的动态效果;
步骤三,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件。
在上述实施例中,音频调用以及播放模块的具体实现方式如下:新建一个控制提琴音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
本实施例提琴类网络虚拟乐器的工作流程如下:
电脑通过浏览器输入域名,浏览器向服务器的相应端口(该端口由服务器的管理者设置)发送获取虚拟提琴页面的请求,服务器对该请求作出响应同时在服务器的磁盘中找到虚拟提琴的页面并返回给发送请求的浏览器,浏览器获取页面之后对其中的HTML和JavaScript、CSS进行解析,并且在浏览器窗口进行显示。
在显示完成之后,虚拟提琴开始正常工作,电脑的键盘按键被按下,操作系统对该事件进行响应,返回键盘按键的键值,浏览器获取到这些信息之后,由从服务器获取的JavaScript脚本文件进行处理对应到琴弓图片位置的变化,并生成虚拟提琴对应的音频的http请求,再由浏览器将这些请求发送到服务器,服务器对这些请求进行响应之后再根据请求中提供的路径在磁盘中找到相应的音频文件,在通过网络发送到发送这些请求的浏览器,最后由JavaScript脚本调用音频播放的函数,由电脑的扬声器对该音频进行播放。
三.网络虚拟架子鼓
一种网络虚拟架子鼓,包括虚拟架子鼓界面、虚拟架子鼓映射清单、动态交互模块、音频调用以及播放模块。
所述虚拟架子鼓界面,是直接对虚拟架子鼓进行展示的模块,利用图像处理软件制作一个个独立的鼓的图片,每个鼓的图片都包括被打击和未被打击两种效果的图片,并通过网页布局的方式将这些独立的鼓的未被打击效果的图片进行排列拼接,从而构成成套的架子鼓界面。
所述虚拟架子鼓映射清单,用于确定电脑键盘的按键和虚拟架子鼓各部分之间的对应关系,以及电脑键盘的按键和音频文件之间的对应关系。具体对应关系如下表所示。
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟架子鼓映射清单,将电脑键盘被按下这一事件映射到架子鼓的某一个或几个鼓被打击,再通过对被打击的鼓的图片进行切换,利用视觉的暂留效应实现鼓被打击的动画效果,模拟真实的架子鼓被打击并发声的过程。
所述音频调用以及播放模块,提前录制真实架子鼓被打击时的声音作为音源,将电脑键盘被按下这一事件映射到架子鼓的某一个或几个鼓被打击,再根据虚拟架子鼓的鼓和其发出的声音的对应关系,调用扬声器播放对应音频。
在上述实施例中,虚拟架子鼓界面的具体构建步骤如下:
步骤一,架子鼓的素材制作
使用Photoshop软件对真实的架子鼓的鼓的图片进行处理,抓取每一个鼓在被打击时会发生形变的区域,再对抓取到的区域进行复制,形成两个图片,其中一个图片命名为knocked.png,通过模拟真实的架子鼓被打击时的效果对knocked.png图片进行阴影处理,用来表示架子鼓被打击时的效果,另一个图片命名为normal.png,不进行阴影处理,用来表示架子鼓没有被打击时的效果;
步骤二,对虚拟架子鼓的每一个鼓的图片进行布局
新建一个HTML文档,在该文档中新建一个名为mainframe的div标签作为容纳架子鼓的底层容器并将其class属性设置为mainframe,同时在style标签中新建一个名为mainframe的CSS类,通过设置其左边距、上边距和浮动方式来确定名为mainframe的div标签的位置;然后再新建7个div标签依次将id属性设置为drum1-drum7用来容纳架子鼓的七个部分,再通过新建drum1-drum7共7个CSS的id选择器并依次设置其左边距、上边距和浮动方式来确定这7个div标签的位置;最后将架子鼓每一个部分在步骤一中制作好的normal.png图片放置到对应的鼓的位置,组合出架子鼓未被打击时的情形。
在上述实施例中,如图4所示,动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值;
步骤二,根据电脑键盘键值和虚拟架子鼓的对应关系确定对应到哪个鼓;
步骤三,通过javascript脚本文件修改对应的鼓的css样式中的图片路径,即将normal.png改为knocked.png,实现图片的切换,形成该鼓被打击的效果;
步骤四,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件。
在上述实施例中,音频调用以及播放模块的具体实现方式如下:新建一个控制架子鼓音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
本实施例网络虚拟架子鼓的工作流程如下:
电脑通过浏览器输入域名,浏览器向服务器的相应端口(该端口由服务器的管理者设置)发送获取虚拟架子鼓页面的请求,服务器对该请求作出响应同时在服务器的磁盘中找到虚拟架子鼓的页面并返回给发送请求的浏览器,浏览器获取页面之后对其中的HTML和JavaScript、CSS进行解析,并且在浏览器窗口进行显示。
在显示完成之后,虚拟架子鼓开始正常工作,电脑的键盘按键被按下,操作系统对该事件进行响应,返回键盘按键的键值,浏览器获取到这些信息之后,由从服务器获取的JavaScript脚本文件进行处理对应到虚拟架子鼓的图片样式的变化,并生成虚拟架子鼓音频的http请求,再由浏览器将这些请求发送到服务器,服务器对这些请求进行响应之后再根据请求中提供的路径在磁盘中找到相应的音频文件,在通过网络发送到发送这些请求的浏览器,最后由JavaScript脚本调用音频播放的函数,由电脑的扬声器对该音频进行播放。
四.网络虚拟口琴
一种网络虚拟口琴,包括虚拟口琴界面、虚拟口琴映射清单、动态交互模块、音频调用以及播放模块。
所述虚拟口琴界面,该模块主要是网络虚拟口琴的交互与展示界面,利用图像处理软件制作口琴的琴架和琴孔的图片,并通过网页布局的方式对口琴琴架和琴孔的图片进行组合、布局,从而构成完整的口琴界面。
所述虚拟口琴映射清单,用于确定电脑键盘的按键和虚拟口琴琴孔之间的对应关系,以及电脑键盘的按键和音频文件的对应关系。具体对应关系如下表所示。
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟口琴映射清单,将电脑键盘被按下这一事件映射到虚拟口琴的某一个或几个琴孔被吹奏,再通过对被吹奏的琴孔的图片进行切换,模拟真实的口琴被吹奏并发声的过程。
所述音频调用以及播放模块,提前录制真实口琴吹奏时的声音作为音源,将电脑键盘被按下这一事件映射到虚拟口琴的某一个或几个琴孔被吹奏,再根据虚拟口琴的琴孔和其发出的声音的对应关系,调用扬声器播放对应音频。
在上述实施例中,虚拟口琴界面的具体构建步骤如下:
步骤一,口琴琴架以及琴孔填充素材的制作
使用Photoshop软件对真实的口琴图片进行处理,将口琴的每一个琴孔部分去除,得到一个口琴的框架,然后制作与琴孔等大小的图片,每个琴孔制作两种图片,一种是琴孔被吹奏时的效果,为蓝色,另一种是琴孔未被吹奏时的效果,为绿色;
步骤二,对虚拟口琴的琴架和琴孔进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为mainframe的div标签作为容纳口琴各个部分的底层容器,同时在style标签中新建一个名为mainframe的CSS类,通过设置其左边距、上边距和浮动方式来确定名为mainframe的div标签的位置,再新建另一个id属性设置为frame2的div标签来容纳所有的琴孔,在此标签中再根据实际需要新建n个div标签依次将id属性设置为button1-buttonN,每一个div标签作为一个琴孔图片的容器,n表示所要使用的口琴的琴孔数量,在style标签中新建n个CSS的id选择器依次命名为button1-buttonN生成n个CSS样式,分别对应button1-buttonN这n个div标签,通过改变这n个CSS样式中的左边距、上边距以及浮动方式将代表琴孔未被使用的绿色图片填充到对应琴孔的空白位置;由于每一个琴孔有被吹奏和没有被吹奏两种状态,所以再新建used和unused这2个CSS类分别代表琴孔被吹奏和未被吹奏两种状态。
在上述实施例中,如图5所示,动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值;
步骤二,根据电脑键盘键值和虚拟口琴琴孔的对应关系确定对应哪个琴孔被吹奏;
步骤三,通过javascript脚本文件对对应琴孔的div标签进行添加或移除used和unused的CSS类,实现口琴吹奏的效果;
步骤四,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件。
在上述实施例中,音频调用以及播放模块的具体实现方式如下:新建一个控制口琴音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了电脑键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
本实施例网络虚拟口琴的工作流程如下:
电脑通过浏览器输入域名,浏览器向服务器的相应端口(该端口由服务器的管理者设置)发送获取虚拟口琴页面的请求,服务器对该请求作出响应同时在服务器的磁盘中找到虚拟口琴的页面并返回给发送请求的浏览器,浏览器获取页面之后对其中的HTML和JavaScript、CSS进行解析,并且在浏览器窗口进行显示。
在显示完成之后,虚拟口琴开始正常工作,电脑的键盘按键被按下,操作系统对该事件进行响应,返回键盘按键的键值,浏览器获取到这些信息之后,由从服务器获取的JavaScript脚本文件进行处理对应到虚拟口琴的图片样式的变化,并生成虚拟口琴音频的http请求,再由浏览器将这些请求发送到服务器,服务器对这些请求进行响应之后再根据请求中提供的路径在磁盘中找到相应的音频文件,在通过网络发送到发送这些请求的浏览器,最后由JavaScript脚本调用音频播放的函数,由电脑的扬声器对该音频进行播放。
五.网络虚拟木管乐器
一种网络虚拟木管乐器,包括虚拟木管乐器界面、虚拟木管乐器映射清单、动态交互模块、音频调用以及播放模块。
所述虚拟木管乐器界面,本模块作为整个虚拟木管乐器的主界面,直接与用户进行交互,利用图像处理软件制作独立的木管乐器图片以及与木管乐器的按指孔同等大小的黑色圆形矢量图,并通过网页布局的方式在吹奏类木管乐器的每个按指孔上覆盖一个黑色圆形矢量图,从而构成完整的木管乐器界面;用户可以根据自己的需要确定木管乐器的样式,从而构成不同种类的木管乐器界面。
所述虚拟木管乐器映射清单,用于确定电脑键盘的按键和虚拟木管乐器不同单音之间的对应关系,以及电脑键盘的按键和虚拟木管乐器不同单音的音频文件之间的对应关系;其中,不同单音对应不同的按指孔。具体对应关系如下表所示。
电脑按键 | Q | W | E | R | T | Y | U |
实际音高 | C5 | D5 | E5 | F5 | G5 | A5 | B5 |
音频文件 | C5.mp3 | D5.mp3 | E5.mp3 | F5.mp3 | G5.mp3 | A5.mp3 | B5.mp3 |
电脑按键 | Z | X | C | V | B | N | M |
实际音高 | C3 | D3 | E3 | F3 | G3 | A3 | B3 |
音频文件 | C3.mp3 | D3.mp3 | E3.mp3 | F3.mp3 | G3.mp3 | A3.mp3 | B3.mp3 |
电脑按键 | A | S | D | F | G | H | J |
实际音高 | C4 | D4 | E4 | F4 | G4 | A4 | B4 |
音频文件 | C4.mp3 | D4.mp3 | E4.mp3 | F4.mp3 | G4.mp3 | A4.mp3 | B4.mp3 |
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟木管乐器映射清单,将电脑键盘被按下这一事件映射到虚拟木管乐器的某一个单音被演奏,进一步映射到虚拟木管乐器的某些按指孔被使用,模拟虚拟木管乐器演奏及发声的过程。
所述音频调用以及播放模块,提前录制真实木管乐器演奏时的声音作为音源,将电脑键盘被按下这一事件映射到虚拟木管乐器的某一个单音被演奏,再根据木管乐器的单音和录制音源的对应关系,调用扬声器播放对应音频。
在上述实施例中,虚拟木管乐器界面的具体构建步骤如下:
步骤一,木管乐器的素材制作
使用Photoshop软件对真实的木管乐器的图片进行裁剪得到一个单独的木管乐器的图片,再制作一个与该木管乐器的按指孔等大小的黑色圆形矢量图;
步骤二,对木管乐器的图片和矢量图进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为main的div标签作为容纳乐器的底层乐器,并在style标签中通过id选择器为id为main的div标签新建一个css样式,通过设置其宽度、高度、左边距、上边距以及浮动方式来确定这个标签的大小和位置,设置其背景图片属性为步骤一中制作的木管乐器的图片,然后再在id属性设置为main的div标签中根据实际需要新建n个div标签依次设置id为dot1-dotN,每一个div标签作为一个黑色矢量图的容器,n表示所要使用的木管乐器的按指孔数量,在style标签中通过id选择器新建n个CSS样式依次命名为dot1-dotN,分别对应dot1-dotN这n个div标签,通过改变这n个CSS样式中的左边距、上边距以及浮动方式将n个与按指孔等大小的黑色矢量图覆盖在木管乐器图片相应的n个按指孔的位置上;由于在木管乐器演奏时,每一个按指孔有被手指覆盖和未被手指覆盖两种状态,所以虚拟木管乐器利用按指孔上黑色矢量图的有无来分别代表按指孔被手指覆盖和未被覆盖两种状态。
在上述实施例中,如图6所示,动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值,根据键值确定哪个按键被按下,再根据电脑键盘的按键和虚拟木管乐器的不同单音之间的对应关系确定对应到哪个单音,进一步对应到哪些按指孔被使用;
步骤二,当监测到有电脑按键按下之后,通过javascript脚本文件为容纳对应按指孔上的黑色矢量图的div标签的可见性进行修改,实现动态效果;
步骤三,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件。
在上述实施例中,音频调用以及播放模块的具体实现方式如下:新建一个控制木管乐器音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
本实施例网络虚拟木管乐器的工作流程如下:
电脑通过浏览器输入域名,浏览器向服务器的相应端口(该端口由服务器的管理者设置)发送获取虚拟木管乐器页面的请求,服务器对该请求作出响应同时在服务器的磁盘中找到虚拟木管乐器的页面并返回给发送请求的浏览器,浏览器获取页面之后对其中的HTML和JavaScript、CSS进行解析,并且在浏览器窗口进行显示。
在显示完成之后,虚拟木管乐器开始正常工作,电脑的键盘按键被按下,操作系统对该事件进行响应,返回键盘按键的键值,浏览器获取到这些信息之后,由从服务器获取的JavaScript脚本文件进行处理对应到木管乐器按指孔图片的变化,并生成虚拟木管乐器对应的音频的http请求,再由浏览器将这些请求发送到服务器,服务器对这些请求进行响应之后再根据请求中提供的路径在磁盘中找到相应的音频文件,在通过网络发送到发送这些请求的浏览器,最后由JavaScript脚本调用音频播放的函数,由电脑的扬声器对该音频进行播放。
六.网络虚拟铜管乐器
一种网络虚拟铜管乐器,包括虚拟铜管乐器界面、虚拟铜管乐器映射清单、动态交互模块、音频调用以及播放模块。
所述虚拟铜管乐器界面,本模块作为整个虚拟铜管乐器的主界面,直接与用户进行交互,利用图像处理软件制作独立的管身和按键的图片,并通过网页布局的方式将独立的管身和按键图片进行拼接组合,从而构成完整的铜管乐器界面。用户可以根据自己的需要确定管身和按键的样式,从而构成不同种类的铜管乐器界面。
所述虚拟铜管乐器映射清单,用于确定电脑键盘的按键和虚拟铜管乐器不同单音之间的对应关系,以及电脑键盘的按键和虚拟木管乐器不同单音的音频文件之间的对应关系;其中,不同单音对应不同的虚拟铜管乐器的按键。具体对应关系如下表所示。
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟铜管乐器映射清单,将电脑键盘被按下这一事件映射到虚拟铜管乐器的某一个单音被演奏,进一步映射到虚拟铜管乐器的某些按键被使用,模拟虚拟铜管乐器演奏及发声的过程。
所述音频调用以及播放模块,提前录制真实铜管乐器演奏时的声音作为音源,将电脑键盘被按下这一事件映射到虚拟铜管乐器的某一个单音被演奏,再根据铜管乐器的单音和录制音源的对应关系,调用扬声器播放对应音频。
在上述实施例中,虚拟铜管乐器界面的具体构建步骤如下:
步骤一,管身和按键的素材制作
使用Photoshop软件对真实的铜管乐器在未被演奏时的图片进行处理,裁减掉按键部分后制作成管身图片body.png,仅保留按键部分则制作成未被按下的按键图片up.png;然后用Photoshop将制作好的未被按下的按键图片up.png中按键的键轴部分截短,制作成被按下时的按键图片down.png;
步骤二,对管身和按键的图片进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为main的div标签作为容纳乐器的底层乐器,并在style标签中通过id选择器为id为main的div标签新建一个css样式通过设置其宽度、高度、左边距、上边距以及浮动方式来确定这个标签的大小和位置,并将其背景图片属性设置为body.png;再新建n个div标签依次设置id为key1-keyN,每一个div标签作为一个按键图片的容器,n表示所要使用的铜管乐器的按键数量,在style标签中通过id选择器新建n个css样式依次对应id为div1-divN的标签,并依次设置其宽、高、左边距、上边距和浮动方式来确定这n个div标签的位置和大小,使其和body.png组成一个完整的铜管乐器图片;再新建两个CSS类,其中一个命名为unpressed,将其背景图片属性设置为up.png;另一个命名为pressed,将其背景图片属性设置为down.png。
在上述实施例中,如图7所示,动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值,根据键值确定哪个按键被按下,再根据电脑键盘的按键和虚拟铜管乐器的不同单音之间的对应关系确定对应到哪个单音,进一步对应到虚拟铜管乐器的哪些按键被使用;
步骤二,当监测到有电脑按键按下之后,通过javascript脚本文件为容纳对应的按键的div标签进行删除unpressed类并添加pressed类操作,实现动态交互效果;
步骤三,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件。
在上述实施例中,音频调用以及播放模块的具体实现方式如下:新建一个控制木管乐器音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
本实施例网络虚拟铜管乐器的工作流程如下:
电脑通过浏览器输入域名,浏览器向服务器的相应端口(该端口由服务器的管理者设置)发送获取虚拟铜管乐器页面的请求,服务器对该请求作出响应同时在服务器的磁盘中找到虚拟铜管乐器的页面并返回给发送请求的浏览器,浏览器获取页面之后对其中的HTML和JavaScript、CSS进行解析,并且在浏览器窗口进行显示。
在显示完成之后,虚拟铜管乐器开始正常工作,电脑的键盘按键被按下,操作系统对该事件进行响应,返回键盘按键的键值,浏览器获取到这些信息之后,由从服务器获取的JavaScript脚本文件进行处理对应到铜管乐器按键图片的变化,并生成虚拟铜管乐器对应的音频的http请求,再由浏览器将这些请求发送到服务器,服务器对这些请求进行响应之后再根据请求中提供的路径在磁盘中找到相应的音频文件,在通过网络发送到发送这些请求的浏览器,最后由JavaScript脚本文件调用音频播放的函数,由电脑的扬声器对该音频进行播放。
本说明书中未作详细描述的内容,属于本专业技术人员公知的现有技术。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于虚拟乐器的音乐众筹众创平台,其特征在于:包括用户注册登录模块、基于虚拟乐器的创作模块、作品录制上传模块、版权受理模块、作品展示模块、资质审核模块、交易模块;
所述用户注册登录模块,用以新用户注册,对新用户身份认证信息进行记录,并且提供用户信息的修改、用户登录和退出;
所述基于虚拟乐器的创作模块,以全部基于网络的虚拟乐器作为创作的平台,用户使用虚拟乐器进行在线创作,该模块提供钢琴类网络虚拟乐器、提琴类网络虚拟乐器、网络虚拟架子鼓、网络虚拟口琴、网络虚拟木管乐器、网络虚拟铜管乐器,并且每种乐器都配有相应的使用指南;
所述作品录制上传模块,使用一个在线的录音器作为主体,对用户的创作过程进行全程录音,并且提供试听功能,用户根据对作品的满意程度选择是否上传,并且对要上传的作品进行命名;
所述版权受理模块,对用户上传的作品提供一个唯一的标识,在用户申请并通过审核之后进行版权的授予,并确定本平台对该作品的使用权;
所述作品展示模块,将用户上传的作品在专门的试听版块进行展示,提供试听服务,用户选择相应的作品进行试听;
所述资质审核模块,对发起众筹的创作人以及参与众筹的购买者进行真实身份的验证,并对双方之间的协议进行审核,以确保其合法性;
所述交易模块,提供用户在线购买、下载、支付的功能;通过介入银行以及第三方支付平台的支付接口实现在线交易,并在数据库中记录相应的交易记录,为创作者生成出售记录,为购买者生成购买的记录。
2.根据权利要求1所述的基于虚拟乐器的音乐众筹众创平台,其特征在于:所述钢琴类网络虚拟乐器,包括虚拟钢琴界面、虚拟钢琴琴键映射清单、动态交互模块、音频调用以及播放模块;
所述虚拟钢琴界面,利用图像处理软件设计一个个独立的琴键图片,并通过网页布局的方式将这些独立的琴键图片进行排列拼接,用户根据自己的需要确定琴键的数量,从而构成不同形式的钢琴键盘界面;
所述虚拟钢琴琴键映射清单,用于确定电脑键盘的按键和虚拟钢琴的琴键之间的对应关系;以及确定电脑键盘的按键和虚拟钢琴的不同单音的音频文件之间的对应关系;
所述动态交互模块,是整个乐器和用户之间进行交互的主要部分,通过虚拟钢琴琴键映射清单,将电脑键盘被按下或虚拟钢琴琴键被鼠标点击这一事件映射到虚拟钢琴的某一个或几个琴键被按下,再对相应琴键图片进行切换以实现不同的阴影效果变换,用于模拟真实的钢琴琴键被按下和弹起的过程;
所述音频调用以及播放模块,提前录制真实钢琴琴键被按下时的声音作为音源,将电脑键盘被按下或虚拟钢琴琴键被鼠标点击这一事件映射到虚拟钢琴的某一个或几个琴键被按下,再根据虚拟钢琴的琴键和其发出的单音的对应关系,调用扬声器播放对应音频;
其中,所述虚拟钢琴界面的具体构建步骤如下:
步骤一,钢琴琴键的素材制作
使用Photoshop软件设计钢琴的黑键和白键的图片,其中黑键和白键的图片包含两种,一种是琴键被按下时的效果,有阴影,另一种为琴键未被按下时的效果,无阴影;被按下时的效果是根据实际的钢琴琴键被按下之后的阴影效果,对琴键的图片添加阴影;
步骤二,对琴键的图片进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为mainframe的div标签作为容纳钢琴各个部分的底层容器,并在HTML文档的style标签中通过id选择器设置这个div标签的左边距和上边距,确定其位置;再新建一组ul标签用来作为容纳所有白键和黑键的容器,分别对白键和黑键进行布局:
(1)对钢琴的白键进行布局
在style标签中新建一个白键的CSS类命名为whiteKeyClass,从而确定每一个白键的浮动方式、大小以及白键之间的间距,新建一个名为whiteKeyNormal的CSS类设置其背景图片属性为没有按下时的白键图片,再新建一个名为whiteKeyPressed的CSS类设置其背景图片属性为被按下时的白键图片;使用li、div、a三个标签的组合来表示一个钢琴白键,首先在最外侧新建一个li标签,在这个li标签的内部依次嵌套div和a标签,其中div标签用来作为容纳白键图片的容器,a标签用来实现鼠标点击时琴键被按下的效果;在ul标签中一共需新建n个相同的组合用来表示n个钢琴白键,在这n个组合中li标签的class属性设置为whitKeyClass和whiteKeyNormal,这n个a标签的id属性依次设置为key1~keyn,用来唯一标识每一个白键组合,其中,n取决于具体钢琴白键的数量;
(2)对钢琴的黑键进行布局
在style标签中新建一个黑键的CSS类命名为blackKeyClass,从而确定每一个黑键的浮动方式,以及大小,新建一个名为blackKeyNormal的CSS类设置其背景图片属性为没有按下时的黑键图片,再新建一个名为blackKeyPressed的CSS类设置其背景图片属性为被按下时的黑键图片;使用li、div、a三个标签的组合来表示一个钢琴黑键,首先在最外侧新建一个li标签,在这个li标签的内部依次嵌套div和a标签,其中div标签用来作为容纳黑键图片的容器,a标签用来实现鼠标点击时琴键被按下的效果;在ul标签中一共需新建m个相同的组合用来表示m个钢琴黑键,在这m个组合中li标签的class属性设置为blackKeyClass和blackKeyNormal,这m个a标签的id属性依次设置为keyb1~keybm,用来唯一标识每一个黑键组合,其中,m取决于具体钢琴黑键的数量;
所述动态交互模块的具体实现方式如下:
步骤一,监测用户是否按下电脑键盘按键或者使用鼠标点击虚拟钢琴琴键;
步骤二,如果用户使用鼠标点击了虚拟钢琴琴键,获取被点击的琴键的id;根据虚拟钢琴的琴键和id的对应关系确定对应到哪个琴键;跳到步骤四;
步骤三,如果用户按下电脑键盘按键,获取电脑键盘的键值,根据电脑键盘键值和虚拟钢琴琴键的对应关系确定对应到哪个琴键;具体方式为,新建一个javascript脚本文件,并通过调用JavaScript内部的onkeydown函数监测用户是否按下了电脑键盘上的按键,并且获得键值;
步骤四,通过javascript脚本为虚拟钢琴对应琴键的a标签进行添加或移除琴键被按下和未被按下时的CSS类,实现琴键按下和弹起的效果;
所述音频调用以及播放模块的具体实现方式如下:新建一个控制钢琴音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了电脑键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,使用鼠标点击琴键时通过设置点击的事件监听器确定哪一个琴键被点击,再根据琴键的id和音频文件的对应关系确定到具体的哪一个音频文件应该被播放,最后通过JavaScript内部的play函数对该音频进行播放。
3.根据权利要求1所述的基于虚拟乐器的音乐众筹众创平台,其特征在于:所述提琴类网络虚拟乐器,包括虚拟提琴界面、虚拟提琴映射清单、动态交互模块、音频调用以及播放模块;所述虚拟提琴界面,利用图像处理软件制作提琴的琴身和琴弓的图片,并通过网页布局的方式将独立的琴身和琴弓图片进行拼接组合,从而构成完整的提琴界面;
所述虚拟提琴映射清单,用于确定电脑键盘的按键和虚拟提琴不同单音的音频文件之间的对应关系;
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟提琴映射清单,将电脑键盘被按下这一事件映射到虚拟提琴被拉奏,模拟真实的提琴演奏中琴弓来回拉动,提琴发声的过程;
所述音频调用以及播放模块,提前录制真实提琴演奏时的声音作为音源,通过设定的电脑键盘的按键和虚拟提琴不同单音的音频文件的对应关系,将电脑键盘被按下这一事件映射到虚拟提琴的某一个单音被演奏,再根据提琴的单音和录制的音源的对应关系,调用扬声器播放对应音频;
其中,所述虚拟提琴界面的具体构建步骤如下:
步骤一,琴身、琴弓的素材制作
使用Photoshop软件对真实的提琴图片进行裁剪分别得到琴身和琴弓的图片,再对琴身和琴弓的角度进行调整使其拼接出提琴演奏时的样子;
步骤二,对素材图片进行组合
新建一个HTML文档并在该文档内新建一个id属性设置为mainframe的div标签作为容纳琴身和琴弓的底层容器,在style标签中新建一个名为mainframe的CSS类并且通过改变其宽度、高度、左边距、上边距以及浮动方式来确定名为mainframe的div标签在页面中的位置和大小,设置其背景图片属性为步骤一中制作的琴身图片,然后再新建一个id属性设置为frame2的div标签来容纳琴弓的图片,在style标签中新建一个名为frame2的CSS类并通过改变其宽度、高度、左边距、上边距以及浮动方式来确定名为frame2的div标签在页面中的位置以及大小,最终使琴弓和琴身组合成一个完整的提琴的图片;
所述动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值,根据键值确定哪个按键被按下;
步骤二,在style标签中新建一个CSS动画名为move,分别设置其在0、25%、75%、100%时刻的左边距和上边距来确定调用该动画的元素每个时刻在页面中的位置;再新建一个名为play的CSS类并设置其动画属性为move,设置其动画时间为600ms,并设置过渡方式为平滑过渡;当监测到有电脑按键按下之后通过javascript脚本文件为容纳琴弓的div标签添加play这个CSS类来改变琴弓图片的位置实现演奏的动态效果;
步骤三,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件;
所述音频调用以及播放模块的具体实现方式如下:新建一个控制提琴音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
4.根据权利要求1所述的基于虚拟乐器的音乐众筹众创平台,其特征在于:所述网络虚拟架子鼓,包括虚拟架子鼓界面、虚拟架子鼓映射清单、动态交互模块、音频调用以及播放模块;所述虚拟架子鼓界面,利用图像处理软件制作一个个独立的鼓的图片,每个鼓的图片都包括被打击和未被打击两种效果的图片,并通过网页布局的方式将这些独立的鼓的未被打击效果的图片进行排列拼接,从而构成成套的架子鼓界面;
所述虚拟架子鼓映射清单,用于确定电脑键盘的按键和虚拟架子鼓各部分之间的对应关系,以及电脑键盘的按键和音频文件之间的对应关系;
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟架子鼓映射清单,将电脑键盘被按下这一事件映射到架子鼓的某一个或几个鼓被打击,再通过对被打击的鼓的图片进行切换,利用视觉的暂留效应实现鼓被打击的动画效果,模拟真实的架子鼓被打击并发声的过程;
所述音频调用以及播放模块,提前录制真实架子鼓被打击时的声音作为音源,将电脑键盘被按下这一事件映射到架子鼓的某一个或几个鼓被打击,再根据虚拟架子鼓的鼓和其发出的声音的对应关系,调用扬声器播放对应音频;
其中,所述虚拟架子鼓界面的具体构建步骤如下:
步骤一,架子鼓的素材制作
使用Photoshop软件对真实的架子鼓的鼓的图片进行处理,抓取每一个鼓在被打击时会发生形变的区域,再对抓取到的区域进行复制,形成两个图片,其中一个图片命名为knocked.png,通过模拟真实的架子鼓被打击时的效果对knocked.png图片进行阴影处理,用来表示架子鼓被打击时的效果,另一个图片命名为normal.png,不进行阴影处理,用来表示架子鼓没有被打击时的效果;
步骤二,对虚拟架子鼓的每一个鼓的图片进行布局
新建一个HTML文档,在该文档中新建一个名为mainframe的div标签作为容纳架子鼓的底层容器并将其class属性设置为mainframe,同时在style标签中新建一个名为mainframe的CSS类,通过设置其左边距、上边距和浮动方式来确定名为mainframe的div标签的位置;然后再新建7个div标签依次将id属性设置为drum1-drum7用来容纳架子鼓的七个部分,再通过新建drum1-drum7共7个CSS的id选择器并依次设置其左边距、上边距和浮动方式来确定这7个div标签的位置;最后将架子鼓每一个部分在步骤一中制作好的normal.png图片放置到对应的鼓的位置,组合出架子鼓未被打击时的情形;
所述动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值;
步骤二,根据电脑键盘键值和虚拟架子鼓的对应关系确定对应到哪个鼓;
步骤三,通过javascript脚本文件修改对应的鼓的css样式中的图片路径,即将normal.png改为knocked.png,实现图片的切换,形成该鼓被打击的效果;
步骤四,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件;
所述音频调用以及播放模块的具体实现方式如下:新建一个控制架子鼓音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
5.根据权利要求1所述的基于虚拟乐器的音乐众筹众创平台,其特征在于:所述网络虚拟木管乐器,包括虚拟木管乐器界面、虚拟木管乐器映射清单、动态交互模块、音频调用以及播放模块;
所述虚拟木管乐器界面,利用图像处理软件制作独立的木管乐器图片以及与木管乐器的按指孔同等大小的黑色圆形矢量图,并通过网页布局的方式在吹奏类木管乐器的每个按指孔上覆盖一个黑色圆形矢量图,从而构成完整的木管乐器界面;
所述虚拟木管乐器映射清单,用于确定电脑键盘的按键和虚拟木管乐器不同单音之间的对应关系,以及电脑键盘的按键和虚拟木管乐器不同单音的音频文件之间的对应关系;其中,不同单音对应不同的按指孔;
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟木管乐器映射清单,将电脑键盘被按下这一事件映射到虚拟木管乐器的某一个单音被演奏,进一步映射到虚拟木管乐器的某些按指孔被使用,模拟虚拟木管乐器演奏及发声的过程;
所述音频调用以及播放模块,提前录制真实木管乐器演奏时的声音作为音源,将电脑键盘被按下这一事件映射到虚拟木管乐器的某一个单音被演奏,再根据木管乐器的单音和录制音源的对应关系,调用扬声器播放对应音频;
其中,所述虚拟木管乐器界面的具体构建步骤如下:
步骤一,木管乐器的素材制作
使用Photoshop软件对真实的木管乐器的图片进行裁剪得到一个单独的木管乐器的图片,再制作一个与该木管乐器的按指孔等大小的黑色圆形矢量图;
步骤二,对木管乐器的图片和矢量图进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为main的div标签作为容纳乐器的底层乐器,并在style标签中通过id选择器为id为main的div标签新建一个css样式,通过设置其宽度、高度、左边距、上边距以及浮动方式来确定这个标签的大小和位置,设置其背景图片属性为步骤一中制作的木管乐器的图片,然后再在id属性设置为main的div标签中根据实际需要新建n个div标签依次设置id为dot1-dotN,每一个div标签作为一个黑色矢量图的容器,n表示所要使用的木管乐器的按指孔数量,在style标签中通过id选择器新建n个CSS样式依次命名为dot1-dotN,分别对应dot1-dotN这n个div标签,通过改变这n个CSS样式中的左边距、上边距以及浮动方式将n个与按指孔等大小的黑色矢量图覆盖在木管乐器图片相应的n个按指孔的位置上,由于在木管乐器演奏时,每一个按指孔有被手指覆盖和未被手指覆盖两种状态,所以虚拟木管乐器利用按指孔上黑色矢量图的有无来分别代表按指孔被手指覆盖和未被覆盖两种状态;
所述动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值,根据键值确定哪个按键被按下,再根据电脑键盘的按键和虚拟木管乐器的不同单音之间的对应关系确定对应到哪个单音,进一步对应到哪些按指孔被使用;
步骤二,当监测到有电脑按键按下之后,通过javascript脚本为容纳对应按指孔上的黑色矢量图的div标签的可见性进行修改,实现动态效果;
步骤三,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件;
所述音频调用以及播放模块的具体实现方式如下:新建一个控制木管乐器音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
6.根据权利要求1所述的基于虚拟乐器的音乐众筹众创平台,其特征在于:所述网络虚拟铜管乐器,包括虚拟铜管乐器界面、虚拟铜管乐器映射清单、动态交互模块、音频调用以及播放模块;
所述虚拟铜管乐器界面,利用图像处理软件制作独立的管身和按键的图片,并通过网页布局的方式将独立的管身和按键图片进行拼接组合,从而构成完整的铜管乐器界面;
所述虚拟铜管乐器映射清单,用于确定电脑键盘的按键和虚拟铜管乐器不同单音之间的对应关系,以及电脑键盘的按键和虚拟木管乐器不同单音的音频文件之间的对应关系;其中,不同单音对应不同的虚拟铜管乐器的按键;
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟铜管乐器映射清单,将电脑键盘被按下这一事件映射到虚拟铜管乐器的某一个单音被演奏,进一步映射到虚拟铜管乐器的某些按键被使用,模拟虚拟铜管乐器演奏及发声的过程;
所述音频调用以及播放模块,提前录制真实铜管乐器演奏时的声音作为音源,将电脑键盘被按下这一事件映射到虚拟铜管乐器的某一个单音被演奏,再根据铜管乐器的单音和录制音源的对应关系,调用扬声器播放对应音频。
其中,所述虚拟铜管乐器界面的具体构建步骤如下:
步骤一,管身和按键的素材制作
使用Photoshop软件对真实的铜管乐器在未被演奏时的图片进行处理,裁减掉按键部分后制作成管身图片body.png,仅保留按键部分则制作成未被按下的按键图片up.png;然后用Photoshop将制作好的未被按下的按键图片up.png中按键的键轴部分截短,制作成被按下时的按键图片down.png;
步骤二,对管身和按键的图片进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为main的div标签作为容纳乐器的底层乐器,并在style标签中通过id选择器为id为main的div标签新建一个css样式通过设置其宽度、高度、左边距、上边距以及浮动方式来确定这个标签的大小和位置,并将其背景图片属性设置为body.png;再新建n个div标签依次设置id为key1-keyN,每一个div标签作为一个按键图片的容器,n表示所要使用的铜管乐器的按键数量,在style标签中通过id选择器新建n个css样式依次对应id为div1-divN的标签,并依次设置其宽、高、左边距、上边距和浮动方式来确定这n个div标签的位置和大小,使其和body.png组成一个完整的铜管乐器图片;再新建两个CSS类,其中一个命名为unpressed,将其背景图片属性设置为up.png;另一个命名为pressed,将其背景图片属性设置为down.png。
所述动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值,根据键值确定哪个按键被按下,再根据电脑键盘的按键和虚拟铜管乐器的不同单音之间的对应关系确定对应到哪个单音,进一步对应到虚拟铜管乐器的哪些按键被使用;
步骤二,当监测到有电脑按键按下之后,通过javascript脚本为容纳对应的按键的div标签进行删除unpressed类并添加pressed类操作,实现动态交互效果;
步骤三,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件;
所述音频调用以及播放模块的具体实现方式如下:新建一个控制木管乐器音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
7.根据权利要求1所述的基于虚拟乐器的音乐众筹众创平台,其特征在于:所述网络虚拟口琴,包括虚拟口琴界面、虚拟口琴映射清单、动态交互模块、音频调用以及播放模块;
所述虚拟口琴界面,利用图像处理软件制作口琴的琴架和琴孔的图片,并通过网页布局的方式对口琴琴架和琴孔的图片进行组合、布局,从而构成完整的口琴界面;
所述虚拟口琴映射清单,用于确定电脑键盘的按键和虚拟口琴琴孔之间的对应关系,以及电脑键盘的按键和音频文件的对应关系;
所述动态交互模块,是整个乐器和用户之间进行交互的部分,通过虚拟口琴映射清单,将电脑键盘被按下这一事件映射到虚拟口琴的某一个或几个琴孔被吹奏,再通过对被吹奏的琴孔的图片进行切换,模拟真实的口琴被吹奏并发声的过程;
所述音频调用以及播放模块,提前录制真实口琴吹奏时的声音作为音源,将电脑键盘被按下这一事件映射到虚拟口琴的某一个或几个琴孔被吹奏,再根据虚拟口琴的琴孔和其发出的声音的对应关系,调用扬声器播放对应音频;
其中,所述虚拟口琴界面的具体构建步骤如下:
步骤一,口琴琴架以及琴孔填充素材的制作
使用Photoshop软件对真实的口琴图片进行处理,将口琴的每一个琴孔部分去除,得到一个口琴的框架,然后制作与琴孔等大小的图片,每个琴孔制作两种图片,一种是琴孔被吹奏时的效果,为蓝色,另一种是琴孔未被吹奏时的效果,为绿色;
步骤二,对虚拟口琴的琴架和琴孔进行布局
新建一个HTML文档,在该文档中新建一个id属性设置为mainframe的div标签作为容纳口琴各个部分的底层容器,同时在style标签中新建一个名为mainframe的CSS类,通过设置其左边距、上边距和浮动方式来确定名为mainframe的div标签的位置,再新建另一个id属性设置为frame2的div标签来容纳所有的琴孔,在此标签中再根据实际需要新建n个div标签依次将id属性设置为button1-buttonN,每一个div标签作为一个琴孔图片的容器,n表示所要使用的口琴的琴孔数量,在style标签中新建n个CSS的id选择器依次命名为button1-buttonN生成n个CSS样式,分别对应button1-buttonN这n个div标签,通过改变这n个CSS样式中的左边距、上边距以及浮动方式将代表琴孔未被使用的绿色图片填充到对应琴孔的空白位置;由于每一个琴孔有被吹奏和没有被吹奏两种状态,所以再新建used和unused这2个CSS类分别代表琴孔被吹奏和未被吹奏两种状态;
所述动态交互模块的具体实现方式如下:
步骤一,新建一个javascript脚本文件并通过onkeydown函数监测电脑键盘事件并获取键值;
步骤二,根据电脑键盘键值和虚拟口琴琴孔的对应关系确定对应哪个琴孔被吹奏;
步骤三,通过javascript脚本文件对对应琴孔的div标签进行添加或移除used和unused的CSS类,实现口琴吹奏的效果;
步骤四,根据键盘按键键值和音频文件的对应关系确定播放哪个音频文件;
所述音频调用以及播放模块的具体实现方式如下:新建一个控制口琴音频调用的JavaScript脚本文件,通过调用JavaScript内部的onkeydown函数监测用户是否按下了键盘上的按键,并且获得键值,再根据键值和音频文件的映射关系确定到具体的哪一个音频文件应该被播放,然后再通过JavaScript内部的play函数对该音频进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710534927.7A CN107331377A (zh) | 2017-07-03 | 2017-07-03 | 一种基于虚拟乐器的音乐众筹众创平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710534927.7A CN107331377A (zh) | 2017-07-03 | 2017-07-03 | 一种基于虚拟乐器的音乐众筹众创平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107331377A true CN107331377A (zh) | 2017-11-07 |
Family
ID=60197802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710534927.7A Pending CN107331377A (zh) | 2017-07-03 | 2017-07-03 | 一种基于虚拟乐器的音乐众筹众创平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107331377A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020161557A1 (en) * | 2019-02-08 | 2020-08-13 | Bengani Rishab | System and method to generate and manage a personalised musical tune |
CN113393559A (zh) * | 2021-08-17 | 2021-09-14 | 深圳市信润富联数字科技有限公司 | 动态效果图片生成方法、装置、电子设备和存储介质 |
CN113485559A (zh) * | 2021-07-23 | 2021-10-08 | 王皓 | 基于全景漫游平台的虚拟乐器演奏方法及系统 |
CN115220625A (zh) * | 2022-07-19 | 2022-10-21 | 广州酷狗计算机科技有限公司 | 音频播放方法及装置、电子设备、计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639916A (zh) * | 2008-07-28 | 2010-02-03 | 北京邮电大学 | 一种数字媒体资源注册交易管理系统及其实现方法 |
CN103414787A (zh) * | 2013-08-28 | 2013-11-27 | 北京爱工场文化发展有限公司 | 一种基于云服务的内容公播系统和方法 |
CN104408992A (zh) * | 2014-12-19 | 2015-03-11 | 李荣广 | 电脑模拟乐器演奏同时记录乐谱的方法 |
US20150235276A1 (en) * | 2014-02-14 | 2015-08-20 | Colter McKinley Wilson | Method And System Of Distributing, Advertising, And Fundraising |
US20160098749A1 (en) * | 2014-10-01 | 2016-04-07 | Audiolation, LLC | System and method for media distribution |
CN105657469A (zh) * | 2015-12-30 | 2016-06-08 | 广州华多网络科技有限公司 | 一种基于网络视频直播的在线众筹方法、平台及系统 |
CN105844117A (zh) * | 2016-04-06 | 2016-08-10 | 天津飞跃无限科技有限公司 | 一种基于众筹的音乐版权授权管理平台及其应用 |
CN206003490U (zh) * | 2016-08-31 | 2017-03-08 | 哈尔滨固泰电子有限责任公司 | 电子乐器 |
CN206195901U (zh) * | 2016-11-28 | 2017-05-24 | 安徽工程大学 | 一种基于智能终端的音乐弹奏系统 |
US20170185596A1 (en) * | 2012-07-16 | 2017-06-29 | Gary Spirer | Trigger-based content presentation |
-
2017
- 2017-07-03 CN CN201710534927.7A patent/CN107331377A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639916A (zh) * | 2008-07-28 | 2010-02-03 | 北京邮电大学 | 一种数字媒体资源注册交易管理系统及其实现方法 |
US20170185596A1 (en) * | 2012-07-16 | 2017-06-29 | Gary Spirer | Trigger-based content presentation |
CN103414787A (zh) * | 2013-08-28 | 2013-11-27 | 北京爱工场文化发展有限公司 | 一种基于云服务的内容公播系统和方法 |
US20150235276A1 (en) * | 2014-02-14 | 2015-08-20 | Colter McKinley Wilson | Method And System Of Distributing, Advertising, And Fundraising |
US20160098749A1 (en) * | 2014-10-01 | 2016-04-07 | Audiolation, LLC | System and method for media distribution |
CN104408992A (zh) * | 2014-12-19 | 2015-03-11 | 李荣广 | 电脑模拟乐器演奏同时记录乐谱的方法 |
CN105657469A (zh) * | 2015-12-30 | 2016-06-08 | 广州华多网络科技有限公司 | 一种基于网络视频直播的在线众筹方法、平台及系统 |
CN105844117A (zh) * | 2016-04-06 | 2016-08-10 | 天津飞跃无限科技有限公司 | 一种基于众筹的音乐版权授权管理平台及其应用 |
CN206003490U (zh) * | 2016-08-31 | 2017-03-08 | 哈尔滨固泰电子有限责任公司 | 电子乐器 |
CN206195901U (zh) * | 2016-11-28 | 2017-05-24 | 安徽工程大学 | 一种基于智能终端的音乐弹奏系统 |
Non-Patent Citations (2)
Title |
---|
ADK735: ""Java编程实例模拟钢琴"", 《豆丁网,HTTP://WWW.DOCIN.COM/P-1720754349.HTML》 * |
YRQ110: ""把浏览器变成钢琴!Web Audio API入门"", 《HTTP://WWW.V2EX.COM/T/301147》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020161557A1 (en) * | 2019-02-08 | 2020-08-13 | Bengani Rishab | System and method to generate and manage a personalised musical tune |
CN113485559A (zh) * | 2021-07-23 | 2021-10-08 | 王皓 | 基于全景漫游平台的虚拟乐器演奏方法及系统 |
CN113393559A (zh) * | 2021-08-17 | 2021-09-14 | 深圳市信润富联数字科技有限公司 | 动态效果图片生成方法、装置、电子设备和存储介质 |
CN115220625A (zh) * | 2022-07-19 | 2022-10-21 | 广州酷狗计算机科技有限公司 | 音频播放方法及装置、电子设备、计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khulusi et al. | A survey on visualizations for musical data | |
US20220254324A1 (en) | Auditioning system and method | |
CN107331377A (zh) | 一种基于虚拟乐器的音乐众筹众创平台 | |
CN106233245B (zh) | 用于增强音频、使音频输入相符于音乐音调以及创作用于音频输入的和声音轨的系统和方法 | |
CN104462226B (zh) | 一种基于云技术的网络演唱平台的构建方法 | |
Schubert et al. | Algorithms can mimic human piano performance: the deep blues of music | |
Berweck | It worked yesterday: On (re-) performing electroacoustic music | |
US20240005370A1 (en) | Certification of fan status and corresponding marketplace for digital collectibles | |
CN107329660A (zh) | 一种钢琴类网络虚拟乐器 | |
WO2020015410A1 (zh) | 一种基于区块链向作品演绎者发放奖励的方法及装置 | |
Sanders et al. | Sound sellers: musicians' strategies for marketing to industry gatekeepers | |
JP4360473B1 (ja) | 学習兼広告システム、学習兼広告装置、学習兼広告方法、及びコンピュータプログラム | |
Montauti | Anchors in rough seas: Understanding category spanning as a source of market coordination | |
JP4611649B2 (ja) | Web解析型音楽装置 | |
CN105741009A (zh) | 用于开发事件人工量的收集、追踪、存储和报告的动态方法 | |
CN115936838A (zh) | 一种用于银行柜面实务操作自动测评的系统及方法 | |
Martín et al. | Leadsheetjs: A javascript library for online lead sheet editing | |
CN107205043A (zh) | 一种提琴类网络虚拟乐器 | |
CN113112972A (zh) | 一种钢琴智能陪练系统及方法 | |
Liu et al. | MEDIC: Zero-shot Music Editing with Disentangled Inversion Control | |
Shier et al. | Analysis of drum machine kick and snare sounds | |
Sarroff et al. | Toward a computational model of perceived spaciousness in recorded music | |
KR102490266B1 (ko) | 재능 실연 파일 기반 nft 발행 서버, nft 발행 방법 및 nft 거래 시스템 | |
Onwuegbuna | Production, propagation and consumption of Nigerian popular music | |
Brown | The Freelance Economy of Music Composition for Digital Media in the Twenty-First Century |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171107 |