Я работаю над программой, в которой мне нужно медленно и плавно изменять высоту синусоиды с одной высоты на другую. Я могу получить массив частоты, с которой высота звука должна быть в любой момент (например, [440, 526,5, 634,2 794,8, 880], хотя и намного, намного длиннее), но, похоже, я не могу на самом деле применить эту частоту. к волне. Моя лучшая попытка:
numpy.sin(2*math.pi*x*freq/self.sample_rate)
где «freq» — это массив частот, а x — массив перечисления ([0,1, 2, 3, 4...]). Этот метод работает, однако он заставляет частоту подниматься выше ожидаемой частоты, а затем снова падать. Я работал над этой проблемой в течение очень долгого времени и не смог добиться какого-либо прогресса в поиске более подходящего метода. Любой совет? Достаточно ли ясно я выразил свою дилемму?
Спасибо.