抄了个在线吉他谱编辑器

简介: 这个项目其实是去年期末考复习的时候写的,因为实在不想复习所以无聊参照 有谱么 用 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(也就是右边的样式),也算是一个锻炼吧。



相关文章
|
机器学习/深度学习 算法 数据可视化
小白都能看懂!手把手教你使用混淆矩阵分析目标检测
首先给出定义:在机器学习领域,特别是统计分类问题中,混淆矩阵(confusion matrix)是一种特定的表格布局,用于可视化算法的性能,矩阵的每一行代表实际的类别,而每一列代表预测的类别。
3025 0
小白都能看懂!手把手教你使用混淆矩阵分析目标检测
|
开发工具 iOS开发 MacOS
解决VScode文件无法编辑(删除键 换行键失去作用)
解决VScode文件无法编辑(删除键 换行键失去作用)
3837 0
|
应用服务中间件 nginx 前端开发
WebSocket加入心跳包防止自动断开连接
近日,在公司中开发一个使用websocket为前端推送消息的功能时,发现一个问题:就是每隔一段时间如果不传送数据的话,与前段的连接就会自动断开; 刚开始以为是session的原因,因为web session 的默认时间是30分钟;但是通过日志发现断开时间间隔时间远远不到30分钟;认真分析发现不操作间隔恰好为90秒 它就会在自动断开;随恍然大悟;原来是我们的使用nginx 代理,nginx配置了访问超时时间为90s; WebSocket是html5中用来实现长连接的一个协议。
25698 0
|
6月前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
4207 144
|
自然语言处理 语音技术 开发者
吊打中文合成!这款开源语音神器效果炸裂,逼真到离谱!
Spark-TTS 是一个面向中文及多语言文本转语音(TTS)场景的开源项目,旨在帮助开发者快速、简便地生成自然流畅的语音合成结果。它拥有灵活的配置方式和良好的扩展性能,对于需要文本到语音功能的应用场景,如有声读物、播客制作、智能客服、语音助手等,都提供了高可用性和可定制化的方案。凭借对多语种、多音色的支持以及清晰自然的发音质量,Spark-TTS 获得了许多开发者的青睐。
1228 1
|
XML 前端开发 JavaScript
如何制作一个自己的网站?
在今天的互联网时代,网站展示已经是一个很基础的营销工具。不管是企业、还是个人,如何制作一个自己的网站?本文将会提供一个全面的基础制作网页教程,教你如何从零开始制作网页。
1740 0
|
机器学习/深度学习 PyTorch 算法框架/工具
【深度学习】Pytorch Tensor 张量
【1月更文挑战第26天】【深度学习】Pytorch Tensor 张量
|
安全 数据可视化 Java
使用Python可视化并分析数据 大型流行病如何影响金融市场(二)
使用Python可视化并分析数据 大型流行病如何影响金融市场(二)
399 0
使用Python可视化并分析数据 大型流行病如何影响金融市场(二)
|
机器学习/深度学习 PyTorch TensorFlow
【Python机器学习专栏】卷积神经网络(CNN)的原理与应用
【4月更文挑战第30天】本文介绍了卷积神经网络(CNN)的基本原理和结构组成,包括卷积层、激活函数、池化层和全连接层。CNN在图像识别等领域表现出色,其层次结构能逐步提取特征。在Python中,可利用TensorFlow或PyTorch构建CNN模型,示例代码展示了使用TensorFlow Keras API创建简单CNN的过程。CNN作为强大深度学习模型,未来仍有广阔发展空间。
513 0
|
开发框架 JavaScript .NET
阿里云轻量应用服务器可选应用镜像及使用应用镜可搭建应用介绍
很多用户选择轻量应用服务器的原因除了价格要比云服务器ECS更低之外,更重要的是轻量应用服务器有多种应用镜像可选,使用这些应用镜像可以帮助我们快速搭建各种环境。本文为大家介绍一下阿里云轻量应用服务器具体有哪些应用镜像以及使用应用镜可搭建的相关应用介绍。
阿里云轻量应用服务器可选应用镜像及使用应用镜可搭建应用介绍