4

Python でプロシージャル サウンドを作成し、ファイルに保存するのではなく、即座に再生したいと考えています。これには何を使用すればよいですか?組み込みモジュールをそのまま使用できますか、それとも追加のモジュールが必要ですか?

たぶん、ピッチやボリュームなどを変更したくなるでしょう。

4

3 に答える 3

3

Using numpy along with scikits.audiolab should do the trick. audiolab has a play function which supports the ALSA and Core Audio backends.

Here's an example of how you might produce a simple sine wave using numpy:

from __future__ import division
import numpy as np

def testsignal(hz,amplitude = .5,seconds=5.,sr=44100.):
    '''
    Create a sine wave at hz for n seconds
    '''
    # cycles per sample
    cps = hz / sr
    # total samples
    ts = seconds * sr
    return amplitude * np.sin(np.arange(0,ts*cps,cps) * (2*np.pi))

To create five seconds of a sine wave at 440 hz and listen to it, you'd do:

>>> from scikits.audiolab import play
>>> samples = testsignal(440)
>>> play(samples)

Note that play is a blocking call. Control won't be returned to your code until the sound has completed playing.

于 2012-10-08T14:55:20.240 に答える
0

この Python wiki ページを確認してください。特に「Python での音楽プログラミング」セクション。

于 2012-10-08T14:50:43.730 に答える