initial commit
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"python.languageServer": "None"
|
||||||
|
}
|
||||||
19
audio_sink.py
Normal file
19
audio_sink.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import socket
|
||||||
|
import sounddevice as sd
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
PORT = 50007
|
||||||
|
SAMPLERATE = 44100
|
||||||
|
CHANNELS = 1
|
||||||
|
CHUNK = 1024
|
||||||
|
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
sock.bind(('0.0.0.0', PORT))
|
||||||
|
|
||||||
|
def audio_callback(outdata, frames, time, status):
|
||||||
|
data, _ = sock.recvfrom(CHUNK * 2) # 2 bytes per sample (int16)
|
||||||
|
outdata[:] = np.frombuffer(data, dtype=np.int16).reshape(-1, CHANNELS)
|
||||||
|
|
||||||
|
with sd.OutputStream(samplerate=SAMPLERATE, channels=CHANNELS, dtype='int16', blocksize=CHUNK, callback=audio_callback):
|
||||||
|
print("Receiving audio...")
|
||||||
|
input() # Press Enter to stop
|
||||||
19
audio_source.py
Normal file
19
audio_source.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import socket
|
||||||
|
import sounddevice as sd
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
IP = '10.42.0.231' # when rpi is connected to the ethernet socket of the laptop
|
||||||
|
PORT = 50007
|
||||||
|
SAMPLERATE = 44100
|
||||||
|
CHANNELS = 1
|
||||||
|
CHUNK = 1024
|
||||||
|
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
|
||||||
|
def callback(indata, frames, time, status):
|
||||||
|
sock.sendto(indata.tobytes(), (IP, PORT))
|
||||||
|
|
||||||
|
with sd.InputStream(samplerate=SAMPLERATE, channels=CHANNELS, blocksize=CHUNK, callback=callback):
|
||||||
|
print("Streaming audio...")
|
||||||
|
input() # Press Enter to stop
|
||||||
Reference in New Issue
Block a user