我试图根据我的一些地图数据使用beep.js创建一个“生成得分”.我使用新的Beep.Voice作为与特定数据类型相关的注释的占位符(总共7个声音).显示数据时,应播放语音.到目前为止,我正在做一些非常“蛮力”的事情,我希望它更清洁:
// in the data processing function
voice = voices[datavoice]
voice.play()
setTimeout(function(){killVoice(voice)}, 20)
// and the killvoice:
function killVoice(voice) {
voice.pause()
}
我想只是“播放”这个声音,假设它的持续时间为20毫秒(基本上只是在数据上发出哔哔声).我看到声音的持续时间属性,但无法使它们工作.
代码在这里(使用grunt / node / coffeescript):
https://github.com/mgiraldo/inspectorviz/blob/master/app/scripts/main.coffee
到目前为止它是这样的:
解决方法:
忘了我说的一切;)
受到您的询问和Sam的旧拉动请求的启发 – 我刚刚完成了一项大型ADSR推送,其中包括对语音持续时间的支持.所以现在有了最新的Beep.js,快速的“chiptune-y”唧唧声可以这样做:
var voice = new Beep.Voice( '4D♭' )
.setOscillatorType( 'square' )
.setAttackDuration( 0 )
.setDecayDuration( 0 )
.setSustainDuration( 0.002 )
.setReleaseDuration( 0 )
.play()
我甚至在新的Beep.Voice.js文件中包含了一个ADSR ASCII-art diagram,以便于参考.我希望这有帮助!