问题标签 [synthesizer]
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.
java - MIDI Java 产生混乱的声音
我一直在一个项目中工作,我需要在 java 中操作 MIDI 文件中的每个乐器。然后我决定从序列中的每个轨道中获取每个 MIDI 事件并将其发送到接收器。之后,线程等待每个滴答声持续的时间,然后在下一个滴答声中再次执行此操作。问题是:乐器的声音以及它们的顺序变得非常混乱。我也尝试单独执行每个轨道,但它仍然一团糟!编码:
java - java中的合成器错误
第一次应用程序工作正常。但是当我第二次单击“语音”按钮时它会出错
这是代码。
我不明白的是首先它工作正常。第二次出错。如何解决这个问题。
audio - 正弦波音乐发生器
我一直在研究试图理解声音和正弦波的工作方式,尤其是和弦。到目前为止,我的理解如下:
每个单独的频率都是一个单独的频率,计算机发生器很容易发出声音。但是,频率为 A 的音符的大和弦如下:
大和弦 = b+T+D+A
我想知道是否有人有办法让电脑合成器播放这个功能,这样我就可以听到结果了;我发现的大多数程序只将 Hz 作为输入,虽然这个函数有一个波长,但它与具有相同波长的简单正弦波不同。
注意:也会将其发布在物理和音乐部分 - 只是想知道您的计算机科学家是否对此有所了解。
java - Java String 通过 MIDI Synthesizer 解析和播放错误
我正在尝试在 Java 中实现莫尔斯播放机制。我让它与字符串一起工作正常,但为了实现停止功能,我试图让它与单个字符一起工作,该字符将一次从驱动程序传递一个。
但是,该程序似乎有点随机停止播放。例如:
“你好”: ... 。.-.. .-.. ---
在“---”之前保持沉默
“呵呵”:…………………………
在第四个 h 的第一个点后静音。
“呜呜”:--- --- --- --- ---
在第四个 o 之后变得沉默。
司机:
播放方法:
c - 使用 SDL 混频器的实时限带脉冲序列合成
我正在尝试使用这种技术实现音频合成器:
https://ccrma.stanford.edu/~stilti/papers/blit.pdf
我正在使用 SDL2_Mixer 库在标准 C 中执行此操作。
这是我的 BLIT 函数实现:
这个想法是按照纸上的说明将其结合起来生成方波。我使用以下配置设置了 SDL2_mixer:
这是我的create_rect
功能。它创建了一个双极脉冲序列,然后整合它的值来生成一个带限的矩形函数。
我的问题是:产生的波很好,但几秒钟后它开始发出噪音。我试图绘制结果,这是它:
任何想法?
编辑:这是双极 BLIT 在集成之前的图:
matlab - Matlab 变量查找表
您好,我一直在创建 Yamaha DX7 合成器的 matlab 脚本。这是为了更好地理解我的合成器(Nord 模块化 G2 与 DX7 模拟器)。DX7 有 32 种不同的算法。此刻我只有第一个
我拥有的代码是以下matlab代码:
下一步是创建一种用于获取生根更改的查找表。我想要的是y = A *sin(2*pi*f*t + phi)
phi 的输入来自查找表。所以对于算法 2,我有更改phif = y2(1,k-1)*fb;
,y2 = l(1,2) * sin (2*pi*r(1,2)*f_b*t+phif)
并且y6(1,k) = l(1,6) * sin (2*pi*r(1,6)*f_b*t(1,k)+0)
。
编辑:我有 6 个正弦输出信号 y1 - y6,我有 6 个信号 phi1 - phi6 的相位输入。我也有混音。
我想从查找表中读出路由。例如算法 7:mix1 = y4 + y5
和phi5 = y6
.
phi5 = y6
存储在查找表中。并从查找表中我需要导入我的变量
但我不知道我该怎么做……</p>
我希望有人能帮助我。
audio - 优化视频内存和系统内存之间的传输
前段时间,我尝试使用 GLSL 在 GPU 上创建重型声音合成器。该合成器能够同时生成超过 256 种以上的非常复杂的声音。在 CPU 上,我做梦也不敢想能得到这样的性能。
(简化解释)为了生成声音,我有一个 NxV 大小的浮点纹理。N = 样本数,V = 声音数。合成着色器为每个纹素生成值。
然后,第二个着色器将所有声音混合到一个 16 位有符号整数 1D 纹理(或声卡所需的任何格式)中。这个最终的纹理使用像素缓冲区尽可能快地复制到系统内存,然后将其发送到声卡。
对于声音,我使用超低延迟的 Windows Core Audio。
我编写了一个 MIDI 接口,以便能够在连接到 PC 的 MIDI 键盘上播放,并且在使用延迟仅为 3 毫秒的英特尔 GPU 时它可以完美运行(N = 132 个样本,这比所需的 15-20 毫秒要好得多N = 600-900 个样本)。但是当使用 NVidia GPU 能够支持更繁重的计算时,延迟要大得多(>35ms N=>1500 个样本)。
我知道原因是当使用 Intel GPU 时,渲染是直接在系统内存上完成的,并且复制该纹理非常快,但是当使用 NVidia GPU 时,渲染是在显存中完成并从显存复制到系统内存是一个瓶颈,即使它只应该传输大约 4KB 的音频数据(这甚至没有接近硬件应该能够达到的 6GB/s)。
有没有办法改善这一点?例如,是否可以让 NVidia GPU 直接渲染到系统内存(以可接受的速度),或者他们在 OpenCL 中谈论的那些著名的共享内存是什么?OpenCL 会改善这一点吗?(我没有使用 OpenCL 的经验)
audio - 如何使用 SoX 库制作机器人或 Dalek 语音?
我想使用 SoX 库将我的声音转换为机器人声音(例如:星际争霸游戏的歌利亚声音)。
我在网上找到了机器人语音的以下序列,但它不会发出机器人语音。
过载 10 回声 0.8 0.8 5 0.7 回声 0.8 0.7 6 0.7 回声 0.8 0.7 10 0.7 回声 0.8 0.7 12 0.7 回声 0.8 0.88 12 0.7 回声 0.8 0.88 30 0.7 回声 0.6 0.6 60 0.7
发出机器人声音需要什么效果?你能告诉我一系列的效果和选项吗?
提前致谢。