如何在Python中存储声音?

时间:2018-07-08 13:28:32

标签: python python-3.x audio pygame pyaudio

我正在尝试制作一个打击垫。我已经对此进行了编程,以使其在按 a 时产生踢动,而在按 s 时产生军鼓。如果我通过按a-s-a-s进行基本拍子,是否可以保存声音?

import pygame

pygame.init()


screen = pygame.display.set_mode((800,800))
while True:
    screen.fill((255,255,255))
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a:
                pygame.mixer.music.load('Kick1.mp3')
                pygame.mixer.music.play()
            if event.key == pygame.K_s:
                pygame.mixer.music.load('Snare1.mp3')
                pygame.mixer.music.play()
            if event.key == pygame.K_w:
                pygame.quit()
                quit()
    pygame.display.update()


pygame.display.set_caption('Beat pad')

1 个答案:

答案 0 :(得分:0)

这是我用来读取和写入声音的代码:

f = open ('Kick1.mp3', 'rb')
file = f.read()
f.close()

f = open ('Snare1.mp3', 'rb')
file1 = f.read()


x = open ('Kick3.mp3', 'ab')
x.write(file)
x.write(file1)

由于它是mp3文件,因此无法像文本文件一样读取,也无法像文本文件一样附加/写入。应该使用'rb'将其读取为二进制文件,并使用'ab'将其附加为二进制文件

在这里,两个不同文件的声音,即..Kick1.mp3和Snare1.mp3将作为一种声音存储在文件“ Kick3.mp3”中(因为我要添加而不是对其进行写入)。 Kick3.mp3不会退出,因此将由python创建,声音将存储在其中。