2017-02-12 336 views
0

我有一個聲音文件,它發出嘟嘟聲,我想連續播放幾秒鐘的聲音,以使它聽起來像一個連續的聲音。這裏是我的代碼在PsychoPy中連續播放wav聲音文件

alarm = sound.Sound('alarm.wav', secs = 5) 
alarm.play() 

但它只播放1秒,這是原始聲音多長時間。請幫忙!

回答

2

我這裏還有一些解決方案:

  1. 使用psychopy產生蜂鳴:

    alarm = sound.Sound(700, secs=5) # 700Hz beep 
    
  2. 當你想要的長度,它是原始文件的倍數,循環播放,儘管這很可能會在每次重複時產生一些點擊(因爲幅度突然跳躍,除非它們完全匹配):

    alarm = sound.Sound('alarm.wav', loops=5) 
    
  3. 使用音頻編輯器將嘟嘟聲延長到五秒鐘,確保在循環中沒有點擊。如果你有一個固定的持續時間,這可能比(2)更好。

  4. 如果您有多個播放長度,例如在條件之間,在實驗過程中的適當時間使用alarm.stop()。然後將loops設置爲較高的數字,或者將音頻編輯爲(3)中足夠長的時間,以便您知道它只停留在您的命令上。

1

持續時間參數(秒)不能像這樣工作。如果alarm.wav長於5秒,它將只播放前5秒(即我認爲它可以截斷文件,儘管它的主要目的是用於定義指定爲音符的聲音的持續時間,而不是通過外部聲音文件)。但是它不會通過重複播放持續時間較短的文件來自動填充該時段。

您應該使用一些聲音編輯軟件將alarm.wav的五個實例連接到另一個文件(最簡單的解決方案),或者創建一個循環播放五次(這可能會很棘手,無法輕鬆整合到繪圖循環中毛刺)。