问题标签 [synthesis]

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 回答
164 浏览

version - 如何找出您在 tcl 脚本中使用的 Synplify 版本

我喜欢在 Synplify 中启动一个 Tcl 脚本。根据 Synplify 的版本,它应该做不同的事情。但是我怎样才能在脚本中找出 Synplify 的哪个版本呢?有没有变数?

谢谢,凯

0 投票
4 回答
8289 浏览

simulation - 在仿真代码中访问 Verilog genvar 生成的实例

这是一个与 Verilog 相关的问题。我正在使用 XILINX ISE 作为开发环境。

我正在尝试访问使用 genvar 自动生成的模拟中的变量,但我收到以下错误 -> HDLCompiler:71

问题示例:

当我运行综合或仿真时,我可以看到 Sys_Modules[0..N-1].xmod 实例已创建。

当我尝试在访问 Sys_Modules 数组的模拟中添加一行时:

Sys_Modules[i].xmod.dataY

我收到以下错误:

HDLCompiler:71 dataY 未在前缀 xmod 下声明

有没有办法在模拟中访问自动生成的值?

谢谢!

0 投票
3 回答
600 浏览

vhdl - 合成器是否关心一两个进程?

在 VHDL 中编码状态机有两种流行的方法:一个进程或两个进程。有传言(一些大学教授)两个过程可能会产生更好的硬件。有人对此有任何确凿的证据吗?我自己的初步测试表明完全没有区别。

我正在寻找可重复的实验:两种编码风格的 VHDL 代码,以及如何合成它们的细节(哪个工具,哪个参数)。

请帮助我揭穿或确认两个过程导致更好的合成硬件的神话。

0 投票
1 回答
275 浏览

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

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

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

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

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

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

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

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

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

0 投票
3 回答
9386 浏览

hardware - Verilog中的组合硬件乘法

假设我有这样的乘数代码,

这会产生很多门。

应该使用什么更好的方法来实现组合乘法器?

0 投票
1 回答
1787 浏览

java - 如何将 Java midi 连接到其他应用程序

嗨,我正在 Windows 上编程 Java,并且对使用 MIDI 接口非常陌生。

我已经设法让java通过Synthesizer对象播放midi声音,本机通过计算机扬声器但是我希望将midi消息即时发送到单独的合成应用程序,即FLStudio。我想我必须让java接口看起来像一个硬件midi设备,但我不知道怎么做。我也认为这可能与 Transmitter 或 MidiDevice 有关,但我不确定。

有谁知道我将如何开始做这件事。我已经在谷歌上查看了这个,但总是以相同的 2 个文件结束,

http://www.jsresources.org/faq_midi.htmlhttp://www.ibm.com/developerworks/library/it/it-0801art38/

抱歉,如果以前有人问过这个问题,但我找不到。

这是我到目前为止所拥有的。任何帮助将不胜感激。

0 投票
3 回答
8591 浏览

c - 调频合成算法

根据我阅读的内容,我制作了一个用于 FM 声音合成的算法。我不确定我是否做得对。在创建软件合成器乐器时,可以使用一个函数来生成振荡器,并且可以使用调制器来调制该振荡器的频率。我不知道 FM 合成是否应该只用于调制正弦波?

该算法采用仪器波函数和频率调制器的调制器指数和比率。对于每个音符,它获取频率并存储载波和调制器振荡器的相位值。调制器始终使用正弦波。

这是伪代码中的算法:

因此,如果音符的频率为 100Hz,则 FMRatio 设置为 0.5,FMIndex 为 0.1,它应该在 50Hz 周期中产生 95Hz 和 105Hz 之间的频率。这是正确的做法吗。我的测试表明它听起来并不总是正确的,尤其是在调制锯齿波和方波时。可以像这样调制锯齿波和方波还是仅用于正弦波?

这是 C 和 CoreAudio 中的实现:

非常感谢答案。

0 投票
4 回答
15628 浏览

c# - 使用 C# 进行声音合成

是否有可能在 C# 中生成声音?我的意思不仅仅是哔哔声或打开并播放波形文件。我的意思是使用不同类型的波(正弦波、锯齿波等)及其选项(频率、幅度等)构建信号

0 投票
4 回答
2414 浏览

c++ - 连续波形音频合成器

我开始编写一个具有特殊特性的软合成器:振荡器将有一个“连续波形”旋钮,允许用户以连续的方式选择正弦波、方波和锯齿波。也就是说,如果旋钮一直向左,则输出为正弦波,如果在中间,则为锯齿波,如果一直向右,则为方波然后中间位置将输出经典波的“插值”版本的波。-- 旋钮位置和波形类型可以改变,但需要一种连续的方式来改变波形 --

我想到了几种实现振荡器的方法:

  1. 想出一个函数来获取旋钮位置并计算实际信号的频谱(幅度和频率的数组),然后使用一堆正弦函数和一个求和块来实现输出信号。

  2. 类似于 1. 但应用反向傅里叶变换而不是正弦和求和(好的,此时我不确定它们是否实际上是同一件事。)

  3. 为每个可能的旋钮位置生成波形表,并使用波表合成技术生成输出信号。

  4. 从 2 个锯齿波开始(它们包含偶次和奇次谐波),反转一个并将它们相加,然后用旋钮控制每个锯齿波的幅度。波形不会是

我有几个问题:

A. 我读过技术 1 是处理器密集型的,而且不是真正可行的。这是否适用于 ARM 处理器,例如 iPad 上的处理器?

B. 无论我最终选择何种技术,是否可以简单地通过将低通滤波器连接到振荡器的输出端来解决混叠问题?

C. 关于如何实现这种振荡器的任何其他建议?

D. 关于使用哪个 C++ 工具包有什么建议吗?我一直在看 CCRMA 的 STK,但我不知道是否还有其他更合适的库。

祝我好运!;)

编辑:昨晚有人指点我吃饭。贝塞尔曲线是另一个需要考虑的选项。

0 投票
1 回答
1761 浏览

android - 如何将我的应用程序内部存储的读/写权限授予 TextToSpeech/MediaPlayer?

如何将我的应用程序内部存储的读/写权限授予 TextToSpeech/MediaPlayer?

当我尝试将文件存储在应用程序的内部存储中时,TextToSpeech.synthesizeToFile 返回 -1(对于 /data/data/my.mycode.mydata/ 之类的文件夹)

当我允许它时,它适用于 SD 卡。我想我收到错误(返回值 -1),因为 TextToSpeech/MediaPlayer 没有创建内部存储文件的权限。

我该如何提供?可能通过 manifest.xml?