diff options
author | sotech117 <michael_foiani@brown.edu> | 2023-12-14 21:04:24 -0500 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2023-12-14 21:04:24 -0500 |
commit | b66e659ba40b84dbf75e09d5463e2aef1a39b718 (patch) | |
tree | fb6baf8b6cfe86f80c828bc047e4e06d09904f01 /Recv.py | |
parent | 25c3b38b708bf467c40303083190409293452a33 (diff) |
make Recv.py file to read in input
Diffstat (limited to 'Recv.py')
-rw-r--r-- | Recv.py | 53 |
1 files changed, 53 insertions, 0 deletions
@@ -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() |