import math, random, itertools, pyaudio opzioni = { "format": pyaudio.paFloat32, "channels": 2, "rate": 96000, "input": True, "frames_per_buffer": 1024 } class primi: def primo(n): for i in range(3, int(math.sqrt(n)) + 1,2): if n % i == 0: return False return True def prossimo(n): if n % 2 == 0: n += 1 while True: n += 2 if primi.primo(n): yield n def lista(p, n): return tuple([p for p in itertools.islice(primi.prossimo(p), n)]) class generatore: def caso(inizio, fine, stop): audio = pyaudio.PyAudio() input = audio.open(**opzioni) dati = input.read(opzioni["rate"]//opzioni["frames_per_buffer"] * stop//2) input.close() audio.terminate() dati = [i for i in dati if i != 0] dati = [i for i in dati if i in range(inizio,fine)] random.shuffle(dati) for i in range(stop): yield dati[i] def onetimepad(l): return tuple(generatore.caso(0,2*16,l))