Язык Wolfram Language

Операции с временными рядами

Использование временных рядов для создания аудио

Мы можем управлять частотой синусоидальной волны с помощью регулярного временного ряда, TimeSeries.

In[1]:=
Click for copyable input
n = 50; frequencies = RandomReal[{100, 300}, n]; reg = TimeSeries[frequencies, {0, Automatic, .3}];
In[2]:=
Click for copyable input
AudioGenerator[{"Sin", reg}]
Out[2]=

Мы также можем управлять частотой синусоидальной волны с помощью нерегулярного временного ряда, TimeSeries.

In[3]:=
Click for copyable input
times = Accumulate[RandomReal[{0.1, .5}, n]]; irreg = TimeSeries[frequencies, {times}];
In[4]:=
Click for copyable input
AudioGenerator[{"Sin", irreg}]
Out[4]=

Функция WhiteNoiseProcess позволяет генерировать белый шум.

In[5]:=
Click for copyable input
sample = RandomFunction[WhiteNoiseProcess[1/3], {88200}]
Out[5]=

Перемасштабируем образец до длины в 2 секунды и cгенерируем аудио.

In[6]:=
Click for copyable input
AudioNormalize@ AudioGenerator[TimeSeriesRescale[sample, {0, 2, 1/44100}]]
Out[6]=
In[7]:=
Click for copyable input
AudioNormalize@ AudioGenerator[TimeSeriesRescale[sample, {0, 2, 1/44100}]]; AudioPlot[%]
Out[7]=

Генерируем другой тип шума с помощью функции FractionalGaussianNoiseProcess.

In[8]:=
Click for copyable input
AudioNormalize@AudioGenerator[FractionalGaussianNoiseProcess[1/3], 2]
Out[8]=
In[9]:=
Click for copyable input
AudioNormalize@AudioGenerator[FractionalGaussianNoiseProcess[1/3], 2]; AudioPlot[%]
Out[9]=

Родственные примеры

de en es fr ja ko pt-br zh