问题标签 [piano]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

ios - 在钢琴等触摸事件上同时播放多种媒体

我想在触摸事件上播放媒体。在我的应用程序中有 4 个按钮。当用户使用第一根手指单击第一个按钮时,然后想要开始在按钮 1 上播放音乐 1。立即使用第二根手指点击按钮 2,然后想要开始在按钮 2 上播放音乐 2(用户仍然没有松开他的第一根手指)。立即使用第三根手指点击按钮 3,然后想要开始在按钮 3 上播放音乐 3(用户仍然没有松开他的第一根手指和第二根手指)。我该如何实施?我对此一无所知。请帮我。

我只知道如何使用 AVAudioPlayer 播放音乐。

提前致谢

0 投票
0 回答
264 浏览

c - C语言哔哔的钢琴长度

我正在尝试用 C 语言开发一个带有 Beep 功能的简单钢琴,例如“Beep(261,100);” 但我不知道如何让程序识别这个人拿着钥匙多长时间,所以它会不停地发出哔哔声。我在另一个论坛上看到过这个,但我不知道如何使用它:

在程序结束时:

地图会更好,但我不想实施它。概念是一样的。

0 投票
1 回答
56 浏览

java - 钢琴键——不重叠,现在不显示

注意:我正在使用 jFugue。

这是关键类的一部分:

第一个白键将出现在框架中,但其他白键都没有。我尝试过 JLayeredPane、OverlayLayout、GridLayout 等等。

谁能给我一些帮助?

0 投票
3 回答
741 浏览

java - 区分 MIDI 钢琴输入的按键和释放

我即将为一个学校项目制作一个小程序,该程序应该识别通过 MIDI 钢琴输入演奏的和弦(这只是其中的一部分)。

到目前为止,我已经到了每次按下和每次释放 MIDI 键盘上的一个键时,我都会得到一个类的对象ShortMessage

我的问题:我如何确定按键是否被按下或释放?在每种情况下,按下并释放,静态变量NOTE_OFF包含值 128,变量NOTE_ON包含值 144。

我不明白这应该如何告诉我该键是否已被按下或释放。任何想法?我错过了一个基本的东西吗?

提前致谢。

0 投票
0 回答
57 浏览

matlab - 在带有单个音符的 wav 文件上使用 FFT 的输出,找出音符的频率(确定它)

我的任务是识别由乐器演奏的音符。从我在互联网上读到的内容来看,解决这个问题的一个好方法是 FFT 算法。它接受一个波输入并将其拆分为多个简单的波,当您将它们相加时,它们会为您提供原始波(分解)。这部分很清楚。
我下载了一个 .wav 文件,其中包含我想要识别的钢琴音符 G。我应用了 FFT 算法,显然我得到了一个输出,从这一步我迷路了。
接下来我需要做什么才能识别播放的声音?我知道我必须将此输出转换为以赫兹为单位的频率(因为所有音符都有一个频率,如果我没记错的话,它是唯一的)。我可以这样做:

现在我有一个名为 freq 的向量,它在 fft 的帮助下识别出频率。我怎样才能从这个向量中得到一个音符的频率?

0 投票
3 回答
639 浏览

c# - 遍历列表 C#

我正在玩一些 C#,我正在编写一个钢琴应用程序。

每当用户单击钢琴音符时,我都会将声音的位置 (.wav) 存储到列表中……以下是 button1_MouseDown 方法中的一些代码。

现在,我想遍历循环以一次性播放所有单击的键。我这样做如下(当用户点击播放按钮时)

问题是,每当单击播放按钮时,只会播放最后按下的音符。但是,当我调试时,不知何故,所有音符都会播放。有任何想法吗?

0 投票
0 回答
222 浏览

qt - Qt-如何感应同时按下多个按钮?

我正在使用触摸屏感应板在 QT 中制作虚拟钢琴。我用 Qpushbutton 制作了虚拟钢琴键,所以我必须感觉到同时按下了几个 QPushbuttons。我怎样才能做到这一点?或者有没有更好的主意用 Qt 制作虚拟钢琴?

0 投票
1 回答
4278 浏览

python - 在 python (numpy) 中将 MIDI 文件转录为钢琴卷

以下网页http://www-etud.iro.umontreal.ca/~boulanni/icml2012提到可以在 python 中将 MIDI 文件转换为钢琴卷轴:

以下是论文中评估的 4 个数据集的源文件 (MIDI)(分为训练集、验证集和测试集)。您可以根据 MIDI 文件中的节拍信息,通过移调 C 大调或 C 小调中的每个序列以及每八分音符(JSB 合唱的四分音符)采样帧,从源文件生成钢琴卷轴。或者,还提供了用于 Python 语言的腌制钢琴卷。

他们已经做了几个例子。我想知道怎么做,但我在他们的代码库中找不到任何地方。有没有一种简单的方法可以做到这一点?

所以我知道如何将midi文件转换为按键(在Python中)?我能做到的

这会给我一个类似的模式

但是,我如何转调 C 大调或小调的序列,以及如何每八分音符采样帧?

所以它接缝在上面引用的代码中,他们这样做:

那么我的问题就变成了,我在哪里可以找到这些midi.utils,我如何确保序列以正确的键移调并以正确的速率采样?

0 投票
0 回答
52 浏览

java - 使用 Java 代码设置声音频率

有什么方法可以设置声音文件的频率吗?我正在尝试创建一架钢琴,并且它应该可以正常工作。但是,我错过了一个音符,即 D#,但我无法从互联网上找到任何与我当前使用的音符相匹配的 D# 声音。那么有没有可能使用一个声音文件,然后用代码调高它的频率?

如果这可行,那也很酷,我可以制作八度音阶按钮并从任何八度音程弹钢琴,而不仅仅是从原始音程(在声音文件中使用)。

0 投票
0 回答
469 浏览

c# - 同时播放更多声音c#

我正在使用 c# 创建一个虚拟钢琴键盘,但我对声音有很大的问题。

对于我在电脑键盘上按的每个键,代码如下:

问题是使用这段代码我可以只按一个键(所以也只有一个声音),这是不现实的。我怎么解决这个问题?也许使用线程?如何?

太感谢了!