Какой вид микширования звука и манипуляций со звуком должна выполнять моя программа голосовой связи Discord Like?Python

Программы на Python
Ответить
Anonymous
 Какой вид микширования звука и манипуляций со звуком должна выполнять моя программа голосовой связи Discord Like?

Сообщение Anonymous »

Итак, я создаю программу голосовой связи, которая будет получать звук от нескольких пользователей. Я быстро понял, что звук нужно каким-то образом микшировать, проблема в том, что я не уверен, какие манипуляции со звуком мне нужно выполнить. На данный момент все, что я делаю, — это суммирую различные аудиодейтаграммы, поступающие от разных пользователей, делю их на количество пользователей и обрезаю значения до -1 и 1. Я думаю, что это очень грубо, но я не уверен, что еще делать. Было бы неплохо, если бы кто-нибудь дал мне совет о том, что еще следует реализовать с точки зрения микширования звука.
Вот ветка микширования, которая у меня есть на данный момент:

Код: Выделить всё

def AudioMix():
global RecievedAudio
global MixedAudio
FloatAudio = np.zeros(255, dtype=np.float32)
while True:
FloatAudio.fill(0)
PacksSummed = 0
for i in range(50):
if(RecievedAudio[i] != b''):
FloatAudio += np.frombuffer(RecievedAudio[i][4:BytesRecieved], dtype=np.float32)
del RecievedAudio[i][:BytesRecieved]
PacksSummed += 1
if(PacksSummed != 0):
FloatAudio /= PacksSummed
FloatAudio = np.clip(FloatAudio, -1.0, 1.0)
MixedAudio.extend(FloatAudio.tobytes())

time.sleep(0.001) # sleep for 1ms
Отдельный поток получает звук и в зависимости от того, какой пользователь его отправил (пользователь 0, пользователь 1 и т. д.), добавляет его в RecievedAudio, а затем поток вывода звука извлекает звук из MixedAudio.


Подробнее здесь: https://stackoverflow.com/questions/798 ... e-voice-co
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»