info in discord
the terminal output was pasted at line 127unknown
python
2 years ago
13 kB
4
Indexable
import struct
import audioop
import wave
import numpy as np
import time
import sys
import ast
import threading
import asyncio
import pyaudio
import random
class VoiceModule:
def __init__(self, pitch, startDelay, tID):
self.sD = startDelay
self.time = time
self.tID = tID
self.pitch = pitch
def callback(self, indata, frame_count, time_info, status):
# print(f"\n{type(indata)}\n{indata}")
print(f'\nCallback fuction start\nindata stream data below\n\'indata\'start\n{indata}\n\'indata\'end\n')
intarray = indata.decode(encoding='utf-16')
return (indata, pyaudio.paContinue)
def runN(self):
self.p = pyaudio.PyAudio()
# self.isalive = True
self.start = time.time()
self.stream = self.p.open(format=(self.p.get_format_from_width(2)),
channels=1,
rate=44100,
input=True,
output=True,
stream_callback=self.callback) #
self.swidth = self.p.get_format_from_width(2)
self.startTheNoise()
def startTheNoise(self):
self.time.sleep(self.sD)
print(f"thread:{self.tID} has started...\n")
# while self.stream.is_active() and (time.time() - self.start) < self.duration:
# #time.sleep(0.1)
# break
def stopTheNoise(self):
# while self.stream.is_active() and (time.time() - self.start) < self.duration:
# time.sleep(0.1)
self.stream.close()
self.p.terminate()
def main():
lowestD, highestD = 0.9, 1.1
# -1.1
# -.5
# 0 delay
# .5
# 1.1
# random.uniform(0.001, 0.025)
# random.uniform(0.001, 0.025)
# random.uniform(0.001, 0.025)
# random.uniform(0.001, 0.025)
# random.uniform(0.001, 0.025)
DURATION = 5 # seconds
pitches = [1.0]
for i in range(0, 4):
pitches.append(random.uniform(lowestD, highestD))
print(pitches[i])
voMo0 = VoiceModule(pitches[0], startDelay=random.uniform(0.001, 0.025), tID=0)
voMo1 = VoiceModule(pitches[1], startDelay=random.uniform(0.001, 0.025), tID=1)
voMo2 = VoiceModule(pitches[2], startDelay=random.uniform(0.001, 0.025), tID=2)
voMo3 = VoiceModule(pitches[3], startDelay=random.uniform(0.001, 0.025), tID=3)
voMo4 = VoiceModule(pitches[4], startDelay=random.uniform(0.001, 0.025), tID=4)
t0 = threading.Thread(target=voMo0.runN())
t1 = threading.Thread(target=voMo1.runN())
t2 = threading.Thread(target=voMo2.runN())
t3 = threading.Thread(target=voMo3.runN())
t4 = threading.Thread(target=voMo4.runN())
# Start threads
t0.start(), t1.start(), t2.start(), t3.start(), t4.start()
time.sleep(DURATION)
t0.join(), time.sleep(0), t1.join(), time.sleep(0), t2.join(), time.sleep(0), t3.join(), time.sleep(0), t4.join()
print("\n....end....\n")
# Wait threads to complete
# t0.join(), t1.join(), t2.join(), t3.join(), t4.join()
# AsyncT0 = asyncio.create_task(t0.start())
# AsyncT1 = asyncio.create_task(t1.start())
# AsyncT2 = asyncio.create_task(t2.start())
# AsyncT3 = asyncio.create_task(t3.start())
# AsyncT4 = asyncio.create_task(t4.start())
# await asyncio.wait([AsyncT0, AsyncT1, AsyncT2, AsyncT3, AsyncT4])
#
if __name__ == "__main__":
main()
# Callback fuction start
# indata stream data below of ==LOW volume input== (quietly coughed)
# 'indata'start
# b'\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfd\xff\xfe\xff\xff\xff\xfe\xff\xfe\xff\xff\xff\xfd\xff\xfc\xff\xff\xff\xfd\xff\xfd\xff\xfe\xff\xfd\xff\xfd\xff\xfe\xff\xfe\xff\xfe\xff\xfc\xff\xfd\xff\xfd\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfd\xff\xff\xff\xfe\xff\xfe\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfb\xff\xfd\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfd\xff\xfd\xff\xfe\xff\xfc\xff\xfd\xff\xfd\xff\xfb\xff\xfd\xff\xfc\xff\xfc\xff\xfd\xff\xfe\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfc\xff\xfc\xff\xfd\xff\xfd\xff\xfc\xff\xfd\xff\xfc\xff\xfb\xff\xfb\xff\xfc\xff\xfd\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfc\xff\xfb\xff\xfb\xff\xfc\xff\xfc\xff\xfc\xff\xfb\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfb\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfb\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfb\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfc\xff\xfb\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfe\xff\xfd\xff\xfc\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfb\xff\xfd\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfe\xff\xfd\xff\xfc\xff\xfc\xff\xfe\xff\xfd\xff\xfc\xff\xfc\xff\xfb\xff\xfc\xff\xfe\xff\xfe\xff\xfc\xff\xfc\xff\xfc\xff\xfe\xff\xfc\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfd\xff\xfc\xff\xfc\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfd\xff\xfe\xff\xfc\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfc\xff\xfe\xff\xfe\xff\xfc\xff\xfe\xff\xff\xff\xfe\xff\xfd\xff\xfe\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfd\xff\xff\xff\xfd\xff\xfe\xff\xfd\xff\xfe\xff\xfe\xff\xfe\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xfe\xff\xfe\xff\xfd\xff\xfc\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfd\xff\xfd\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xff\xff\xfe\xff\xfe\xff\xff\xff\xff\xff\xfe\xff\xfd\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xfd\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xfe\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xfe\xff\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\xff\xff\xff\xff\x01\x00\x01\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x00\x00\x01\x00\x01\x00\x00\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x02\x00\x01\x00\x02\x00\x01\x00\x03\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x02\x00\x02\x00\x01\x00\x00\x00\x02\x00\x01\x00\x00\x00\x02\x00\x02\x00\x02\x00\x02\x00\x03\x00\x02\x00\x02\x00\x03\x00\x01\x00\x01\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x01\x00\x03\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x03\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x03\x00\x02\x00\x03\x00\x02\x00'
# 'indata'end
# Callback fuction start
# indata stream data below of ==HIGH volume input== (me blowing into the microphone)
# 'indata'start
# b'\xb2\x85\x00\x80\x00\x80p\x82\x00\x80\x04\xabLO\xff\x7f"\x08\x00\x80\x07\x84\x00\x80<\x82\x00\x80.\x80\x0e\x81\x00\x80\x86\x844\x85\x84B\xff\x7f\x1fu\xff\x7f.z\xff\x7f\x9dp>\xd8\x00\x80\x8d\x86\x00\x80\x08\x83\x00\x80\xb0\x81\x00\x80\xec\x80\x00\x80h\x80\x00\x80\x00\x80@\x80\x00\x80\xe1\x80\x00\x80V\x82\x00\x80\x9c\x02\xff\x7f\x95~\xff\x7f\xff\x7fL\x7f\xff\x7f\x0c~\xff\x7fu|\xff\x7f\xf9y\xff\x7f\xab\x15\x00\x80\x00\x80\xb4\x85\x00\x80\x93\xd5\x12x\xfc|\xff\x7f-|\xff\x7f\xday\x17V\xa7\xc3\x92\x8c\x00\x80V\xf5\xff\x7f\x8bs\xff\x7f\xc0y\xff\x7fy|\xff\x7f\xe7}\xff\x7f\x92~\xff\x7f\x9d~\xff\x7f\xf8}\xff\x7fJ|\xff\x7f\xc4w\xff\x7f\xcaM\x9f\x9b\x00\x800\x89\x00\x80DA\xff\x7f\xbbq\xff\x7f\x1fw\xff\x7f\xe7w\xff\x7f\x86s\xff\x7f\x90\x02\x00\x80&\x8a\x00\x80\xa0\x88\x00\x80\x8c\x8b\x00\x80\xa0\xbb\x89qY}\xff\x7f\xa1}\xff\x7f\xbe}\xff\x7f\xf4|\xff\x7f\xb2y\xff\x7fDIi\x97\xbf\x80\x00\x80\r\x83\x00\x80 \x84\x00\x80|\x87\x00\x806\xad\xb2g\xe3~\xff\x7fS~\xff\x7f\x7f~\xff\x7fJ}\xc4PX\x0fQ\xc5p\xaf\x95"\xff\x7fP|\xff\x7fC~\xff\x7f"\x7f\xff\x7f\xa0\x7f\xff\x7f\xff\x7f\xa0\x7f\xff\x7f\\}\xff\x7f\t\x1a\x00\x806\x87\x00\x80\xc2\x8c\x00\x80/\xe2\xff\x7f\xa8t\xff\x7f\xd1{\xff\x7fF~\xff\x7f\x86\x7f\xff\x7f\xff\x7fe\x7f\xff\x7f\xcf~\xff\x7f\x1f~\xff\x7f!}\xff\x7fu{\xff\x7f&x\xff\x7f\xc0\xff\x00\x80\xa1\x89\x00\x80?\x83\x00\x80\xbd\x80\x1c\x80\x00\x80u\x81\x00\x80\x8f\x82\x00\x80\x8e\x83\x00\x80\x9c\x84\x00\x80G\x86\x00\x80\x98\x95k\x7f\xff\x7f.~\xff\x7f\xac}\xff\x7f\xbb}\xff\x7f\x07~\xff\x7fl~\xff\x7f\xd5~\xff\x7f3\x7f\xff\x7f\x82\x7f\xff\x7f\xbc\x7f\xff\x7f\xe9\x7f\xff\x7f\xff\x7f\xe0\x7f\xff\x7f\xbd\x7f\xff\x7f\x97\x7f\xff\x7fr\x7f\xff\x7fT\x7f\xff\x7fK\x7f\xff\x7fm\x7f\xff\x7f\xe1\x7f\xb3\x7f\xff\x7f\xdb~\xf1i\xf0\xa2\x00\x80\xaf\x87\x00\x80f\x84\x00\x80\xf4\x82\x00\x80\x06\x82\x00\x80Z\x81\x00\x80\xdb\x80\x00\x80}\x80\x00\x808\x80\x00\x80\x01\x80\x1a\x80\x00\x80S\x80\x00\x80\x9f\x80\x00\x80\x05\x81\x00\x80\x8e\x81\x00\x80D\x82\x00\x802\x83\x00\x80\x84\x84\x00\x80\x16\x87\x00\x80\xd2\x98\x13h\xff\x7f\xb7}\xff\x7fn|\xff\x7fn{\xff\x7f\xeby\xff\x7f>n\'\xa5\x00\x80\xd1\x81\x00\x80r\x81\x00\x80\xf9\x80\x00\x80t\x80\x00\x80H\x80\x00\x80\xe8\x8ad%\xff\x7f\x80x\xff\x7f\xc0v\xff\x7f\xb5\xca\x00\x80\xc3\x88\x00\x80%\x86\x00\x80\xea\x85\x00\x80\xf1\x88\x00\x80\xb5\xed|{\xfb~\xff\x7fI\x7f\xff\x7f\xff\x7f\xa3\x7f\xff\x7f\xea~\xff\x7f\x15~\xff\x7f\xe6|\xff\x7f%z\xff\x7f\xdb_\xf7\xa5\x00\x80\x9f\x80\x00\x80\x19\x81\x00\x80\x16\x82\x00\x80\x9a\x83\x00\x80f\x86\x00\x80\xa8\x8d\x00\x80\x1d\n\xff\x7f\x83r\xff\x7f\xa1y\xff\x7f\x94|\xff\x7fV~\xff\x7f\x99\x7f\xdc\x7f\xff\x7f\xd7~\xff\x7f\xb3}\xff\x7f\xf6{\xff\x7f{w\xff\x7f\tA\x02\x8fW\x82\x00\x80\xeb\x81\x00\x80\xc9\x80\x00\x80\x00\x80,\x81\x00\x80\x96\x83\x00\x80\x87\x89\x00\x80\x9cA\xff\x7f\x0et\xff\x7fDz\xff\x7fI}\xff\x7f\xff\x7f\xefp[G\x8b\x1a1\x92\x00\x80\r\x82\x00\x80,\x87\xf3\x05-\x123\x8f\xac\x81\x00\x80P\x81\x00\x80H\x80\x00\x80\xc8\x81/\x0f\xff\x7f<|\xff\x7f\x18~\xff\x7fb~\xff\x7f\t~\xff\x7f\xf2|\xff\x7f\x94y\xff\x7f\xd8NQ\x92?\xab\xa6V\xff\x7fsz\xff\x7f\xdd|\xff\x7f\x90}\xff\x7f\xe1}\xff\x7f(~\xff\x7f\x9b~\xff\x7f\xfbd\xd7\x91\x00\x80|\x85\x00\x80\xb6\x83\x00\x80\xc8\x82\x00\x80\r\x82\x00\x80f\x81\x00\x80\xc7\x80\x00\x80$\x801\x80\x00\x80\xf1\x80\x00\x80\xe1\x81\x00\x80,\x83\x00\x80N\x85\x00\x80i\x8a\x00\x80\xd3\xc3\xdc|yz\xff\x7f{}\xff\x7f\xfc~\xff\x7f\xb7\x7f\xff\x7f\xff\x7f\xe8\x7f\xff\x7f\xf3\x7f\xf4\x7f\xff\x7f\xb0\x7f\xff\x7fS\x7f\xff\x7f\xe8~\xff\x7fv~\xff\x7f\x06~\xff\x7f\x94}\xff\x7f\xde|\xff\x7f\xaa^\xb1\x8b\xb9\x84\xa6\xd2\xb8I\xff\x7f\xd2z\xff\x7f\x06}\xff\x7f\x00~\xff\x7f\xbf~\xff\x7fz\x7f\xff\x7f\xff\x7f\xf7~\xff\x7f\x00|\xff\x7f\xf6\x04\x00\x80m\x82\x00\x80\xd0\x81\x00\x80F\x81\x00\x80\xe4\x80\x00\x80\x9b\x80\x00\x80(\x89E\xd9\x8f\xdf\x85\xff]\x04\xea\xa7t%\xff\x7fIu\xff\x7f\xc0x\xff\x7foA[\x85\x00\x80\xc8\x83\x00\x80/\x84\x00\x80\xbd\x84\x00\x80\xa7\x85\x00\x80'
# 'indata'end
# Traceback (most recent call last):
# File "d:\Python Projects\voice changer\main.py", line 30, in callback
# intarray = indata.decode(encoding='utf-16')
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Traceback (most recent call last):
# File "d:\Python Projects\voice changer\main.py", line 121, in <module>
# UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 52-53: illegal UTF-16 surrogate
# main()
# File "d:\Python Projects\voice changer\main.py", line 89, in main
# t1 = threading.Thread(target=voMo1.runN())
# ^^^^^^^^^^^^
# File "d:\Python Projects\voice changer\main.py", line 45, in runN
# self.startTheNoise()
# File "d:\Python Projects\voice changer\main.py", line 48, in startTheNoise
# self.time.sleep(self.sD)
# TypeError: function takes exactly 5 arguments (0 given)
Editor is loading...