Rewritten pulseaudio driver and network softrock for Quisk
For my setup, I am using a softrock RXTX connected to a raspberry pi model B with attached "Wolfson Pi" audio card. The IQ audio is streamed via wifi to my laptop, which is running Quisk. I encountered a few show stoppers with this setup... Network latency continuously added to the buffer on the Pi side, until it was two seconds long! In an attempt to limit the buffer size with pulse audio, I exposed another bug (alsa or hardware) which resulted in a corrupt audio stream once the buffer overflowed. The solution I focused on was to rewrite the pulseaudio portion of the quisk object with the asynchronous api. This has two advantages: More control over latency, and lower resource usage on the network and raspberry pi. Using the simple api, the Pi and network were over taxed. Tunnel mode in pulseaudio is taxing as well, as the streams run continuously whether there are samples or not.
I also wrote a simple hardware plugin to manage PTT and VFO on the soft rock over the network via usbsoftrock. Simply run "sudo usbsoftrock -d &" on the pi, and then add the following lines to .quisk_conf.py where the "x"s are replace with the proper IP address of the computer (or pi) attached to the soft rock.
from softrock import hardware_net as quisk_hardware
from softrock import widgets_tx as quisk_widgets
usbsr_ip_address = "192.168.x.x"
usbsr_port = 19004
To use the network portion, add the following lines to .quisk_conf.py. Note: This version will not currently work without show_pulse_audio_devices = FALSE. I had to disable that option in the code and have not yet reenabled it, so Quisk will choke without it! Obviously change the "x"'s to match the proper IP with the softrock running pulseaudio. This has been tested with pulseaudio 4.0 and up. The name of the remote audio device should be similar to a local device. No tunnel or IP address is needed in the name. Also, note the two modified latency and poll settings. Lower data_poll values eat cpu on the local machine, and 300ms latency is about as low as my wifi can really support without frequent dropouts.
Re: Rewritten pulseaudio driver and network softrock for Quisk
Im glad to see that KM4DSJ is still working on this with Jim .....
Question about usbsoftrock over network .... do you need to use that or can the server directly control the Si570(pe0fko) firmware yet?
I would hope that automatic control of hardware could be started when IQ_Server_IP = "your.ip.here" is used in the quisk_conf.py file ... to maybe run the usbsoftrock over server by adding +1 to the last address value ...