2013-11-26 30 views
0

我想從第一個樣本[0]開始,以最大值(32767)開始以線性方式減少樣本值,最後一個[聲長結束]具有最小可能值(-32767)。爲此,我假設你可以使用格式y = mx + b。由於m = Y2-Y1/X2-X1我有:Jython中聲音的線性減少 - 變量問題

def decreasing(sound): 
    length = getLength(sound) 
    max = 32767.0 
    min= -32767.0 
    for sample in getSamples(sound): 
    setSampleValue(sound, int((((min-max)/(length)) * (index)) + max)) 

時遇到的問題是與在y中的X = mx + b中,X索引我想作爲它是你找到樣本值(y)的x平原上的值。然而,當我運行的代碼,我得到錯誤是:索引 ... 全球名稱因爲我不知道如何定義它。所以基本上我問的是如何使這個數字:http://i.imgur.com/D4znydj.pngx在我的等式。

+0

,請複製粘貼,而不是試圖隱約描述它的誤差和跟蹤。 – abarnert

+2

請停止破壞你自己的帖子。這是不恰當的行爲。通過在網站上發佈內容,您已永久且不可撤銷地授權它。只要你想,你都不能把它拿走。你有特定的理由想要看到它被刪除? – Bart

回答

0

假設getSamples()返回一個列表,你可能想是這樣的:

for index, sample in enumerate(getSamples(sound)): 
    setSampleValue(sample, int((((min-max)/length) * index) + max))