Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Python soundfunctie [OPGELOST]  (gelezen 1632 keer)

Python soundfunctie [OPGELOST]
« Gepost op: 2010/08/06, 16:42:56 »
L.S

Ik heb er naar gezocht maar niet gevonden. Dus is mijn vraag: bestaat er in Python een equivalent van de oude C-functie sound()?

Vriendelijke groet,

Nick Lamar
« Laatst bewerkt op: 2010/11/14, 14:48:03 door Nick Lamar »

Re: Python soundfunctie
« Reactie #1 Gepost op: 2010/08/06, 18:52:47 »
Eh, dat schijnt niet echt cross-platform te zijn... Wat doet die functie precies? Een geluidsbestand afspelen?
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Re: Python soundfunctie
« Reactie #2 Gepost op: 2010/08/06, 23:36:59 »
Use sound(frequency) to start generating a tone at a specified frequency to the speaker in the PC.
(Essential Guide To Turbo C)

voorbeeld:
sound(440) genereert een toon van 440Hz

Re: Python soundfunctie
« Reactie #3 Gepost op: 2010/08/07, 12:06:15 »
Hmm, op Windows kan je winsound.Beep(frequency,duration) gebruiken. Voor Mac OS X of Linux vind ik niet zo direct een API.

Google anders nog maar wat verder op "beep".

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Re: Python soundfunctie
« Reactie #4 Gepost op: 2010/08/07, 18:56:28 »
python combi met Supercollider, Csound of FAUST? ;)

Re: Python soundfunctie
« Reactie #5 Gepost op: 2010/08/08, 13:09:21 »
Met de goede hulp van andermans expertise ben ik er uit! Niet dezelfde functie als Turbo C sound(), maar het werkt prima.

PYTHON SOUNDFILES AANROEPEN
#!/usr/bin/python
# Filename: sound.py
import ossaudiodev
import wave
import platform

def play_sound(bestand):
   file=bestand
   from wave import open as waveOpen
   from ossaudiodev import open as ossOpen
   s=waveOpen('tamtam.wav','rb')
   (nc,sw,fr,nf,comptype,compname)=s.getparams()
   dsp=ossOpen('/dev/dsp','w')
   try:
      from ossaudiodev import AFMT_S16_NE
   except ImportError:
      if byteorder=="little":
         AFMT_S16_NE=ossaudiodev.AFMT_16_LE
      else:
         AFMT_S16_NE=ossaudiodev.AFMT_S16_BE
   dsp.setparameters(AFMT_S16_NE,nc,fr)
   data=s.readframes(nf)
   s.close()
   dsp.write(data)
   dsp.close()


Probleem opgelost.

Vriendelijke groet,

Nick Lamar