이것은 첫 번째 게시물입니다. 재생 중에 재생 속도를 변경할 수 있습니까? 자동차 엔진 사운드를 시뮬레이트하고 싶습니다. 첫 번째 단계는 엔진의 RPM에 따라 반복되는 샘플의 속도를 변경하는 것입니다. 웨이브 파일의 속도를 변경하여 파이 오디오 (pyaudio)를 사용하여 전체 샘플의 속도를 높이는 방법을 알고 있지만 속도의 연속적인 변경을 원합니다. resampling (그리고 꽤 오래되었습니다) 또는 pysonic (superold)을 허용하는 scikits.samplerate 패키지를 사용하지 않고 이것이 가능합니까?파이썬 : 재생 중 사운드 속도 변경하기
이것은 내가 지금 무엇을 가지고 :
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