将声音导出为 WAV 文件

2024-02-26

我从来没有在 Mma 中过多地使用声音。

I have

t = Sound[List["Violin",SoundNote[-6]]]

我怎样才能导出t作为 .WAV 文件?

当我尝试显而易见的事情时

Export["c:\\test.wav",t]

I get

在这个旧线程中 http://www.mathkb.com/Uwe/Forum.aspx/mathematica/12507/Exporting-Sound#fittsn93l1smcvnetnet萨博克斯说这是不可能的。也许自2007年以来情况有所改善!


我认为还是做不到。 Mathematica 支持创建和修改MIDI http://reference.wolfram.com/mathematica/ref/format/MIDI.html对象,但将声音的生成从 MIDI 留给底层操作系统。目前,您必须导出到 midi,然后使用系统上的 midi 界面或在线服务转换为采样声音格式。

例如(来自文档)

t = Sound[SoundNote[DeleteCases[3 Range[31] Reverse[#], 0] - 48, .1] & /@ 
   Transpose[CellularAutomaton[90, {{1}, 0}, 30]]]
Export["test.mid", t]

上传到http://free-midi-converter.com/Midi/Create http://free-midi-converter.com/Midi/Create给出link http://free-midi-converter.com/Midi/Details/5740.

也可以用以下方式转换TiMidity http://timidity.sourceforge.net/使用以下命令可在所有主要操作系统上使用(假设您已运行上述命令)

Run["timidity test.mid -Ow -o test.wav"]

可以使用以下命令将其导入回 MathematicaImport["test.wav"].

如果需要的话,这种转换可以自动化......


显然VLC 还可以将 midi 转换为 wav https://superuser.com/questions/230831/command-line-midi-to-wav-converter,对于某些专有操作系统来说,这可能是一个更简单的选择!另请参阅给出的选项here https://superuser.com/questions/145424/how-to-convert-from-midi-to-wav.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将声音导出为 WAV 文件 的相关文章

  • Mathematica 表达式开头的非交换乘法和负系数

    在一些非常友善的 stackoverflow 贡献者的帮助下在这篇文章中 https stackoverflow com questions 5023863 redefine noncommutative multiplication in
  • 抽象代数和编程[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我要开始学习抽象代数 群 环等 我有兴趣了解任何编程语言 如果有的话 可以帮助我学习 尝试我在理论上学到
  • 具有断轴和交错颜色条的直方图

    我有这些数据 a b c d e alpha 5 51 0 60 0 12 26 90 76284 53 beta 3 39 0 94 0 17 0 20 0 20 gamma 7 98 3 34 1 41 7 74 28394 93 de
  • 特征向量变换的差异:Mathematica 与 SciPy

    类似的问题之前曾在这里被问过 但似乎没有人回答我的例子 我使用 Mathematica 和 SciPy 计算矩阵 A 的特征值和特征向量 特征值一致 但特征向量则不然 1 最低 特征值 特征向量一致 2 Mathematica 和 SciP
  • 如何在mathematica中应用涉及一百个变量的规则

    我有一个涉及 x1 x2 x100 的表达式 我还有一个列表lst有 100 个元素 如何将规则应用于此表达式以实现如下所示的效果 exp x1 gt lst 1 x2 gt lst 2 x100 gt lst 100 Thanks exp
  • 简化 Mathematica 中的正则表达式

    我最近发现克莱尼代数 http en wikipedia org wiki Kleene algebra用于操作和简化正则表达式 我想知道这是否已内置到 Mathematica 等任何计算软件程序中 如果有一个计算工具来进行大型表达式的并集
  • 将“GatherBy”的转换应用于不同的列表

    I have listA and listB大小相同 我正在做GatherBy on listA 这会重新排列该列表 将相同的重排应用于listB 例如 listA 1 2 3 listB a b c listA1 GatherBy 1 2
  • Mathematica 中的条件数据操作

    我正在努力准备高效数据分析的最佳工具在数学中 我有大约 300 列和 100 000 行 最好的技巧是什么 删除 提取 或简单地 考虑 数据结构的部分 用于绘制例如 我能想到的最棘手的例子之一是 给定一个数据结构 对于第 2 列中的值等于
  • Mathematica“AppendTo”函数问题

    我是 Mathematica 的新手 在向数据表添加列时遇到了重大故障 我在 Vista 中运行 Mathematica 7 我在RFD上花了很多时间才来这里问 我有一个包含三列五行的数据表 mydata 我正在尝试将两个包含五个元素的列表
  • 了解内核-前端通信——为什么我的前端冻结?

    EDIT 只需确认您是否可以重现此内容就会很有用 只需一台计算机即可尝试此操作 无需远程连接 Update似乎其他人无法在 Mac 或 Win7 上重现此问题 因此它要么是 WinXP 特定的 要么是我的机器特定的 此时我要放弃了 最好有一
  • $多个变量的假设

    我想将整个笔记本的变量限制在特定范围内 有没有一种方法可以一次性做到这一点 而无需为每个变量输入不同的 asstitution 行 编辑 我想定义笔记本中所有计算的变量域 谷歌搜索帮助我更好地构建我的需求 全局定义如下 Assumption
  • 从 Mathematica 中的 Web 设置用户代理导入

    当我使用 Mathematica 连接到我的网站时 Import mysite Data 并查看我的 Apache 日志 我看到 99 XXX XXX XXX 22 May 2011 19 36 28 0200 GET HTTP 1 1 2
  • 下标变量

    有没有什么方法可以强制 Mathematica 独立于无下标变量来处理下标变量 进一步来说 比如说 我有以下定义 Subscript b 1 1 2 Subscript b 2 3 4 b Join Subscript b 1 Subscr
  • 调整 Mathematica 中现有 Graphics 对象的样式/属性

    Mathematica 的优势之一是其一致的对象底层表示 因此 要更改绘图的属性而不重做用于生成它的计算 我可以做类似的事情 Replace myplot Graphics x List y List gt Graphics x Flatt
  • Mathematica 中的分类树实现

    我想使用以下方法实现简单的分类树 二元分类 数学 我怎样才能实现二叉树数学 有这样做的符号吗 我想说这取决于你想用数据结构做什么 您可以利用 Mathematica 表达式本身就是树的事实 如果只有叶节点相关 则使用嵌套列表 例如 1 2
  • 了解跟踪*

    再会 当试图理解数学使用标准的评估顺序Trace and TraceScan最近开发的命令及其漂亮的视觉表示thread https stackoverflow com questions 5459735 the clearest way
  • 在 Mathematica 中使用图形进行渐变填充

    我如何使用以下内容创建Rectangle in Graphics Using Polygon 你可以 Graphics EdgeForm Black Polygon 0 0 3 0 3 1 0 1 VertexColors gt White
  • 为什么使用牛顿法的 FindMaximum 会抱怨找不到足够的函数减少?

    首先 这看起来 来自 ContourPlot 是一个相当简单的最大化问题 为什么使用牛顿法的 FindMaximum 会出现问题 其次 如何摆脱警告 第三 如果我无法摆脱这些警告 我如何判断警告是否有意义 即最大化失败 例如 在下面的代码中
  • 将模块定义为 Manipulate 表达式的一部分与在初始化部分中定义有任何性能问题吗?

    我想问是否有人知道任何问题 性能或其他 如果要定义 放置 Manipulate 表达式使用的模块 就在 Manipulate 表达式本身内部 而不是在初始化部分 通常是在哪里完成的 两种方法都有效 但是当涉及到从模块直接访问 Manipul
  • 根据 Mathematica 中的另一个列表值拆分列表

    在 Mathematica 中我有一个点坐标列表 size 50 points Table RandomInteger 0 size RandomInteger 0 size i 1 n 以及这些点所属的聚类索引列表 clusterIndi

随机推荐