我有一個聲音文件,它發出嘟嘟聲,我想連續播放幾秒鐘的聲音,以使它聽起來像一個連續的聲音。這裏是我的代碼在PsychoPy中連續播放wav聲音文件
alarm = sound.Sound('alarm.wav', secs = 5)
alarm.play()
但它只播放1秒,這是原始聲音多長時間。請幫忙!
我有一個聲音文件,它發出嘟嘟聲,我想連續播放幾秒鐘的聲音,以使它聽起來像一個連續的聲音。這裏是我的代碼在PsychoPy中連續播放wav聲音文件
alarm = sound.Sound('alarm.wav', secs = 5)
alarm.play()
但它只播放1秒,這是原始聲音多長時間。請幫忙!
我這裏還有一些解決方案:
使用psychopy產生蜂鳴:
alarm = sound.Sound(700, secs=5) # 700Hz beep
當你想要的長度,它是原始文件的倍數,循環播放,儘管這很可能會在每次重複時產生一些點擊(因爲幅度突然跳躍,除非它們完全匹配):
alarm = sound.Sound('alarm.wav', loops=5)
使用音頻編輯器將嘟嘟聲延長到五秒鐘,確保在循環中沒有點擊。如果你有一個固定的持續時間,這可能比(2)更好。
如果您有多個播放長度,例如在條件之間,在實驗過程中的適當時間使用alarm.stop()
。然後將loops
設置爲較高的數字,或者將音頻編輯爲(3)中足夠長的時間,以便您知道它只停留在您的命令上。
持續時間參數(秒)不能像這樣工作。如果alarm.wav
長於5秒,它將只播放前5秒(即我認爲它可以截斷文件,儘管它的主要目的是用於定義指定爲音符的聲音的持續時間,而不是通過外部聲音文件)。但是它不會通過重複播放持續時間較短的文件來自動填充該時段。
您應該使用一些聲音編輯軟件將alarm.wav
的五個實例連接到另一個文件(最簡單的解決方案),或者創建一個循環播放五次(這可能會很棘手,無法輕鬆整合到繪圖循環中毛刺)。