问题标签 [audacity]
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.
windows - 脚本大胆
Audacity 有没有脚本库?
具体来说,我正在寻找一种方法来给它一个长的 mp3 文件podcast.mp3
并将其拆分为每个 10 分钟的文件:podcast0.mp3, podcast1.mp3
等等......
我不想手动执行此操作,因为我想运行通过此脚本收听的所有播客。
一些背景知识:
我听过各种很长的播客(例如 Stackoverflow)。我在我的手机上听这些,它有一个很小的 MP3 播放器,不允许我跳到文件中的任意时间。这个 MP3 播放器有一个讨厌的习惯,就是忘记我在文件中的位置。例如:
- 有时,如果有人在我播放播客时打电话给我,它会从头开始播客。
- 有时我开始工作时会暂停播客,而当我尝试在一天结束时继续播客时,它会重置为曲目的开头。
发生这种情况时,我必须手动快进或快退。这个极小的播放器以 5 倍的速度快进,所以如果我在播客的中间,按住快进按钮可能需要 6 或 7 分钟才能回到原来的位置。我想如果我将长播客分成更短的文件,我可以省去一些烦恼。
fft - 使用 FFT 的同一源的幅度差异
我有一个关于使用 FFT 的问题。使用getBand(int i)
带有Minim的函数,我可以提取特定频率的幅度并对其进行漂亮的映射。效果很好。
然而,这更像是一个好奇的问题。当我查看从使用相同频率两次播放同一首歌曲中提取的值时(因此幅度应该相同),但我得到的值非常不同 - 为什么会这样?
lisp - 如何在奈奎斯特找到声音的平均值/平均值
我正在尝试为 Audacity 编写一个简单的测量插件,它就像用石头砸我的头骨一样有趣。我要做的就是获取一大块音频并找到所有样本的平均值(该块的DC 偏移量),以便我可以将其作为数字呈现给用户,这样我就可以从样本中减去 DC 偏移量用于进一步处理。我知道并理解我想做的数学,但我不明白如何在 Lisp/XLisp/Nyquist/whatever 中做。
据我所知,没有功能可以做到这一点。出于某种原因,该snd-avg
函数实际上并没有像您预期的那样计算声音的平均值。它首先计算绝对值,然后计算平均值,计算平均值,然后计算绝对值。即使有一个单独的snd-abs
功能可以做到这一点。>:(
所以我想我必须自己写?这意味着将声音转换为数组,然后计算其平均值?
(snd-fetch-array sound len step)
从声音中读取顺序的样本数组,当声音终止时返回 FLONUM 数组或 NIL。
(snd-samples sound limit)
将样本转换为 lisp 数组。
而且连平均函数都没有,所以我也得自己算一下?但是数学函数只适用于列表?所以我需要将数组转换为列表吗?
而且对于较长的波形(每个样本 18 个字节),这也会占用大量内存,因此最好将其分块处理并进行累积平均。但我什至不知道如何做未优化的版本。
不,(hp s 0.1)
不会工作,因为:
- 我只想去除 DC,并保持任意低频。0.01 Hz 应该不变地通过,DC 应该被移除。
- 高通滤波器是因果关系,波形的第一个样本保持不变,无论您使用什么拐点频率,都无法测量峰值样本等。
c++ - 修改音频样本缓冲区的音量增益
我想用语音数据增加缓冲区的音量。关键是我正在使用 DirectSound,并且我有一个主缓冲区和一个辅助缓冲区 - 所有流混合都是手动完成的。在语音聊天中,所有参与者都可以有独立的音量级别。我将每个流数据乘以一个值(增益)并将其相加到一个缓冲区。一切正常,但是当我尝试将数据乘以大于 1.0f 的值时 - 我听到一些剪辑或什么。
我试过使用 Audacity 效果压缩器,但这无助于减少奇怪的噪音。
也许我应该以其他方式修改增益?或者只是使用另一种后处理算法?
更新:哇,我刚刚发现了有趣的事情!我在增加音量之前和之后都转储了音频。
这是图片
对不起质量 - 我认为这就是声音应该出现的方式(我自己画了红线)。确实看起来值超出了示例数据类型。但我不明白为什么?我的样本缓冲区是 BYTE,但我只能通过短指针访问它。它已签名,但即使 *ptr 约为 15-20 千,也会发生剪裁。
c++ - 为什么我不能使用 IAudioEndpointVolume::SetMasterVolumeLevelScalar 设置 USB/Firewire 音频接口的主音量
我正在尝试修复一个围绕 portmixer 的 Audacity 错误。输出/输入级别可使用 mac 版本的 portmixer 设置,但并非总是在 windows 中。我正在调试 portmixer 的窗口代码,试图让它在那里工作。
使用 IAudioEndpointVolume::SetMasterVolumeLevelScalar 设置主音量对于板载声音效果很好,但使用专业的外部 USB 或 RME Fireface 400 等火线接口,输出音量不会改变,尽管它反映在该设备的 Window 声音控制面板中,以及在系统混音器中。
此外,在我们的程序之外,更改系统混音器的主滑块(在任务栏中)没有任何效果 - 声卡输出相同(完整)级别,无论系统说它处于什么级别。更改输出级别的唯一方法是使用硬件开发人员随卡提供的定制应用程序。
IAudioEndpointVolume::QueryHardwareSupport 函数返回 ENDPOINT_HARDWARE_SUPPORT_VOLUME 所以它应该能够做到这一点。
许多设备上的输入和输出都存在这种行为。
这可能是Window的错误吗?
可以通过模拟(缩放)输出来解决此问题,但这不是首选,因为它在功能上并不相同 - 最好让音频接口进行缩放(特别是如果它涉及前置放大器,则用于输入)。
merge - How does one programmatically mix multiple audio tracks into one track?
What is the algorithm used by Audacity (or any other audio editing program) to mix separate sound tracks?
ie. what is the process of merging the tracks to a single one when the "Mix and Render" command is used.
c# - 重用 Audacity 源代码
我想问一下,有没有人在自己的程序中成功地复用了 Audacity 的源代码?我正在尝试重用 Audacity 的播放、记录和显示波形功能,但由于它与 wxwidgets 关联,我不知道该怎么做。我在想几个概念: 1.将整个Audacity编译成dll,在我的C#程序中调用。(可以吗?) 2.提取波形播放、记录、显示功能,编译成dll在我的 C# 程序中使用。请指教。谢谢你。
audio-recording - 有什么方法可以录制声音并让它听起来像鹦鹉?
我正在构建一个应用程序,并希望它在“说话”时听起来像一只鹦鹉。关于如何做到这一点的任何想法?是否有任何类型的软件可以做到这一点,比如 Audacity?有什么特殊调制吗?
objective-c - 如何为 Mac OS X 构建 Audacity 应用程序源代码
我从http://code.google.com/p/audacity/downloads/detail?name=audacity-fullsrc-1.3.13-beta.tar.bz2&can=2&q=下载了 audacity 源代码
我必须在 Mac OS X 10.6 和 Xcode 3.2.5 上构建我的应用程序。
我尝试按照 audacitysourceCodeFolder/mac/ 中“compile.txt”文件中的步骤进行操作
但没有成功。
谁能帮我安装这个。因为我需要研究压缩文件的波形生成代码。