标签: pitch-shifting

NAudio音高变换

我正在使用NAudio DLL,我正在寻找音调转换声音的示例代码.

.net audio signal-processing naudio pitch-shifting

11
推荐指数
1
解决办法
3531
查看次数

在AUDIO和音高上播放

一点背景:
人们喜欢游戏.
人们使用互联网.
互联网需要游戏.
游戏使用声音.
HTML5有<audio>.

好的,到目前为止一切都很好.

最近我发现 - 令我惊讶的是 - IE9实际上支持playbackRate.我急切地尝试了一下.更令人惊讶的是,它确实奏效了.我在Chrome中尝试过相同的功能,虽然它有效,但是当我设置它时它却非常光滑0.5.我已经放弃了Firefox,因为它不支持MP3.

继续,这是我的问题:IE和Chrome都会在更改playbackRate时应用音高修正.IE做得很好,Chrome做得很糟糕.无论哪种方式,我都不希望这样,我希望声音改变音高.有了这种力量,我可以删除650个文件,我必须在程序上生成一个备用音高,并且我的项目将拥有更多的自由.哎呀,如果我真的想,我甚至可以在HTML5中创建一个MOD轨道播放器(减去效果频道).

那么,HTML5规范中是否有任何内容允许我关闭音高修正,并且只是播放声音就好像样本已经被挤压在一起挤压了一样?

javascript html5 html5-audio pitch-shifting

10
推荐指数
3
解决办法
1万
查看次数

使用Swift使用AVAudioEngine进行实时转换

我正在使用Swift在OSX上开发音频效果应用程序,我对集成音高效果感兴趣.

我希望能够实时地将音调调高或调高八度.目前我只收到一个干燥的信号.

我不确定这是否可行,并且想知道这是否可能,或者任何人可能有任何帮助或建议.

与该问题相关的当前代码如下:

import Cocoa
import AVFoundation


class ViewController: NSViewController {
       var engine = AVAudioEngine()
       var timePitch = AVAudioUnitTimePitch()


    override func viewDidLoad() {
         timePitch.pitch = 1200

        // Setup engine and node instances
        var mixer = engine.mainMixerNode
        var input = engine.inputNode
        var output = engine.outputNode
        var format = input.inputFormatForBus(0)
        var error:NSError?

       engine.attachNode(timePitch)

       engine.connect(input, to: timePitch, format: format)
       engine.connect(timePitch, to: output, format: format)

      engine.startAndReturnError(&error)

        super.viewDidLoad()
    }

   override var representedObject: AnyObject? {
        didSet {
        // Update the view, if already loaded.
        } …
Run Code Online (Sandbox Code Playgroud)

avfoundation pitch pitch-shifting swift avaudioengine

8
推荐指数
1
解决办法
5205
查看次数

Android:如何移动输出声音的音高(实时)

我是Android开发的新手.我正在寻找任何将音高变换应用于输出声音的方法(实时).但我找不到任何开始的意义.

我找到了这个话题,但我仍然不知道如何应用这个.

有什么建议?

audio android pitch-shifting

7
推荐指数
2
解决办法
1万
查看次数

使用octave/matlab代码逐渐/逐渐改变信号的音高

我可以使用resample调整整个信号,我 在这里尝试了相位声码器代码.

我也试过了repmat和插值,我看了fft和interp1

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

我正在使用Octave 4.0,就像Matlab一样

这里的代码可以改变整个信号的音高,并在几秒钟内保持原始信号的相同长度,但我不知道如何逐渐改变信号的音高.谢谢rayryeng让我这么远.

clear, clc
[ya, fs, nbitsraw] = wavread('/tmp/original_signal.wav');

num_per_sec=2.4; %// Define total number of times we see the signal

%// Get total number of integer times we see the signal
num_whole = floor(num_per_sec);

%// Replicate signal
yb=repmat(ya,num_whole,1);

%// Determine how many samples the partial signal consists of
portion = floor((num_per_sec - num_whole)*length(ya)); …
Run Code Online (Sandbox Code Playgroud)

matlab signal-processing fft octave pitch-shifting

7
推荐指数
1
解决办法
593
查看次数

YouTube 使用什么算法来改变播放速度而不影响音频音调?

YouTube 可以选择更改视频的播放速度,从而加快或减慢视频的音频而不影响其音高。我知道有许多不同的算法可以做到这一点,但我很好奇Youtube 使用哪种特定算法,因为它似乎工作得相当好。

另外,有没有实现这个算法的开源库?

youtube signal-processing audio-player pitch-shifting

7
推荐指数
1
解决办法
3229
查看次数

c#波形文件的俯仰移位

我目前正在尝试使用此算法对波形文件进行音高变换

https://sites.google.com/site/mikescoderama/pitch-shifting

这里我的代码使用上面的实现,但没有运气.输出的wave文件似乎已损坏或无效.

代码非常简单,除了音高变换算法:)

