-
Notifications
You must be signed in to change notification settings - Fork 31
Rework sound recorder and playback. #272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hopefully this will not be closed just yet! |
Thanks Nate for bringing SSB back into attention. You are right, the relevant pieces needs a thorough overhaul. As OSS is dead now, the whole sound handling in tlf needs to be ported to alsa, pulseaudio or others. Feel free to just go on on that. |
The easiest route is to recommend the SoX package for the sound stuff and let the user decide how to direct the audio. I use the pavucontrol GUI app to set where sound streams go with PulseAudio. Its nice thing is that it remembers those settings between sessions. I don't want to think about trying to advise users who don't have PA installed. There is the new Pipe Wire that may replace PA in the future... I say we rely on the SoX versions of That said, I think the BSD variants depend on OSS, but does anyone use Tlf on BSD? |
As another thought or two. Where to place sound files. I know the config command set is large, but really, this should be user defined. As well, the |
We may cross these bridge when we are there ....
I support that. We should make sure that these commands always work. But it would be good if we allow the user to choose its own programs by a config keyword. Airween did something similar with the QTCREC_RECORD command. We need at least 4 such commands:
I would say we should support calling the programs directly (with parameters) but also shell scripts which may provide additional flexibility. |
The question I have with calling shell scripts is can The advantage of staying with shell scripts is nothing much really needs to change. I will say that right now things are inconsistent in this area. Recording voice messages calls Regardless, I would rather have a recommended dependency on a package like SoX for its utilities rather than attempting to interface directly with OSS, ALSA, PA, PW, etc. Down that path lies madness! Advantage of extending the configuration options a bit more are that the user can call whatever suits them. If |
That should be answered with PR #276 I made two days ago. I think you should have gotten an info about it as I asked for test and review? It works fine here on my side now. The mix of calling scripts and/or programs may come from the different people who were working on tlf in different times, but I agree the current situation can use improvement. I am fine with recommending SoX as standard tool, but I would like to allow the experienced user to have more complex solutions. |
Completed with PR #318 just merged in. |
I have been poking at things this week in anticipation of the Kansas QSO Party this coming weekend. As I do operate SSB in this event, I use the voice keyer with good results. One thing I'd not tried for some time was the contest recorder and find that the
soundlog
file has an invalid option,-w
for therec
utility now found in the SoX package. Perhaps this was a holdover from the OSS days which is possibly whererec
was also found. I fixed that by replacing that option with-c 1
which forces single channel recording, which may not be optimal for transceivers capable of two channel output such as my K3 with the sub-receiver installed. By defaultrec
will record in two channel mode. The files are thus about twice as large, but with a fader each channel could be listened to independently later on.I also found a bug in the SOUnd menu code for option 3 in
audio.c
where theopendir()
function was given the string"$HOME/tlf/soundlogs/"
which, after some investigation cannot work asopendir
does not work in the shell environment as thesystem()
function does. So, I have fixed that by querying the value ofHOME
from the environment and then concatenating that with the rest of the string to pass toopendir()
.Finally, in that same code where
play
is called, it is passed the-d /dev/dsp
option by default. This fails on my system (Debian 11) where PulseAudio on ALSA is used but no/dev/dsp
exists. I've not tackled that one yet but will tonight (of course I can comment out those lines for my local copy, but a more general solution is needed). I know there are already an abundance of config file keywords, but perhaps some more are warranted to get user control of the sound utilities in use--OSS, ALSA, PulseAudio, PipeWire, etc. I am still thinking of that one.I am also considering eliminating the sound scripts--
soundlog
andplay_vk
--by calling the relevant sound utilities directly as this is already done indorecord()
. One advantage would be to allow using theESC
key topkill
the called utility just likeESC
kills CW keying in the call and exchange input functions.I likely won't get this together well enough for a pull request until next week. I'm writing this up as a reminder to myself and to let others know what I'm up to. I may also ask some questions via the mailing list.
The text was updated successfully, but these errors were encountered: