我正在制作一个ADSR,然后使用ADSR来操作我读过的wav文件。我的问题不是关于这个实际的过程,而是我试图围绕它构建的类结构。我正在尝试将这个过程编写为一个方法,该方法将使用来自音频类wav文件实例和信封类ADSR presets的变量。我想让这两个类成为没有父类的兄弟类,因为父类除了链接这两个子类之外没有任何用途(我也希望我的代码有一个悲惨的背景故事)
如果这是不可能的,那么如何在这里修复我的死拍父类,这样我就可以有一个使用两个子类的变量的方法。我能想到的一种方法是把我所有子类中使用的所有变量都放到父类中,然后让子类继承这些变量,但这看起来很混乱,特别是如果我将这个概念应用到一个更大的项目中,我试图连接30个不同的子类,然后我的父类中有一个巨大的变量列表。有没有更好的办法
import numpy as np
from scipy.io.wavfile import write, read
class Sound:
def __init__(self):
pass
def test_method (self):
# a method that uses variables from both subclasses
class Audio(Sound):
def __init__(self,amplitude,sample_rate):
Sound.__init__(self)
self.amplitude=amplitude
self.sample_rate=sample_rate
class Envelope(Sound):
def __init__(self, atk, dec, sust, rel):
Sound.__init__(self)
self.atk = atk
self.dec = dec
self.sust = sust
self.rel = rel
(Fs1, rawData1) =read('MySine.wav')
mySound1= Audio (rawData1,Fs1)
myEnv1= Envelope([0.1,1.0],[0.2,0.4],[0,0.3],[0.18,0])
目前没有回答
相关问题 更多 >
编程相关推荐