问题标签 [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 投票
2 回答
394 浏览

android - 如何用安卓播放钢琴和弦?

我正在寻找一种演奏和弦的方法(一起 4 个音符),扔音轨。

做这个的最好方式是什么?我考虑从单个采样音符开始,对其应用音高过滤器。有没有更简单的解决方案来做到这一点?

谢谢

0 投票
1 回答
275 浏览

audio - 钢琴声音的跳动和两级衰减

我正在研究数学建模的钢琴合成器。现在我正在使用基于模态的方法,其中声音是由指数衰减的正弦曲线(谐波)的总和形成的。

现在我可以计算正弦曲线的频率(当然要考虑不和谐)。对于初始幅度值,我使用的是从真实钢琴样本中获得的数据,因为它现在更容易。我不关心阶段只是喷射。

我主要关心的是衰减率。为了模拟跳动和两级衰减,我使用了大约相同频率的 2 或 3 个指数(取决于特定音符的弦数)。

对于 3 弦理论的情况,其中一个指数会衰减得更快,两个会以大致相同的速率衰减,但由于频率的微小差异,它们会产生跳动。

该方法在文献中有所描述,但没有给出获得实际值的算法。

目前,我使用自己创建的简单公式,它们根本不基于任何物理,但经过大量试验和错误后产生了不错的声音。

我的问题是:有没有一种方法可以基于更物理的方法来计算这些衰减率?

关键时刻 - 方法应该在合成本身发生之前产生衰减率的值,因此基于构建系统并具有重现此行为的反馈的方法对我不起作用。

0 投票
1 回答
621 浏览

iphone - 在 UIButtons 之间滑动并让它们做出响应

我正在为 iPhone 用 Objective-C 创建一个半钢琴应用程序;它实际上是一个不同布局的 MIDI 控制器,但我仍在设计中。

我用 UIButtons 创建了所有的“键”,我希望能够滑动到它们或从它们滑动到其他 UIButtons。

我之前阅读了所有类似的问题,但我无法使用 touchesMoved,因为如果我没有从 UIButton 拖动手指,它只能从视图中工作。

在此先感谢,代码将不胜感激!

0 投票
4 回答
549 浏览

iphone - 使用 UIButtons 的半钢琴应用程序触摸问题

我正在开发一个具有不同键盘布局的半钢琴应用程序,然后是通常的键盘布局。

我用 UIButtons 手动创建了视图,我的问题是我不知道如何从一个 UIButton 滑动到另一个,我用 addTarget 和 withEvent 选项解决了这个问题,这让我可以访问触摸。

现在,在我添加了这样的目标之后:

(也适用于所有其他键),

我设法使它们可滑动,

outsideOfKey:forEvent:如下:

(也为所有其他键完成)我可以从其他键滑入和滑入,当我将它们留在里面时keyGetsLeft:forEvent:我刚刚使用了相同的语法而没有 else,突出显示的变为 NO。

到这里很容易,但是当我尝试进行多点触控时,我只能滑动其中一个触控点,其他点必须保持在同一位置。

更重要的是,如果我拿开其中一根手指,所有手指都会变得不突出,我知道所有这些的原因,但我不知道如何修复它并使其正常工作。

0 投票
3 回答
238 浏览

piano - 试图对钢琴五线谱/五线谱进行编程。这是它应该看起来的样子吗?

我目前正在编写一个软件应用程序,当按下钢琴键时,它会在五线谱上创建音符。不幸的是,我没有音乐背景,因此很难开始。

有人可以告诉我,如果有人从左到右按下 25 键键盘(15 白色,10 黑色)上的所有白色键,然后从右按下,下面的截图是否代表了工作人员(大约)的样子向左?

我是在正确的轨道上,还是这完全错误?(笔记现在只显示为圆圈 - 我试图正确定位)。

0 投票
1 回答
646 浏览

c# - C# Global Variable

Problem

Hi everyone, I am developing a piano in C#. I have succeeded in creating the piano and it plays fine. However, I want to make use of two timers:

One timer to keep check of how much time the left mouse button was kept down (in Form.cs) and another timer to play the music according to how much time the left mouse button was kept down (this timer is found in MusicNote.cs).

The first timer works as it should and it increases the duration with every tick. The problem is that when I try to pass the global variable duration from Form1 to MusicNote.PlayMusic, the duration value becomes 0 and not the value which was displayed correctly in textBox2.Text.

The same problem occurs when trying to pass bNoteShape from Form1 to MusicNote.

Edit

Thank you all. I have solved the problem.

0 投票
2 回答
175 浏览

c# - 我如何开始一个音调并让它无限期地运行直到我明确停止它?

我正在尝试为我的孩子编写一个钢琴应用程序。我正在做的是在 WinForm 中使用 KeyDown 和 KeyUp 事件。这个想法是在 KeyDown 事件中通过扬声器开始发射频率,然后在 Keyup 事件中停止它。就像在钢琴里一样:)

然而,这是我第一次涉足音频或视频。那么,有没有办法做到这一点?我有更好的方法来做我建议的事情。请注意,我无权访问 midi 或 wav 文件或任何类似文件。因此,我无法开始使用允许我这样做的样本。另请注意,我计划不仅仅使用钢琴频率。

同样,这只是为了让一个孩子玩得开心(他只有 15 个月大:))任何帮助表示赞赏。

0 投票
2 回答
8953 浏览

python - PyQt 中的线程

我正在开发一个软件,它有一个虚拟钢琴,可以由一个 MIDI 键盘控制。我想要做的是我想要一个线程来观察midi输入,并且当有数据到来时应该触发相应的进程(这里播放声音并为键设置动画)。我如何使用 Qt 线程和事件来做到这一点?

0 投票
2 回答
14419 浏览

python - PyQt 中的 QKeyPress 事件

我的软件有问题。在我的钢琴软件中,如果我一直按键盘上的一个键,那么它会为该特定键发出多个重复的相同音调。但实际上我需要一个单一的音调,直到释放那个特定的键。我提供了检测 keyPress 事件并调用相应方法的代码的一部分。那么我应该对我的代码进行哪些更改?

0 投票
3 回答
2306 浏览

android - Android:如何合成钢琴音色?

我尝试使用 SoundPool 中的播放速度合成钢琴声音。我听到声音,但听起来……太丑了。它听起来接近正确的声音频率,但不完全正确。有时听起来比我需要的高(只是一点点),有时又低 - 但听起来很奇怪:)

其中: soundID - 是加载的钢琴 C4 音符。

也许有人可以告诉我如何在 Android 中合成钢琴声音?