抄了个在线吉他谱编辑器

简介: 这个项目其实是去年期末考复习的时候写的,因为实在不想复习所以无聊参照 有谱么 用 React 写的一个在线吉他谱编辑器。我还将项目里的和弦组件和歌词组件提取出来放在 npm 上。当时就觉得这个网站很不错,玩过吉他的人都知道每次搜吉他谱的时候总会出现谱子要么是 JPG,要么是 PNG,字体大小不样的问题。虽然问题不是很大,但是就是很难看,而这个网站完美解决了这个问题。

这个项目其实是去年期末考复习的时候写的,因为实在不想复习所以无聊参照 有谱么 用 React 写的一个在线吉他谱编辑器。我还将项目里的和弦组件歌词组件提取出来放在 npm 上。


Github 在这里image.png


当时就觉得这个网站很不错,玩过吉他的人都知道每次搜吉他谱的时候总会出现谱子要么是 JPG,要么是 PNG,字体大小不样的问题。虽然问题不是很大,但是就是很难看,而这个网站完美解决了这个问题。


它的渲染吉他谱的思路其实和 Markdown 以及 LaTex 有点像的。不过我写的在线编辑器可能性能比不上他的,因为每次修改都会重新渲染组件。如果要改进这个方面可能还得看看编译原理才能知道在哪些地方可以提高性能。


和弦组件




Github 在这里

这个和弦组件是用 React 渲染 SVG 来完成的。我稍微看了下“有谱么”的实现,可能他的更人性化一些,而我的可以高度定制。比如可以自定义和弦。

image.png


<Chord chordName="F"/>


歌词组件




Github 在这里

歌词组件只不过是对和弦组件的再次封装,只要将和弦组件做个定位就好了,


image.png


<Lyrics isEmbedChord={true}>
    [F] Good morning!
</Lyrics>


最后




最近想回顾一下这个项目,本来想试试能不能写一个 Webpack Loader 将文字渲染成 HTML 或者 SVG(也就是右边的样式),也算是一个锻炼吧。



相关文章
|
开发工具 iOS开发 MacOS
解决VScode文件无法编辑(删除键 换行键失去作用)
解决VScode文件无法编辑(删除键 换行键失去作用)
3274 0
|
11月前
|
Web App开发 iOS开发 MacOS
如何在浏览器中启用夜间模式?
【10月更文挑战第10天】
|
6月前
|
开发工具 开发者 iOS开发
如果苹果上架审核7个工作日仍无反应如何向苹果官方询问进度和提交反馈-App Store Connect方式和发送邮件询问方式-优雅草卓伊凡
如果苹果上架审核7个工作日仍无反应如何向苹果官方询问进度和提交反馈-App Store Connect方式和发送邮件询问方式-优雅草卓伊凡
1059 2
如果苹果上架审核7个工作日仍无反应如何向苹果官方询问进度和提交反馈-App Store Connect方式和发送邮件询问方式-优雅草卓伊凡
|
监控 搜索推荐 Java
实战:基于Java的实时数据流处理平台
实战:基于Java的实时数据流处理平台
|
机器学习/深度学习 PyTorch 算法框架/工具
【深度学习】Pytorch Tensor 张量
【1月更文挑战第26天】【深度学习】Pytorch Tensor 张量
|
小程序 JavaScript
微信小程序统计图表插件wxcharts的使用汇总
微信小程序统计图表插件wxcharts的使用汇总
1110 0
|
人工智能
不懂乐理,也能扒谱,基于openvpi将mp3转换为midi乐谱(Python3.10)
所谓"扒谱"是指通过听歌或观看演奏视频等方式,逐步分析和还原音乐作品的曲谱或乐谱的过程。它是音乐学习和演奏的一种常见方法,通常由音乐爱好者、乐手或学生使用。 在扒谱的过程中,人们会仔细聆听音乐作品,辨别和记录出各个音符、和弦、节奏等元素,并通过试错和反复推敲来逐渐还原出准确的曲谱或乐谱。这对于那些没有正式乐谱或想学习特定曲目的人来说,是一种有效的方式。 扒谱的目的是为了更好地理解和演奏音乐作品,从中学习技巧、乐曲结构和艺术表达等方面。但不懂乐理的人很难听出音符和音准,本次我们通过openvpi的开源项目some来直接针对mp3文件进行扒谱,将mp3转换为midi文件。
|
前端开发 开发者
前端祖传三件套HTML的常用属性之title
HTML是前端开发的基础知识之一,而title属性是其中一个常用的属性。在HTML中,title属性可以帮助我们为元素添加文本提示,以便用户更好地了解网页内容。本文将介绍title属性的定义、用法以及注意事项,帮助广大前端开发者更好地掌握title属性。
1706 0
|
前端开发 API 网络架构