  1. 它加载一个wave文件,它读取wave文件数据并将其放在byte []数组中.
  2. 然后它将字节数据"标准化"为-1.0f到1.0f格式(根据音高移位算法的创建者的要求).
  3. 它应用音高移位算法,然后将规范化数据转换回bytes []数组.
  4. 最后使用原始波形文件的相同标题和音高变换数据保存波形文件.

我错过了什么吗?

        static void Main(string[] args)
    {
        // Read the wave file data bytes

        byte[] waveheader = null;
        byte[] wavedata = null;
        using (BinaryReader reader = new BinaryReader(File.OpenRead("sound.wav")))
        {
            // Read first 44 bytes (header);
            waveheader= reader.ReadBytes(44);

            // Read data
            wavedata = reader.ReadBytes((int)reader.BaseStream.Length - 44);
        }

        short nChannels = BitConverter.ToInt16(waveheader, 22);
        int sampleRate = BitConverter.ToInt32(waveheader, 24);
        short bitRate = BitConverter.ToInt16(waveheader, 34);

        // Normalized data store. Store values in the format -1.0 …
Run Code Online (Sandbox Code Playgroud)

c# audio wav pitch pitch-shifting

6
推荐指数
1
解决办法
4843
查看次数

随着时间的推移javascript音高变换

我是初学者学习javascript.我的网站上有一个与微调频率和行星频率相关的交互式页面,我有各种各样的项目.我需要能够在循环中播放我的音频样本.wav文件,但是音频样本的时间延长与音调的相应变化.

我试过myAudio.playbackRate = 0.5;播放音频0.5慢,但保持音高相同.我研究并找到了一些东西.但是我如何设置preservesPitch为假或真?这只适用于'谷歌Chrome'我认为,所以我找到的其他程序在这里:https:
//github.com/janesconference/KievII/blob/master/dsp/pitchshift.js

似乎无法让它工作,我不知道我应该如何修改它,我在哪里粘贴我的音频.wav文件URL在程序中?任何其他与此相关的提示将非常感激.在此先感谢您的时间和帮助.

javascript audio playback pitch-shifting

6
推荐指数
1
解决办法
7932
查看次数

pydub 支持音调调制吗?

这个旧线程似乎表明 pydubAudioSegment._data可用于以某种方式计算声音的音高;不幸的是,这似乎是使用分配给未公开类的方法来完成的Mpm。然而,也就是说,如果可以从 中提取音高数据AudioSegment._data,那么有没有办法使用 pydubAudioSegment向上或向下移动 的音高?如果没有,是否有另一个 Python 2.7 库可以?

python pitch python-2.7 pitch-shifting pydub

3
推荐指数
1
解决办法
5084
查看次数

如何正确使用pitch_shift(librosa)?

我尝试使用librosa 中的librosa 和pitch_shift。我录制了一些声音并使用了以下代码:

sampling_rate= 44100
y, sr = librosa.load(directory, sr=sampling_rate) # y is a numpy array of the wav file, sr = sample rate

y_shifted = librosa.effects.pitch_shift(y, sr, n_steps=4, bins_per_octave=24)  # shifted by 4 half steps
librosa.output.write_wav(directory, y_shifted, sr=sampling_rate, norm=False)
Run Code Online (Sandbox Code Playgroud)

它工作得很好 - 几乎。

我在新声音中听到一些噪音(在变调之后)

有什么我需要使用的东西吗?

不带平移:

https://vocaroo.com/i/s1qEEDvzcUHN

使用平移(n_steps = 4):

https://vocaroo.com/i/s0cOiC0cFJSB

python audio pitch-shifting librosa

1
推荐指数
1
解决办法
5981
查看次数

如何在 Tone.js 中移动音频缓冲区?

我想在 Javascript 中对音频进行音调,我认为最简单的方法是 Tone.js ( https://tonejs.github.io/docs/r13/PitchShift ),但我的实现没有播放任何声音,但没有错误. 我究竟做错了什么?

HTML(加载音频文件)

<html>
<div id="wrapper">
    <button onclick="loadTheTrack()"></button>
</div>
<script src="Tone.js"></script>
<script src="seebelow.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

Javascript

var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
Tone.setContext(audioCtx);
var audioDatas=[];

function loadTheTrack() {
    var input = document.createElement('input');
    input.type = 'file';
    input.style = "display:none";
    input.onchange = function (e) {
        var file = e.target.files[0];
        console.log(file);
        var reader = new FileReader();
        reader.onload = function () {
            console.log("decoding audio data with" + this.result);
            audioCtx.decodeAudioData(this.result, (decodedData) => {
                // note: …
Run Code Online (Sandbox Code Playgroud)

javascript html5-audio pitch-shifting audiocontext tone.js

0
推荐指数
1
解决办法
1137
查看次数