aboutsummaryrefslogtreecommitdiff
path: root/Recv.py
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2023-12-14 21:04:24 -0500
committersotech117 <michael_foiani@brown.edu>2023-12-14 21:04:24 -0500
commitb66e659ba40b84dbf75e09d5463e2aef1a39b718 (patch)
treefb6baf8b6cfe86f80c828bc047e4e06d09904f01 /Recv.py
parent25c3b38b708bf467c40303083190409293452a33 (diff)
make Recv.py file to read in input
Diffstat (limited to 'Recv.py')
-rw-r--r--Recv.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/Recv.py b/Recv.py
index e69de29..76de3e8 100644
--- a/Recv.py
+++ b/Recv.py
@@ -0,0 +1,53 @@
+import struct
+
+import numpy as np
+import pyaudio
+import threading
+from utils import *
+
+
+class Recv:
+ def __init__(self, start_freq=19500):
+ self.start_freq = start_freq
+ self.freq_range = 500
+ self.sampling_rate = 44100
+ self.p = pyaudio.PyAudio()
+ self.bytes_per_transmit = 1
+
+
+ # TODO: use stream to send back the data
+ self.CHUNK = 2048 * 2
+ self.FORMAT = pyaudio.paInt32
+ self.CHANNELS = 1
+ self.RATE = 44100
+ self.pause = False
+ # stream object
+ self.p = pyaudio.PyAudio()
+ self.stream = self.p.open(
+ format=self.FORMAT,
+ channels=self.CHANNELS,
+ rate=self.RATE,
+ input=True,
+ output=True,
+ frames_per_buffer=self.CHUNK,
+ )
+
+ def read_audio_stream(self):
+ data = self.stream.read(self.CHUNK)
+ data_int = struct.unpack(str(self.CHUNK) + 'i', data)
+ return data_int
+
+ def listen(self):
+ while True:
+ data = self.read_audio_stream()
+ recv_freq_range = self.freq_range / 2
+ wave_to_bits(data, self.start_freq, recv_freq_range, self.bytes_per_transmit)
+
+
+def main():
+ recv = Recv()
+ recv.listen()
+
+
+if __name__ == "__main__":
+ main()