Audio en Python

Moderators: jkien, Xilvo

Gebruikersavatar
Berichten: 7.463

Re: Audio en Python

SuperCollider heeft ook genoeg mogelijkheden tot experimenteren. Kijk maar:


Gebruikersavatar
Berichten: 2.318

Re: Audio en Python

Professor Puntje schreef: za 20 nov 2021, 11:04 Helaas - dat werkt ook niet.
Bij mij werkt deze wel in Spyder.
En dan hoef je dus geen file aan te maken en kan je rechtstreeks afspelen. Heb ooit zelf in python eens een filter gemaakt met discrete Fourier transformaties. Om echt muziek te componeren zullen er betere opties zijn.

Code: Selecteer alles

import pyaudio
import numpy as np
import math
import struct

FS = 44100  #  frames per second, samples per second or sample rate

def play_sound(type, frequency, volume, duration):

   generate_sound(type, frequency, volume, duration)

def generate_sound(type, frequency, volume, duration):

    outbuf = np.random.normal(loc=0, scale=1, size=int(float(duration / 1000.0)*FS))

    if type == "sine":
        dur = int(FS * float(duration / 1000.0))
        theta = 0.0
        incr_theta = frequency * 2 * math.pi / FS # frequency increment normalized for sample rate
        for i in range(dur):
            outbuf[i] = volume * math.sin(theta)
            theta += incr_theta

    p = pyaudio.PyAudio()
    stream = p.open(format=pyaudio.paFloat32, channels=1, rate=FS, output=True)
    data = b''.join(struct.pack('f', samp) for samp in outbuf) # must pack the binary data
    stream.write(data)
    stream.stop_stream()
    stream.close()
    p.terminate()

play_sound("sine", 220, 0.8, 1000)  #  duration in milliseconds

Gebruikersavatar
Berichten: 7.463

Re: Audio en Python

@wnvl1

Ja - die doet het, geeft een keurig toontje.

Gebruikersavatar
Berichten: 1.605

Re: Audio en Python

@wnvl1,

Nice, werkt bij mij ook. Diende wel pyaudio te installeren.

Kan ik later nog een nagaan hoe een np array te streamen. Genoeg recources op internet.

Wist doel niet precies: studie hoe audio te bewerken of audio bewerken voor muziek te maken. Beide vergt andere expertise.

Gebruikersavatar
Berichten: 7.463

Re: Audio en Python

Voor "gewone" muziek te maken zijn er andere programma's met name zogeheten DAW's, hier gaat het mij om het maken van experimentele computermuziek met behulp van een daartoe geschikte programmeertaal. Inmiddels weet ik dat SuperCollider voldoet. Met Python zal het ook wel gaan, maar minder makkelijk.

Gebruikersavatar
Berichten: 2.318

Re: Audio en Python

Ook interessant om eens te proberen is het gebruik van artificiële intelligentie om muziek te componeren.
Je vindt daar heel wat over terug op het internet. Kan in python als taal bij uitstek voor AI.

https://www.analyticsvidhya.com/blog/20 ... eneration/

Gebruikersavatar
Berichten: 7.463

Re: Audio en Python

Er zijn inderdaad mogelijkheden genoeg, hoewel net als in de wetenschap ook in de experimentele muziek heel veel al wel eerder gedaan is.

Reageer