当前位置: 首页 > 软件库 > 程序开发 > 多媒体处理 >

FluidSynth

midi合成算法
授权协议 LGPL
开发语言 C/C++
所属分类 程序开发、 多媒体处理
软件类型 开源软件
地区 不详
投 递 者 羊新翰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

FluidSynth(原名 iiwu)是一个基于 SoundFont 2 规格的实时软件合成器,采用纯 C 语言开发而成,目前已经被广泛应用。FluidSynth 本身并不提供 GUI(图形用户界面),但由于它拥有强大的 API,所以许多的软件都愿意采用它,乃至嵌入式操作系统和一些手机软件。

特性

  • 跨平台(Windows、Linux、Mac OS 等)
  • 支持 SoundFont 2 音色库
  • 支持 SoundFont 3 音色库(使用 libVorbis 压缩过的 SF2)
  • 采用 SoundFont 2.01 调制器实现了实时效果控制
  • 部分支持 DLS 格式(第一和第二版本)的音色库
  • MIDI 文件播放
  • 可被编译成动态库从而被其他程序调用
  • 内置命令行终端

开发者

  • Tom Moebert(主要开发者)
  • Jean-Jacques Ceresa
  • Marcus Weseloh
  • 一、相关资源链接 相关资源链接 : fluidsynth.org 官方网站 FluidSynth 支持的 MIDI 特性 参数配置 , FluidSettings GitHub 工程地址 最新发布版本地址 用户手册 开发文档 CMake 编译流程 Android 版本编译流程 SoundFont 简介 二、FluidSynth 简介 规范 : FluidSynth 是一款基于 SoundFont

  • fluidsynth修改midi播放的通道为ring 在前面一篇文章中,记录了FluidSynth编译的各种小坑。现在进行一个实践操作。修改midi播放通道为ring fluidsynth中用于播放声音的库由很多,即,audio.driver有很多,默认是oboe的。现在我们希望当midi播放时,选在opensles作为播放驱动。并将其声音,该为ring通道。 查看代码可以知道,opensles的

  • 虚拟环境中的fluidsynth.py文件不完整 在源码中复制fluidsynth.py放入运行脚本文件的同级目录下    

 相关资料
  • 问题内容: 我在网上找到了一个链接,该链接显示了一种算法来生成字符串的所有组合:http : //www.mytechinterviews.com/combinations-of-a- string 算法复制如下。 我不明白的是这行: 如果我删除此行,则该程序显然不再起作用,但是为什么首先需要这样做?我了解递归的想法,在这个想法中,我们改变了初始字符,然后对其余字符进行了递归,但是deleteCh

  • 字段1,为true 字段2,真 字段3,false 字段4,false 字段5,false 结果是: {Field1,Field2,Field3,Field4,Field5} {Field1,Field2,,Field4,Field5} {Field1,Field2,,,Field5} {Field1,Field2,,,} {Field1,Field2,Field3,,Field5} {Field

  • 首先,我对Haskell很陌生,目前我只是在努力准备考试。我有这样的表达式: 为例,得到的是一个错误。因为space运算符的优先级(10)比运算符(9)大,上面的表达式等效于,这是,这是reverse和list之间的组合,没有意义,对吗?我正在努力确保我做对了,我真的没有在互联网上找到类似的东西。

  • 问题内容: 我试图推导一种算法,该算法生成特定大小的所有可能组合,例如一个函数,该函数接受一个chars和size数组作为其参数,并返回一个组合数组。 示例:假设我们有一组字符:Set A = {A,B,C} a)大小2的所有可能组合:(3 ^ 2 = 9) b)大小3的所有可能组合:(3 ^ 3 = 27) 请注意,线对的大小可以大于对等的总大小。例如 如果set包含3个字符,则我们还可以创建大

  • 面试官是做算法服务开发,也就是工程化落地的,但是总感觉他无精打采的样子。全程 35 分钟,能有 33.5 分钟都是让我输出,讲了很多实习项目,但是基本不深入问,点到为止,我就像讲单口相声一样。 Intern: B 站和百度实习项目 & 自己的工作 & 个人收获 Deep Learning: 介绍一下 Transformer 什么是多头注意力机制、在模型推理上有什么优势 并行训练时如何拆分多头注意力

  • 还有两个会应用到2D 上下文中所有绘制操作的属性:globalAlpha 和globalComposition-Operation。其中,globalAlpha 是一个介于0 和1 之间的值(包括0 和1),用于指定所有绘制的透明度。默认值为0。如果所有后续操作都要基于相同的透明度,就可以先把globalAlpha 设置为适当值,然后绘制,最后再把它设置回默认值0。下面来看一个例子。 //绘制红色

  • 作为Mergesort算法的一部分,双向合并被广泛研究。但我有兴趣找出执行N路合并的最佳方法? 比方说,我有N个排序100万整数的文件。我必须将它们合并成1个文件,其中会有那些1亿排序的整数。 请记住,这个问题的用例实际上是基于磁盘的外部排序。因此,在实际场景中也会存在内存限制。因此,一次(99次)合并两个文件的天真方法是行不通的。假设每个阵列只有一个小的内存滑动窗口。 我不确定是否已经有一个标准

  • 我知道合并排序算法的基本概念,但是当涉及到通过递归实现它时,我很难理解它是如何工作的。据我所知,合并排序函数将我们当前的数组分成两半,并使用递归我们一直这样做,直到每边只剩下一个元素。 如果我们的数组是{38、27、43、3、9、82、10},那么我们的递归将从使用子数组(原始数组的左侧)调用自身开始,并每次重复该过程,将数组减半并存储最左侧,直到达到1个元素: 然后在我们的第二个子例程中,我们继