1
這是我的第一篇文章。播放過程中是否可以改變播放速度?我想模擬汽車發動機的聲音,爲此,第一步是根據發動機的轉速改變環狀樣品的速度。我知道如何通過改變波形文件的速率來增加使用pyaudio的完整樣本的速度,但我想要不斷改變速度。這可能沒有使用scikits.samplerate包,它允許重新採樣(並且是相當古老的)或pysonic,這是超級?Python:在播放過程中改變聲音的速度
這是我的時刻:
import pygame, sys
import numpy as np
import pyaudio
import wave
from pygame.locals import *
import random as rd
import os
import time
pygame.init()
class AudioFile:
chunk = 1024
def __init__(self, file, speed):
""" Init audio stream """
self.wf = wave.open(file, 'rb')
self.speed = speed
self.p = pyaudio.PyAudio()
self.stream = self.p.open(
format = self.p.get_format_from_width(self.wf.getsampwidth()),
channels = 1,
rate = speed,
output = True)
def play(self):
""" Play entire file """
data = self.wf.readframes(self.chunk)
while data != '':
self.stream.write(data)
def close(self):
""" Graceful shutdown """
self.stream.close()
self.p.terminate()
a = AudioFile("wave.wav")
a.play()
是的可能,你是否可以改變速度,你的音高一起改變? – ederwander