Генерация синусоидального звука в Python

Мне нужно сгенерировать звук синусоидальной волны в Python, и мне нужно иметь возможность контролировать частоту, продолжительность и относительную громкость. Под «генерацией» я подразумеваю, что я хочу, чтобы он воспроизводился через динамики немедленно, а не сохранялся в файл.

Как это проще всего сделать?

27
задан Wilduck 28 November 2011 в 16:55
поделиться

1 ответ

Сценарий от ivan_onys производит сигнал, который в четыре раза короче, чем предназначенный. Если TypeError возвращается, когда объем является плаванием, попытайтесь добавить .tobytes () к следующей строке вместо этого.

stream.write((volume*samples).tobytes())

@mm_ float32 = 32 бита и 8 битов = 1 байт, таким образом, float32 = 4 байта. Когда образцы передаются stream.write как float32, количество байта (продолжительность) разделено на 4. Обратная запись образцов .tobytes () исправляет для квартирования демонстрационное количество при записи в float32.

0
ответ дан 28 November 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: