質問
いい音を出することが似てからオーディオの実。問題は、私は非常に少ないかを取得します。
どこかの楽器と音声で出力をほとんどです。もの作り方などの汚れす
ここまでかっこれもplainの音るだけで使用のalsaます。
import numpy
from numpy.fft import fft, ifft
from numpy.random import random_sample
from alsaaudio import PCM, PCM_NONBLOCK, PCM_FORMAT_FLOAT_LE
pcm = PCM()#mode=PCM_NONBLOCK)
pcm.setrate(44100)
pcm.setformat(PCM_FORMAT_FLOAT_LE)
pcm.setchannels(1)
pcm.setperiodsize(4096)
def sine_wave(x, freq=100):
sample = numpy.arange(x*4096, (x+1)*4096, dtype=numpy.float32)
sample *= numpy.pi * 2 / 44100
sample *= freq
return numpy.sin(sample)
for x in xrange(1000):
sample = sine_wave(x, 100)
pcm.write(sample.tostring())
解決
陽組み込まれていません。(ゼロから)うっ音"有機"、すなわちのような物理的なオブジェクトだょうオフを学ぶのビットから音声が生成されます。固形紹介、きり見などのフレッチャーとRossings の物理学の楽器.ありがとうweb上においても、もんも楽しめるようにプライマーのジェームズ-クラークが こちらの
このため、スキムはこのようなものありますので、参考にして下さいうんです。モデリングの物理的機器を的確には非常に難しい!
ばんでっていう音の物理的なものということ機器、X、お仕事が少し楽になります。することで作ることができる最大周波数は非常に簡単にまとめて、ノイズの少ない、だか少なくともいつものように純粋なります。
読書のバックグラウンドにつフーリエ解析を総合するとともに、周波数変調(FM)です。
お楽しみに!
他のヒント
サウンド統合は、マスターするために長年の研究を必要とする複雑なトピックです。
また、それは完全に解決された問題ではありませんが、比較的最近の開発(物理モデリング合成など)は、実際の機器を模倣することで進歩しています。
あなたに開かれている多くのオプションがあります。さらに合成を探求したい場合は、FM合成について学ぶことから始めることをお勧めします。少なくとも基本的な形式では、ソフトウェアで学習して実装するのは比較的簡単であり、幅広い興味深い音を生み出します。また、Curtis Roadsによる本「The Computer Musicチュートリアル」もご覧ください。それはコンピューター音楽のすべての聖書であり、数年前のものですが、基礎を学ぶための選択書です。
ライフのようなサウンドを作成するためのより迅速な方法が必要な場合は、サンプリングテクニックの使用、つまり、複製したい機器を録音(または既存のサンプルバンクを使用)し、サンプルを再生するだけです。これは、はるかに簡単な(そしてしばしばより効果的な)アプローチです。
他の人が言ったように、些細なトピックではありません。物事のプログラミング側(特に低遅延性を気にかけている場合)と合成部分の両方に課題があります。 Sound SynthesisのGoldmineは、Julius O. Smithのページです。がある 多くの 合成の技術の http://ccrma-www.stanford.edu/~jos/.