首先你需要“光遇乐谱转js”和“Auto.js”两款软件,软件随后我会发链接。
随后,你可以在光遇乐谱转js上自己写谱子
里面的按键和光遇里的是对应的,很简单
我们来详细解释一下
最上边一栏十分有用,从左数第一个……自己看吧
第二个是调节间隔用的,类似四分音符,八分音符,间隔时间可以自己调节。
第三个是间隔符号,一个*代表100(毫秒),这个不能自己调,但是你可以多点几个。
第四个和右下角的,都能试听你输入的音符。
最后的三个点用处多多练习模式能模拟在光遇弹琴的场景
就想这样
关键是你在退出的时候能保存乐谱
系统会记录你弹的每一个音,然后转化为文本复制到剪切板,你必须手动复制到软件里
这样你可以身临其境制作乐谱了,更加方便,但你需要如上图所示,复制到软件里,才能修改弹错的音,并保存
先运用MP3转MIDI工具“WaveToMidi”等,再用MidiNotate Musician、 eyesong、乐音、简谱制作大师等MIDI转成五线谱或简谱。具体步骤:
一、下载安装软件
从网站搜索下载相关软件,在电脑中进行安装
二、转换乐谱:
1、运行MP3转MIDI工具把MP3等格式的音乐转换成MIDI格式
2、运行转谱软件MidiNotate Musician、 eyesong、乐音、简谱制作大师等把MIDI格式的文件转换成乐谱。
jquery.downCount.js是依赖于jQuery的插件(效果:倒计时),所以我们需要查看该插件的源码才能将其变成源生代码。
html代码:
<div class="p1"><span class="days"></span><span class="days_ref"></span>
<span class="hours"></span><span class="hours_ref"></span>
<span class="minutes"></span><span class="minutes_ref"></span>
<span class="seconds"></span><span class="seconds_ref"></span>
</div>
上面span中的class类是用于显示需要的类,在插件中days、hours、minutes、seconds分别用于显示天数、小时、分钟、秒,days_ref、hours_ref、minutes_ref、seconds_ref分别用于显示单位days或day,hours或hour、minutes或minute、seconds或second。这些类都没有定义相应的样式,需要自己自定义样式。
js代码,只是简易的提了出来,如果需要更灵活的配置,自己再做进一步封装:
(function () {var container = document.querySelector(".p1")
var mydate = '1/27/2019 00:00:00',
myoffset = 10,
callback = function () {
alert("执行完毕")
}
/**
* Change client's local date to match offset timezone
* @return {Object} Fixed Date object.
*/
var currentDate = function () {
// get client's current date
var date = new Date()
// turn date to utc
var utc = date.getTime() + (date.getTimezoneOffset() * 60000)
// set new Date object
var new_date = new Date(utc + (3600000*myoffset))
return new_date
}
/**
* Main downCount function that calculates everything
*/
function countdown () {
var target_date = new Date(mydate), // set target date
current_date = currentDate() // get fixed current date
// difference of dates
var difference = target_date - current_date
// if difference is negative than it's pass the target date
if (difference < 0) {
// stop timer
clearInterval(interval)
if (callback && typeof callback === 'function') {
callback()
}
return
}
// basic math variables
var _second = 1000,
_minute = _second * 60,
_hour = _minute * 60,
_day = _hour * 24
// calculate dates
var days = Math.floor(difference / _day),
hours = Math.floor((difference % _day) / _hour),
minutes = Math.floor((difference % _hour) / _minute),
seconds = Math.floor((difference % _minute) / _second),
// fix dates so that it will show two digets
days = (String(days).length >= 2) ? days : '0' + days,
hours = (String(hours).length >= 2) ? hours : '0' + hours,
minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes,
seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds
// based on the date change the refrence wording
var ref_days = (days === 1) ? 'day' : 'days',
ref_hours = (hours === 1) ? 'hour' : 'hours',
ref_minutes = (minutes === 1) ? 'minute' : 'minutes',
ref_seconds = (seconds === 1) ? 'second' : 'seconds'
// set to DOM
document.querySelector('.days').innerHTML = days
document.querySelector('.hours').innerHTML = hours
document.querySelector('.minutes').innerHTML = minutes
document.querySelector('.seconds').innerHTML = seconds
document.querySelector('.days_ref').innerHTML = ref_days
document.querySelector('.hours_ref').innerHTML = ref_hours
document.querySelector('.minutes_ref').innerHTML = ref_minutes
document.querySelector('.seconds_ref').innerHTML = ref_seconds
}
// start
var interval = setInterval(countdown, 1000)
})()