時系列を使って音声を生成する
規則的にサンプルされたTimeSeriesで正弦波の周波数を制御する.
In[1]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_78.png)
n = 50;
frequencies = RandomReal[{100, 300}, n];
reg = TimeSeries[frequencies, {0, Automatic, .3}];
In[2]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_79.png)
AudioGenerator[{"Sin", reg}]
不規則にサンプルされたTimeSeriesで正弦波の周波数を制御する.
In[3]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_80.png)
times = Accumulate[RandomReal[{0.1, .5}, n]];
irreg = TimeSeries[frequencies, {times}];
In[4]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_81.png)
AudioGenerator[{"Sin", irreg}]
WhiteNoiseProcessを使ってホワイトノイズを生成する.
In[5]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_82.png)
sample = RandomFunction[WhiteNoiseProcess[1/3], {88200}]
Out[5]=
![](assets.ja/use-time-series-to-generate-audio/O_41.png)
サンプルを2秒の長さに再スケールし,音声を生成する.
In[6]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_83.png)
AudioNormalize@
AudioGenerator[TimeSeriesRescale[sample, {0, 2, 1/44100}]]
In[7]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_84.png)
AudioNormalize@
AudioGenerator[TimeSeriesRescale[sample, {0, 2, 1/44100}]];
AudioPlot[%]
Out[7]=
![](assets.ja/use-time-series-to-generate-audio/O_42.png)
FractionalGaussianNoiseProcessを直接使って,異なるタイプのノイズを生成する.
In[8]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_85.png)
AudioNormalize@AudioGenerator[FractionalGaussianNoiseProcess[1/3], 2]
In[9]:=
![Click for copyable input](assets.ja/use-time-series-to-generate-audio/In_86.png)
AudioNormalize@AudioGenerator[FractionalGaussianNoiseProcess[1/3], 2];
AudioPlot[%]
Out[9]=
![](assets.ja/use-time-series-to-generate-audio/O_43.png)