fix string/bytes issues

This commit is contained in:
Roman Zeyde
2014-08-07 17:02:09 +03:00
parent cb08b23aa3
commit 16bc186631
5 changed files with 16 additions and 12 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()

View File

@@ -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('.')
"""