找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1315|回复: 8
打印 上一主题 下一主题
收起左侧

2023年电赛K题 程序一直没有什么思路

[复制链接]
回帖奖励 5 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次(中奖概率 10%)
跳转到指定楼层
楼主
题中(2(3)问中 程序一直没有什么思路求指导
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:592807 发表于 2023-8-4 09:18 | 只看该作者
题?什么题。你发图了吗
回复

使用道具 举报

板凳
ID:584814 发表于 2023-8-4 10:35 | 只看该作者
先考虑前提条件,然后做进一步处理后,再新建一个小目标,完成即搞定 。
回复

使用道具 举报

地板
ID:1087595 发表于 2023-8-4 11:04 | 只看该作者
黄youhui 发表于 2023-8-4 09:18
题?什么题。你发图了吗

设计并制作一个辨音识键的电子琴演奏系统,如图 1 所示,包含:5 个水杯
当作琴键,1 个演奏用的敲击棒,1 个识别控制器,具有拾音、分析识别、显示、
音乐发声等功能。演奏过程中系统根据水杯被敲击时发出的声音识别出琴键(以
与位置标号一致的杯号来标识),由识别控制器发出对应音高(声音频率)的声
音。5 个琴键(杯号)与不同音高间的对应关系由选手自定。

(1)一键启动识别控制器自动演奏简单乐曲(如:起床号、两只老虎等),
时长不超过 15s。
(2)分别敲击放置在 1、3、5 号位置上的 3 个空水杯进行识别学习训练,
然后逐个敲击杯子将杯号显示在识别控制器上,用时≤90s。
K - 2 / 3
(3)在 3 个空水杯(2、4、5 号)中各倒入 50、100、150ml 的水,分别进
行敲击识别学习训练,然后逐个敲击杯子将杯号显示在识别控制器上,用时≤90s。
队员敲击水杯,识别控制器同时发出对应音高的声音。
回复

使用道具 举报

5#
ID:155507 发表于 2023-8-4 11:13 | 只看该作者
辨音识键奏乐系统(K 题)
【高职高专组】
一、 任务
       设计并制作一个辨音识键的电子琴演奏系统,如图 1 所示,包含:5 个水杯当作琴键,1 个演奏用的敲击棒,1 个识别控制器,具有拾音、分析识别、显示、音乐发声等功能。演奏过程中系统根据水杯被敲击时发出的声音识别出琴键(以与位置标号一致的杯号来标识),由识别控制器发出对应音高(声音频率)的声音。5 个琴键(杯号)与不同音高间的对应关系由选手自定。


                    图 1 系统构成示意图

一、 要求
1. 基本要求
(1)一键启动识别控制器自动演奏简单乐曲(如:起床号、两只老虎等),时长不超过 15s。
(2)分别敲击放置在 1、3、5 号位置上的 3 个空水杯进行识别学习训练,然后逐个敲击杯子将杯号显示在识别控制器上,用时≤90s。
(3)在 3 个空水杯(2、4、5 号)中各倒入 50、100、150ml 的水,分别进行敲击识别学习训练,然后逐个敲击杯子将杯号显示在识别控制器上,用时≤90s。队员敲击水杯,识别控制器同时发出对应音高的声音。

2. 发挥部分
(1)在 5 个空水杯中由队员注入不同容量的水,各杯中水容量之差不小于20ml,分别进行敲击识别学习训练,然后逐个敲击杯子将杯号显示在识别控制器上,用时≤120s。队员敲击水杯演奏简单乐曲(如:起床号),由识别控制器发出乐曲声。
(2)在完成发挥部分任务(1)的基础上,再增加 3 个加有不同水量(30、100、150ml)的杯子,按要求打乱 8 个杯子排序后并排放置,从其中敲击识别出打乱排序前的 1~5 号杯子,并在敲击的同时显示其杯号,敲到新增杯子后显示数字 0,总用时≤90s。
(3)其他。

二、 说明
(1)水杯采用外观相同的 8 个容量为 180~220ml 的无柄玻璃杯,由参赛队自备。杯子上不能有任何标记和附加物。测试时杯子随机放置。
(2)敲击棒自选,要求实心无附加装置,棒上标明长度为 3cm 的敲击区范围。测试时统一要求敲击杯子靠近操作队员一侧的上沿。
(3)识别时由队员在 3s 内敲击同一杯子不超过 3 次进行识别。
(4)测试发挥部分之前按要求用白板笔在杯底外部随机标记编号,按编号放置好杯子后启动测试。基本要求部分杯号为位置号,发挥部分杯号为杯底编号。
(5)识别控制器演奏音乐的声强和音色无特殊要求,供电方式无要求。
(6)有时间要求的任务,超时以 0 分计。
(7)注水时可用注射器或量杯计量操作。


K题  电路框图

捕获声音信号,做fft,计算幅值换算距离
应该就是用普通的咪头,灵敏度高。
学习训练时,做ADC并FFT后,获取最高的几条谱线,并计算其比例关系。
识别时,也是ADC后做FFT,计算最高的几条谱线的比例关系,在一定范围内,则为对应的杯子的声音。

K题求助stc32g单片机能用的fft函数

改成STC32G的了,主频30MHz,先发程序,使用说明还没来得及改。
MCU:STC32G12K128,例子使用实验箱9.61验证。
主频:30MHz。
FFT:  256点采样,128点频谱显示,USB-CDC传给STC-ISP里的示波器界面显示频谱。

采样频率最高25.6KHz,下面的程序已按楼主要求用12.8KHz采样,分辨率50Hz。



实验箱9.61-STC32G-256点FFT-CDC-虚拟示波器界面显示.rar

304.17 KB, 下载次数: 5

K题_辨音识键奏乐系统.pdf

173.62 KB, 下载次数: 1

2023竞赛题目列表(高职高专).zip

635.07 KB, 下载次数: 4

回复

使用道具 举报

6#
ID:155507 发表于 2023-8-4 12:09 | 只看该作者
K题:杯子之间的距离和杯子与传感器之间的距离是否有要求?
答:只能用一个传感器,距离无要求。
这样的话,用什么传感器比较好?语音识别应怎样解决?
捕获声音信号,做fft,计算幅值换算距离
应该就是用普通的咪头,灵敏度高。
学习训练时,做ADC并FFT后,获取最高的几条谱线,并计算其比例关系。
识别时,也是ADC后做FFT,计算最高的几条谱线的比例关系,在一定范围内,则为对应的杯子的声音。
   
屠龙刀三的MCU是STC32G12K128,FFT计算都是一样的,差别是没有硬件浮点模块,计算开方多了1ms多点的时间。
K题求助stc32g单片机能用的fft函数

改成STC32G的了,主频30MHz,先发程序,使用说明还没来得及改。
MCU:STC32G12K128,例子使用实验箱9.61验证。
主频:30MHz。
FFT:  256点采样,128点频谱显示,USB-CDC传给STC-ISP里的示波器界面显示频谱。

采样频率最高25.6KHz,下面的程序已按楼主要求用12.8KHz采样,分辨率50Hz。
回复

使用道具 举报

7#
ID:1034262 发表于 2023-8-4 14:25 | 只看该作者
学习训练时,ADC后做FFT,检测幅度最大的几条谱线,计算其比例关系。
识别时,ADC后做FFT,计算幅度最大的几条谱线的比例关系,再跟学习到的进行比较判断。
回复

使用道具 举报

8#
ID:844772 发表于 2023-8-4 14:55 | 只看该作者
在软件设计方面,您可以考虑以下内容来实现辨音识键的电子琴演奏系统:
1,音频处理算法:
开发一个音频处理算法,用于分析拾音装置捕捉到的声音。这个算法可以包括声音信号的预处理、特征提取和识别。预处理阶段可以包括滤波、去噪等处理,以提高信号质量。特征提取阶段可以提取声音的频谱、能量等特征。识别阶段可以使用机器学习算法(如支持向量机、深度学习等)或者模式匹配算法来识别特定的声音模式。
2.数据模型设计:
设计一个数据模型,用于存储和管理不同琴键和音高之间的对应关系。这个模型可以是一个映射表、哈希表或者数据库,将每个琴键的编号与对应的音高进行关联。在识别出琴键编号后,可以通过查询数据模型获取对应的音高。
3.控制逻辑设计:
开发一个控制逻辑,将识别出的琴键编号与对应的音高关联起来。当识别控制器识别出了一个琴键编号后,根据数据模型查找对应的音高。将音高信息发送给音乐发声模块,控制发声设备发出对应音高的声音。
4.用户界面设计:
设计一个用户界面,可以通过显示屏、LED指示灯或者其他方式显示识别出的琴键编号和音高信息。这样用户可以直观地看到当前敲击的琴键对应的音高。

其中的音频处理算法是辨音识键的电子琴演奏系统中非常重要的一部分,它用于分析拾音装置捕捉到的声音并进行识别。下面是一种可能的音频处理算法的概述:
1.预处理:
采集到的声音信号通常包含噪音和其他干扰。预处理阶段可以使用数字滤波器进行滤波,去除不需要的频率成分。可以应用低通滤波器来去除高频噪声,或者使用高通滤波器来去除低频噪声。可以使用自适应滤波器或其他去噪技术来降低环境噪声的影响。
2.特征提取:
从预处理后的声音信号中提取特征,以便进行后续的识别。常见的特征包括短时能量、过零率、频谱特征等。
短时能量指的是在一段时间内的信号能量,用于检测敲击事件的强度。
过零率是信号穿过0点的次数,可以用来检测信号的周期性。
频谱特征可以通过傅里叶变换将信号转换为频域表示,并提取频谱中的特定频率成分。
3.识别:
使用机器学习算法或模式匹配算法对提取的特征进行识别。机器学习算法可以使用支持向量机、深度学习等方法,通过训练模型来进行分类。模式匹配算法可以通过比较提取的特征与预定义的模式进行匹配,找到最佳匹配的琴键编号。需要根据具体的需求和技术条件选择适合的音频处理算法。开源的音频处理库(如Librosa、PyAudio等)和机器学习库(如Scikit-learn、TensorFlow等)可以提供一些常用的算法和工具,帮助实现音频处理和识别功能。
回复

使用道具 举报

9#
ID:1087595 发表于 2023-8-4 15:55 | 只看该作者
angmall 发表于 2023-8-4 12:09
K题:杯子之间的距离和杯子与传感器之间的距离是否有要求?
答:只能用一个传感器,距离无要求。
这样的 ...

谢谢指点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表