当前位置: 首页 > news >正文

电商网站的意义突发 佛山出大事

电商网站的意义,突发 佛山出大事,小程序推广方式,南通五建宏业建设工程有限公司网站文章目录 背景知识teoriapitchytone效果 背景知识 学过初中物理就会知道#xff0c;声音是由空气振动产生的。振动产生波#xff0c;所以声音就是不同振幅和频率的波构成的。振幅决定了声音的响度#xff0c;频率决定了声音的音高。想更进一步了解的可以访问这个网页wavefo… 文章目录 背景知识teoriapitchytone效果 背景知识 学过初中物理就会知道声音是由空气振动产生的。振动产生波所以声音就是不同振幅和频率的波构成的。振幅决定了声音的响度频率决定了声音的音高。想更进一步了解的可以访问这个网页waveforms。 学过一点基础乐理的同学就知道标准音A4的频率是440Hz也就是说每一个音其实是由它的频率决定的。在十二平均律中一个音的八度音及高八度后的音的频率是这个音的两倍。而八度音跨了12个半音所以每个半音平均相差2的1/12次方倍。例如A4音的频率是440Hz那么B4的频率就是4402^(2/12)493.88HzA和B跨两个半音。以此类推A5的频率就是4402880Hz。 我们知道吉他的六根弦分别是E2、A2、D3、G3、B3和E4。这四个音的音高可以根据上述的公示推到出来。那么当我们知道了吉他空弦的频率我们就可以根据音频判断吉他的音高是否准确。但是有什么方法可以根据音名得到频率呢 teoria teoria是一个轻量级且快速的 JavaScript 音乐理论库包括爵士乐和古典音乐。它旨在为音乐软件提供直观的编程界面。通过以下方法获取音频 const E2 teoria.note(E2); const fq E2.fq(); // 82.41Hz const name E2.toString(); // E2解决了吉他空弦频率问题那么当我们拨弦后如何根据录音得到其对应的频率呢 pitchy 我们用到pitchy这个库。这个库可以根据音频计算出频率采用了Philip McLeod 和Geoff Wyvill在文章A Smarter Way to Find Pitch设计的算法。用法如下 startRecord() {const audioContext new window.AudioContext();const analyserNode audioContext.createAnalyser();navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) {// 得到音频流this.audioStream stream;audioContext.createMediaStreamSource(stream).connect(analyserNode);const detector PitchDetector.forFloat32Array(analyserNode.fftSize);const input new Float32Array(detector.inputLength);this.updatePitch(analyserNode, detector, input, audioContext.sampleRate);});},updatePitch(analyserNode, detector, input, sampleRate) {analyserNode.getFloatTimeDomainData(input);// 得到音高频率和清晰度const [pitch, clarity] detector.findPitch(input, sampleRate);// ...// 每200ms检测一次频率setTimeout(() this.updatePitch(analyserNode, detector, input, sampleRate), 200);},得到频率后我们可以设计一个标准判定这个音已经调准了例如持续2s频率与标准频率差值小于2Hz。 updatePitch() {// ... this.delta (this.pitch - this.currentNote.fq()).toFixed(2);if (Math.abs(this.delta) 2) {if (firstCorrectTimeStamp 0) {firstCorrectTimeStamp new Date().getTime();} else {// 进度条this.correctProgress (new Date().getTime() - firstCorrectTimeStamp) / 1000 / 2 * 100;// 判定为已调准if (this.correctProgress 100) {this.correctNoteList.push(this.currentNote);this.stopRecord();return;}}} else {firstCorrectTimeStamp 0;this.correctProgress 0;}// .... }这里我设计了一个时钟样式的进度条如下图当2s时长达到进度100%。 用到了css样式的background的conic-gradient属性可以自行了解下。 如果想再完善下我们还可以在点击某个音时播放这个音的音高。如何实现 tone 这里我使用了tone这个包。Tone.js 是一个网络音频框架用于在浏览器中创建交互式音乐。 Tone.js 的架构旨在让创建基于 Web 的音频应用程序的音乐家和音频程序员都熟悉。由于直接使用默认方式的效果并不是吉他我这边在另一个网站找到了这几个音的mp3音频作为输入代码如下 playPitch(note) {this.sampler new Tone.Sampler({urls: {e2: e2.mp3,a2: a2.mp3,d3: d3.mp3,g3: g3.mp3,b3: b3.mp3,e4: e4.mp3,},baseUrl: IP,}).toDestination();Tone.loaded().then(() {this.sampler.triggerAttackRelease(note.toString(), 1);}); },效果 链接https://hougiser.gitee.io/music-score/ 欢迎沟通
http://wiki.neutronadmin.com/news/23112/

相关文章:

  • 延边北京网站建设用凡科网建设的网站
  • 怎样保证网站的安全网站建设公司销售
  • 做外贸的网站哪个好wordpress插件安装教程视频
  • 个人门户网站备案网站聚合页
  • 湖北省建设银行网站北京 网站设计
  • 承接网站建设广告语成都定制网站建设地址
  • 杭州建站模板制作简单的购物网站设计
  • 丰台区网站建设公司wordpress手动升级插件
  • 电子商务网站建设考试简答题网页视频怎么下载插件
  • 网站首页图片素材长图汕头市住建局
  • 网站 邮件系统建设招标哪里可以免费制作小程序
  • 福建漳州建设局网站去哪里找做网站
  • 常州市城乡建设局网站网站建设的意义与目的
  • 国家高新技术企业补贴多少钱做网站优化两年遇到的SEO常态
  • 菏泽哪家网站设计公司好网络小说写作网站
  • 贵阳企业网站模板自己做网站需要几个软件
  • 做网站费用怎么入账广告公司网站首页设计页面
  • 梅县区建设工程交易中心网站多语言网站一个域名
  • 征婚网站 女 做茶叶生意网站后台不显示验证码
  • 哈尔滨制作网站价格wordpress中修改链接
  • 迁安做网站中的cms润强电网商城
  • zencart网站备份如何精准引流呢
  • 规范网站建设成都网站建设 外包
  • 佛山网站策划哪家专业在盐城做网站的网络公司电话
  • 吉林市做网站哪家好网络营销策略理论有哪些
  • 中国建设网站工程承包分包法怎么创建网站详细流程
  • 网站建设策划书ol阜宁做网站公司
  • 网站游戏入口app首页界面设计
  • 手机端网站动效类怎么做网站这么做301
  • 电子网站游戏网址试玩做家教有什么网站