关于“八音盒自定义弹奏”的一些想法
印象中的八音盒,就是那种手动或发条驱动来反复播放一段固定旋律的小玩意,金属条发出的声音空灵悦耳,与电子喇叭的音乐质感截然不同。这几天在刷淘宝时,刷到八音盒的视频,突发奇想,是否能够让八音盒能够自由定义播放内容呢,而不是一直重复听腻的旋律?如果能做到,就能让这些悦耳的音条充分展现它的长处,播放你所下发的任何音乐。
当然,如果要实现,必须要有几个前提要满足:
1,结构不能太复杂,否则光是制作费用和故障维护就失去实现的意义。
2,体积不能太大,单手能够握住。八音盒的用途,一般作为茶余饭后的消遣而言。如果不能方便随身携带,那还不如在家听着高音质的音响。
3,总成本必须控制在100RMB以内。当前的八音盒售价可低至不到10块,电子琴也就两三百块。更何况八音盒的音域很窄,音阶一般是18~30之间,目前淘宝上售卖大都18音或30音阶。若售价超过电子琴,应该不会有太多人选择它。
经过国庆节一周的冥思苦想,想到了几个方案,但要满足上面的3个条件,没有一个合格。虽然方案不合格,但我还是觉得值得写一写,也许以后用得上。
方案1:导轨编程法
顾名思义,就是一边设置音槌,一边滚动拨动音梳。画了张示意图,如下所示。
开始播放音盒时,微型导轨横向依次拨动音槌开关。音槌开关打开后,则会将音槌下压固定;开关关闭时,固定解除,音槌上弹。随着盘面的转动,旋转到右侧,将拨动音梳;而导轨同样对各列音槌阵列完成编程。
这个方案的优点是结构不算复杂,成本比较乐观;
但缺点却是致命的:导轨编程过程太过耗时,除非用高性能的电机,但又导致高成本;另外多个马达运转带来的噪音也是比较难控制的
方案2: 电磁控制法
中学课本讲过电磁效应,电流产生磁场,导电线圈可以磁化,再转成动能。
所以很容易想到这种电信号控制物理开关的模型。但这里有个问题,磁化的作用力与线圈匝数、磁极距离等息息相关。如果要拨动音梳,初步估计线圈匝数至少要数百;而音梳有多少音条,就要有多少个线圈。显然,这种直接拨弦的思路是不行的。
本来,按照电磁思路,我也想过几种构造。但我无意间,百度发现有人已经实现了。经过我的研究,别人的方案比我想的更好,而且已经申请专利(具体见 官方产品介绍_哔哩哔哩_bilibili)。所以,我就不打算画出我的设计了。
就以这种已经实现的电磁控制方案为例,优点是体积做得较小,并且是真正的并行实时控制,音符同步,音乐节奏紧凑;缺点则是工艺要求较高,紧凑代价就是零部件定制要求较高,一个字:贵。
其他方案
上面提到的两种方案,要么功能实现打折扣,要么成本太高。如果要同时满足文章开头提到的几个条件,就必须另寻他路,必须引入全新的方案才有可能性。问题的核心就在于如何用廉价的方法实现机械阵列开关的电信号控制。
我想过一些方法:
1)用热变形控制,电转成热能是比较直接的,不需要太复杂的结构设计,只是聚热和散热都需要时间,而音符节奏是很快的。
2)压电效应。采用压电陶瓷片的原理,将电信号转成超声波振动。但似乎没法控制音梳上音条发声。所以也没用
写到最后
以我个人微薄的智慧,实在是想不出可用的方案了。以上就是一些粗浅不成熟的见解,权且为抛砖引玉。
如有新的见解,欢迎大家在评论区提出。
关于“八音盒自定义弹奏”的一些想法相关推荐
- mock测试使用断言_使用自定义断言丰富测试代码
mock测试使用断言 受GeeCON会议期间@tkaczanowski演讲的启发,我决定仔细研究AssertJ库的自定义断言. 在我的"骰子"游戏中,我创建了一个"机会& ...
- 使用自定义断言丰富测试代码
受GeeCON会议期间@tkaczanowski演讲的启发,我决定仔细研究AssertJ库的自定义断言. 在我的"骰子"游戏中,我创建了一个"机会",它是骰子的 ...
- android 滚动条自定义样式,IScroll的使用-方向键绑定自定义滚动条样式
之前在webkit上开发一个滚动控件,需要完成的是一段文字,上下键可以滚动,且自定义滚动条.第一想法就是浏览器原生overflow:scroll,且webkit支持自定义滚动条样式: webkit自定 ...
- RSS应用现状以及我的一些想法
RSS应用现状以及我的一些想法 在这封邮件中,我将涉及如下内容: •RSS实例列举 •RSS入门进阶 •我们可以做什么以及解决方案 [正文] 一.RSS实例列举 在介绍RSS概念之前我想先列举一些比较 ...
- 自定义的串口通信协议
自定义的通信协议 自定义一主多从串口通讯_1 硬件基础 两个从机的 Tx 是相互连接的,导致一个从机在需要发送数据时发不出去了 协议思路 数据包封装和解封装 树莓派python串口的使用注意 更改树莓 ...
- Liferay7 BPM门户开发之11: Activiti工作流程开发的一些统一规则和实现原理(完整版)...
注意:以下规则是我为了规范流程的处理过程,不是Activiti公司的官方规定. 1.流程启动需要设置启动者,在Demo程序中,"启动者变量"名统一设置为initUserId 启动时 ...
- php编写函数6,编写自己的PHP扩展函数
php程序写的时间长了,自然对他所提供的功能了如指掌,他所提供的一大堆功能,真是觉得很好用,但有时候会发现php也缺少一些功能,自己总是会产生为php添加一些自定义的功能的想法.久而久之,终于今天憋不 ...
- acer清理工具 clear下载_放下偏见,这些国内大厂出品的工具资源,免费又良心!...
好用的工具不少,免费又好用的却不会有太多,毕竟软件的开发需要耗费大量的成本和精力,后期更新维护也是个大工程.所以大家都会觉得,国内大厂做不出什么好用又免费的产品. 今天荔枝君给大家介绍几个大厂旗下好用 ...
- k8s kubebuilder系列开发 — 理解和剖析 Kubebuilder
原文转自:微信公众号云原生CTO 欢迎阅读 Kubernetes Operator Dev的 N 部分系列的第二部分. 如果你想从理论上了解operator是什么以及它们是如何工作的,请参阅第一部分. ...
- php 离线 gis,在 Web 页面中使用离线地图
1. 所需工具&插件: 1. MapDownloader (提取码: spx6) 2. 操作: 1. 参考:java离线地图web GIS制作 下载好所需地图瓦片,本文以百度地图/深圳为例 2 ...
最新文章
- Bzoj 3680 吊打xxx【[模拟退火】
- 有了 serverless,前端也可以快速开发一个 Puppeteer 网页截图服务
- 内网通 去广告_新高一攻略|让我们一起跟升学e网通名师看看如何学好高中化学...
- MS SQL 排序规则总结
- 统计、可视化两不误,多达19种可视化技能你一定要掌握~~
- ISA Server 2004 0x80004005错误
- python怎么播放mp3_python上播放mp3歌曲
- 灾备中心服务器辐射,数据中心和灾备中心的相同点以及不同点
- DataGradView操作之,列头右键菜单隐藏和显示字段功能
- [转]HttpWatch工具简介及使用技巧
- MFC双缓冲解决图象闪烁
- linux 笔记本 显卡驱动下载地址,AMD Radeon HD系列Linux显卡驱动13.9版下载
- MATLAB-数据插值
- SQL sever 查询及格率
- Django中关于URL配置文件urls.py的理解
- 截取某个字符串之前的字符
- Teranex AV标准转换器
- Python nbs***bsp; 乱码
- signature=cfd49330e04062ab770d7ddb4cfcf23a,Przed pierwszym rozbiorem Polski
- 明远智睿5G工业网关 5G物联网人工智能