這是我的第一篇文章。到目前爲止,這個網站一直非常有幫助,但我是一個新手,需要對我的問題作出清晰的解釋,這與Python中音高改變音頻有關。我安裝了當前模塊:numpy,scipy,pygame和scikits「samplerate」api。Python:更改音頻文件的音高
我的目標是拍攝立體聲文件,並以儘可能少的步驟以不同的音高回放。目前,我使用pygame.sndarray將文件加載到數組中,然後使用scikits.samplerate.resample應用採樣率轉換,然後使用pygame將輸出轉換回聲音對象進行播放。問題是垃圾音頻從我的揚聲器中傳出。當然,我錯過了幾個步驟(除了不瞭解數學和音頻)。
謝謝。
import time, numpy, pygame.mixer, pygame.sndarray
from scikits.samplerate import resample
pygame.mixer.init(44100,-16,2,4096)
# choose a file and make a sound object
sound_file = "tone.wav"
sound = pygame.mixer.Sound(sound_file)
# load the sound into an array
snd_array = pygame.sndarray.array(sound)
# resample. args: (target array, ratio, mode), outputs ratio * target array.
# this outputs a bunch of garbage and I don't know why.
snd_resample = resample(snd_array, 1.5, "sinc_fastest")
# take the resampled array, make it an object and stop playing after 2 seconds.
snd_out = pygame.sndarray.make_sound(snd_resample)
snd_out.play()
time.sleep(2)
謝謝,Audiere是我的第一選擇,但是我無法讓_make_沒有錯誤。我對這個東西不太滿意,所以我必須得到我有限的技能才能完成的工作。 – hilmers 2011-12-16 04:35:09
這看起來不錯,它是否適用於python 2.7?它似乎是爲Python 2.2 – 2013-12-21 22:10:42