Beispiel #1
0
def main(args):
    # Initialise the Chirp Connect SDK
    sdk = ChirpConnect(args.app_key, args.app_secret, args.app_licence)
    print(str(sdk))

    # Disable audio playback
    sdk.audio = None
    sdk.start(send=True, receive=False)

    # Encode an ASCII string as a payload
    if args.ascii:
        message = args.ascii.encode('ascii')
        payload = sdk.new_payload(message)
    elif args.hex:
        message = bytearray.fromhex(args.hex)
        payload = sdk.new_payload(message)
    else:
        payload = sdk.random_payload()

    # Process output
    output = []
    output_file = args.output_file if args.output_file else '%s.wav' % payload

    sdk.send(payload)

    while sdk.state == CHIRP_CONNECT_STATE_SENDING:
        data = [0.0] * CHIRP_CONNECT_BUFFER_SIZE
        sdk.process_output(data)
        output.extend(data)

    sf.write(output_file, output, sdk.sample_rate)
    print('Wrote audio to output: %s' % output_file)

    sdk.stop()
    sdk.close()
def main(args):
    # Initialise the Chirp Connect SDK
    sdk = ChirpConnect(args.app_key, args.app_secret, args.app_licence)
    print(str(sdk))

    # Disable audio playback
    sdk.audio = None
    sdk.set_callbacks(Callbacks(args.ascii))
    sdk.start(send=False, receive=True)

    data, samplerate = sf.read(args.input_file, dtype='float32')
    for f in range(0, len(data), CHIRP_CONNECT_BUFFER_SIZE):
        sdk.process_input(list(data[f:f + CHIRP_CONNECT_BUFFER_SIZE]))

    # C SDK currently doesn't flush after the final frame
    sdk.process_input([0.0] * CHIRP_CONNECT_BUFFER_SIZE)

    sdk.stop()
    sdk.close()