mirror of
https://github.com/romanz/amodem.git
synced 2026-02-24 16:18:12 +08:00
fix string/bytes issues
This commit is contained in:
@@ -41,7 +41,7 @@ def load(fileobj):
|
||||
|
||||
|
||||
def loads(data):
|
||||
x = np.fromstring(str(data), dtype='int16')
|
||||
x = np.frombuffer(data, dtype='int16')
|
||||
x = x / scaling
|
||||
return x
|
||||
|
||||
|
||||
@@ -287,8 +287,10 @@ if __name__ == '__main__':
|
||||
p = argparse.ArgumentParser()
|
||||
p.add_argument('--skip', type=int, default=100,
|
||||
help='skip initial N samples, due to spurious spikes')
|
||||
p.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin)
|
||||
p.add_argument('-o', '--output', type=argparse.FileType('w'), default=sys.stdout)
|
||||
p.add_argument('-i', '--input', type=argparse.FileType('rb'),
|
||||
default=sys.stdin)
|
||||
p.add_argument('-o', '--output', type=argparse.FileType('wb'),
|
||||
default=sys.stdout)
|
||||
args = p.parse_args()
|
||||
try:
|
||||
main(args)
|
||||
|
||||
@@ -34,7 +34,7 @@ class Writer(object):
|
||||
|
||||
def write(self, fd, sym, n=1):
|
||||
data = common.dumps(sym, n)
|
||||
fd.write(str(data))
|
||||
fd.write(data)
|
||||
self.offset += len(data)
|
||||
if time.time() > self.last + 1:
|
||||
log.debug('%10.3f seconds of data audio',
|
||||
@@ -99,9 +99,9 @@ if __name__ == '__main__':
|
||||
p = argparse.ArgumentParser()
|
||||
p.add_argument('--silence-start', type=float, default=1.0)
|
||||
p.add_argument('--silence-stop', type=float, default=1.0)
|
||||
p.add_argument('-i', '--input', type=argparse.FileType('r'),
|
||||
p.add_argument('-i', '--input', type=argparse.FileType('rb'),
|
||||
default=sys.stdin)
|
||||
p.add_argument('-o', '--output', type=argparse.FileType('w'),
|
||||
p.add_argument('-o', '--output', type=argparse.FileType('wb'),
|
||||
default=sys.stdout)
|
||||
args = p.parse_args()
|
||||
main(args)
|
||||
|
||||
@@ -18,18 +18,20 @@ class Args(object):
|
||||
def __init__(self, **kwargs):
|
||||
self.__dict__.update(kwargs)
|
||||
|
||||
|
||||
def run(size, chan):
|
||||
tx_data = os.urandom(size)
|
||||
tx_audio = StringIO()
|
||||
send.main(Args(silence_start=1, silence_stop=1, input=StringIO(tx_data), output=tx_audio))
|
||||
tx_audio = BytesIO()
|
||||
send.main(Args(silence_start=1, silence_stop=1,
|
||||
input=BytesIO(tx_data), output=tx_audio))
|
||||
|
||||
data = tx_audio.getvalue()
|
||||
data = common.loads(data)
|
||||
data = chan(data)
|
||||
data = common.dumps(data * 1j)
|
||||
rx_audio = StringIO(data)
|
||||
rx_audio = BytesIO(data)
|
||||
|
||||
rx_data = StringIO()
|
||||
rx_data = BytesIO()
|
||||
recv.main(Args(skip=100, input=rx_audio, output=rx_data))
|
||||
rx_data = rx_data.getvalue()
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
from amodem import stream
|
||||
import subprocess as sp
|
||||
|
||||
script = r"""
|
||||
script = br"""
|
||||
import sys
|
||||
import time
|
||||
import os
|
||||
|
||||
while True:
|
||||
time.sleep(0.1)
|
||||
sys.stdout.write(b'\x00' * 6400)
|
||||
sys.stdout.write('\x00' * 6400)
|
||||
sys.stderr.write('.')
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user