%matplotlib inline
from sunvox import Slot, Process
from sunvox.buffered import int16, float32, BufferedProcess
p = BufferedProcess(data_type=float32, size=44100 * 2)
from rv.modules import Fm
from rv.project import Project
project = Project()
fm = project.new_module(Fm, m_feedback=42)
project.connect(fm, project.output)
slot = Slot(project, process=p)
slot.volume(256)
0
slot.send_event(0, 42, 32, fm, 0, 0)
0
buf = p.fill_buffer()
buf
array([[ 0.00000000e+00, 0.00000000e+00], [ 1.85560353e-07, 1.85560353e-07], [ 7.49872697e-07, 7.49872697e-07], ..., [ -2.24900004e-02, -2.24900004e-02], [ -1.25729879e-02, -1.25729879e-02], [ -2.81969481e-03, -2.81969481e-03]], dtype=float32)
buf_t = buf.transpose()
l, r = buf_t
from IPython.display import Audio
Audio(buf_t, rate=p.freq)
import matplotlib.pyplot as plt
plt.plot(l)
[<matplotlib.lines.Line2D at 0x10800ca20>]
S, freqs, bins, im = plt.specgram(r, NFFT=512, Fs=p.freq, noverlap=500, cmap=plt.cm.gist_heat)
plt.xlabel('Time')
plt.ylabel('Freq')
plt.ylim(0, 20000)
(0, 20000)
p = BufferedProcess(data_type=float32, size=44100 * 5)
slot = Slot('../../../sunvox_dll/resources/test.sunvox', process=p)
slot.volume(256)
0
slot.play_from_beginning()
0
buf = p.fill_buffer()
buf
array([[ 0.01608396, 0.01608396], [-0.43299004, -0.43299004], [-0.40250993, -0.40250993], ..., [-0.01479183, -0.03583915], [-0.00908315, -0.03091996], [-0.00917414, -0.03167547]], dtype=float32)
buf_t = buf.transpose()
l, r = buf_t
Audio(buf_t, rate=p.freq)
plt.plot(r)
[<matplotlib.lines.Line2D at 0x108ab2400>]
S, freqs, bins, im = plt.specgram(r, NFFT=512, Fs=p.freq, noverlap=500, cmap=plt.cm.gist_heat)
plt.xlabel('Time')
plt.ylabel('Freq')
plt.ylim(0, 5000)
(0, 5000)