@nickama0

Как сгенерировать синусоиду питончиком?

low = struct.pack('h', -32768)
high = struct.pack('h', 32767)

buff = b""

f = 100
t = int(48000/2/f)

while 7:    
    b+= low*t
    b+= high*t

вот так я генерирую меандр
для синусоиды надо как то функцию синуса вставить в временную шкалу
f = 100
t = int(48000/2/f)
phase = 0

while 7:    
    b+= math.sin(phase)
    phase += t
    if phase == 360:
        phase = 0

но это не рабочий код.
функция синуса принимает почему-то не только 0-360 но и больше,
и возвращает она же не 16 битное число а дробное в диапозоне -1 1
как это делается?
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
@deliro
math.sin принимает градус в радианах https://docs.python.org/3/library/math.html#math.sin. Уж можно было подставить пару известных
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы