问题标签 [pitch-shifting]

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 投票
0 回答
249 浏览

objective-c - 如何保存改变音高的音频?

我正在录制声音,然后更改音频的音高并保存。我在录制语音后调用此方法并单击按钮更改音高然后新文件也被创建但无法收听音频生成的音频没有语音可能是什么错误?

}

0 投票
0 回答
169 浏览

javascript - 在 JavaScripting 中对上传的音频进行音高转换后导出缓冲区

我正在为上传的文件开发 JS 音高转换器。

作为我的代码的一部分,我使用了这个来源: https ://github.com/urtzurd/html-audio

现在我被困在出口上。所以我可以上传本地存储的文件,然后进行音高转换,但是我想导出它,但找不到这样做的方法。

我从这里尝试了 recorder.js: https ://github.com/mattdiamond/Recorderjs 但它似乎只适用于现场录制的文件,我想专门导出上传的文件。

这是我的代码。

想听听任何提示。谢谢!

0 投票
0 回答
196 浏览

c# - 多普勒效应音频

如果我理解正确,为了在我的 wav 文件中实现多普勒效应,我必须改变它的频率。在我的 Naudio 库项目中,我实现了一个 Isampleprovider 并可以访问各个样本(浮点数组)。我现在必须做什么才能实现多普勒效应(改变频率?)。谢谢。

0 投票
0 回答
696 浏览

android - Android - 音频:独立改变音高和速度

我一直在寻找这里并找到了这个答案,它来自 2013 年 12 月 4 日,我找不到关于这个主题的任何最新问题/答案,所以这里是......

我在我的应用程序中实现了一个 MediaPlayer,并将其设置为播放用户从他的库中导入的歌曲。

我需要实现两个滑块,它们独立地允许用户更改导入音频的速度和音高。

我查看了一些 MediaPlayer 方法的文档,但我找不到任何有用的东西,除了setPlaybackParams()不幸的是同时改变了速度和音高。

如果可能的话,我会避免使用 NDK,因为我完全没有使用它的经验。

0 投票
1 回答
830 浏览

matlab - 使用 octave / matlab 代码随时间增量/逐渐改变信号的音高

我可以使用重采样来对整个信号进行音调移位,并且我在 这里尝试了相位声码器代码。

我也尝试过repmat 和插值,我研究了fft 和 interp1

如何随着时间的推移逐渐/逐渐改变信号的音高? 我已经包含了原始信号的示例以及我试图让处理后的信号听起来像什么(我使用 Audacity 并使用它们的效果创建了处理过的信号Sliding time scale / pitch shift)但想在 Octave 4.0 中创建这个信号。如果您收听已处理的信号,您可以听到文件的音高逐渐增加,但文件的长度(秒)与原始信号文件相同。

我正在使用类似于 Matlab 的 Octave 4.0

这是可以改变整个信号的音高并在几秒钟内保持原始信号长度相同的代码,但我不确定如何让它随着时间的推移逐渐改变信号的音高。感谢 rayryeng 让我走到这一步。

0 投票
0 回答
144 浏览

java - 无法使用 TarsosDSP 运行 Java 程序 PitchShift

我正在尝试在这里运行 Pitch Shifting 示例:

https://0110.be/posts/Pitch_Shifting_-_Implementation_in_Pure_Java_with_Resampling_and_Time_Stretching

但我无法让它工作。我试着跑

java -jar PitchShift-latest.jar

从命令行,但我收到此错误:

错误:无法找到或加载主类 be.tarsos.dsp.example.PitchShiftingExample

我也不能从 Eclipse 运行它。有什么建议么?

0 投票
0 回答
463 浏览

android - 如何更改音频文件的音高值

我正在 Android 中开发一个应用程序,将所有录制的音频文件由男性语音更改为女性语音。

我找到了通过 MediaPlayer 中的 PlaybackParams 更改音频文件的音高值的解决方案。这是我更改 Pitch 值的代码:

它运行良好,但问题是它仅适用于版本 5 以上的 Android。有谁知道另一种解决方案?

0 投票
2 回答
766 浏览

android - 使用 Superpowered 在 Android 中进行音高转换/时间拉伸

我需要从视频中提取音频并通过使用 seekbar(类似这样的东西)改变音高来实时改变音高。性能需要接近实时。现在至少我需要转换音频(某人.aac音频文件)。我找到了一个 Superpowered 库,但示例没有实现音高转换,并且文档不包含有关它的信息。有人做过吗?或者也许可以帮助我使用另一个库?

我找到了这个例子,现在我正在尝试这样做:

}

这是我的 NDKAudioPlayer 类:

};

0 投票
0 回答
512 浏览

c++ - 如何解调幅度——“海洋”音调移位方法

我正在实施Nicolas Juillerat 和 Beat Hirsbrunner 的 2010 年论文“频域中的低延迟音频音高偏移”中描述的音高偏移方法。到目前为止,我已经实现了大部分算法(如果你很好奇,这里是代码,但对于这个问题应该没关系)。

我被困在第 3.5 节的最后一步:处理调制效果。将 von Hann 窗口应用于分析和综合阶段很简单,但似乎这篇论文缺少一些关于如何计算我应该除以的曲线的细节:

其次,计算当前缩放比例、重叠因子、分析窗口和综合窗口的改变分析窗口的周期;并计算得到的调幅曲线。在逆 DFT 和重叠相加过程之后,得到的时域样本除以计算的幅度调制曲线,以“解调”结果。

该论文提供了一些示例图像,但我无法弄清楚应该如何计算这些曲线。(这个操作应该适合我上面链接的要点的第 119 行左右。)该算法目前在低延迟下听起来比标准相位声码器方法更差,所以看起来这个解调步骤对算法的质量至关重要。

我不知道这个幅度调制来自哪里的数学,所以我不确定我什至从哪里开始弄清楚如何计算曲线。我可以通过算法输入一些正弦波,看看会发生什么,但这些信息基本上已经由图像提供,并不能帮助我找出实际的公式。

那么,有谁知道我如何计算该算法的幅度调制曲线?

0 投票
1 回答
739 浏览

android - 使用 Superpowered Android 的实时音高变换

我在使用 Superpower 时间拉伸功能进行实时音高转换时遇到问题。

我已将此解决方案用于我的目的。问题是我正在对输入缓冲区应用更改,该缓冲区是一个短数组,并在处理缓冲区后返回噪声。

这是相关的代码-

这是 SuperpoweredAndroidAudioIO 的音频处理功能。我已经timeStretch在初始化函数中定义了。我被困在这一点上,需要一些帮助......

谢谢。