mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Delete sound.py
This commit is contained in:
parent
c4872a03ce
commit
b3bd873f84
1 changed files with 0 additions and 81 deletions
81
sound.py
81
sound.py
|
@ -1,81 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
"""
|
|
||||||
Created on Fri Dec 11 17:47:32 2020
|
|
||||||
|
|
||||||
@author: DJ2LS
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
import pyaudio
|
|
||||||
import audioop
|
|
||||||
import logging
|
|
||||||
|
|
||||||
|
|
||||||
class Audio():
|
|
||||||
|
|
||||||
def __init__(self,
|
|
||||||
defaultFrames = 1024 * 8,
|
|
||||||
audio_input_device=2,
|
|
||||||
audio_output_device=0,
|
|
||||||
tx_sample_state = None,
|
|
||||||
rx_sample_state = None,
|
|
||||||
audio_sample_rate=48000,
|
|
||||||
modem_sample_rate=8000,
|
|
||||||
frames_per_buffer=1024,
|
|
||||||
audio_channels=1,
|
|
||||||
#format = pyaudio.paInt16,
|
|
||||||
stream = None,
|
|
||||||
):
|
|
||||||
|
|
||||||
self.p = pyaudio.PyAudio()
|
|
||||||
self.defaultFrames = defaultFrames
|
|
||||||
self.audio_input_device = audio_input_device
|
|
||||||
self.audio_output_device = audio_output_device
|
|
||||||
self.tx_sample_state = tx_sample_state
|
|
||||||
self.rx_sample_state = rx_sample_state
|
|
||||||
self.audio_sample_rate = audio_sample_rate
|
|
||||||
self.modem_sample_rate = modem_sample_rate
|
|
||||||
self.frames_per_buffer = frames_per_buffer
|
|
||||||
self.audio_channels = audio_channels
|
|
||||||
self.format = pyaudio.paInt16
|
|
||||||
self.stream = None
|
|
||||||
|
|
||||||
logging.info("AUDIO Initialized")
|
|
||||||
|
|
||||||
|
|
||||||
# PLAY MODULATED AUDIO
|
|
||||||
def Play(self, modulation):
|
|
||||||
|
|
||||||
stream_tx = self.p.open(format=self.format,
|
|
||||||
channels=self.audio_channels,
|
|
||||||
rate=self.audio_sample_rate,
|
|
||||||
frames_per_buffer=self.frames_per_buffer,
|
|
||||||
output=True,
|
|
||||||
output_device_index=self.audio_output_device,
|
|
||||||
)
|
|
||||||
|
|
||||||
audio = audioop.ratecv(modulation,2,1,self.modem_sample_rate, self.audio_sample_rate, self.tx_sample_state)
|
|
||||||
stream_tx.write(audio[0])
|
|
||||||
stream_tx.close()
|
|
||||||
#self.p.terminate()
|
|
||||||
|
|
||||||
|
|
||||||
# RECORD AUDIO
|
|
||||||
def Record(self):
|
|
||||||
|
|
||||||
stream_rx = self.p.open(format=self.format,
|
|
||||||
channels=self.audio_channels,
|
|
||||||
rate=self.audio_sample_rate,
|
|
||||||
frames_per_buffer=self.frames_per_buffer, #modem.get_n_max_modem_samples()
|
|
||||||
input=True,
|
|
||||||
input_device_index=self.audio_input_device,
|
|
||||||
)
|
|
||||||
|
|
||||||
#audio = audioop.ratecv(modulation,2,1,modem_sample_rate, audio_sample_rate, tx_sample_state)
|
|
||||||
#stream.read(audio[0])
|
|
||||||
data = stream_rx.read(self.defaultFrames)
|
|
||||||
data = audioop.ratecv(data,2,1,self.audio_sample_rate, self.modem_sample_rate, self.rx_sample_state)
|
|
||||||
#stream_rx.close()
|
|
||||||
#self.p.terminate()
|
|
||||||
return data
|
|
Loading…
Reference in a new issue