User:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
 
(48 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- ALSAPulseAudio.mediawiki -->
Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953.
== Working with ALSA and Pulse Audio ==


* Sound cards don't support arbitrary sampling rates. If your audio is choppy, check the rate of your audio sink or source: 44100 Hz works under all audio cards known, 48000 Hz on most, others may not.
Barry started working on the GNU Radio project in 2019 and now devotes most of his time doing Wiki documentation, and development of amateur radio applications.
* Don't clip: The maximum amplitude in your signal '''must not''' exceed 1.0.
* Set "OK to Block" to "No" when the flowgraph is throttled by another hardware device.  


== Talking to ALSA ==
Summary of programming languages used (roughly in chronological order):
* FORTRAN
* assembly languages of various computers
* COBOL
* C
* Pascal
* HTML5
* CSS3
* XML
* JavaScript
* JSON
* node.js
* PHP
* Python


The GNU Radio Audio Sink and Source blocks use ALSA (unless ALSA support was disabled during build time). ALSA has been the standard sound API under Linux for a decade or more, so basically all programs that produce Audio know how to deal with it. Alternately one can use a ''sound server'' like PulseAudio that takes care of dealing with all the low-level details for the application.
== Presentation Links ==


PulseAudio itself also provides a &quot;fake&quot; ALSA device, so to make ALSA applications talk to PulseAudio instead of directly with the hardware driver, allowing one central volume control etc. However, PulseAudio's device isn't always perfect. PulseAudio is internally capable of resampling, but the results aren't always predictable. For GNU Radio applications, it's often desirable to know the raw device.
=== YouTube ===


You can obtain a list the playback devices using the <code>aplay</code> program.
* GRCon21 Newbie's Guide
    https://www.youtube.com/watch?v=uxAW-WzuNy0
* GRCon21 gr-control presentation
    https://www.youtube.com/watch?v=eZ53BQLaKpw
* GRCon23 File transfer using Packet and BPSK
    https://www.youtube.com/watch?v=UpiaL1Hr6-s


* from a terminal window enter:
=== Vienna Wireless Society ===
<code>aplay -L</code>
* a long list of options will be displayed, such as:
<pre>
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
hw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC662 rev3 Analog
    Direct hardware device without any conversions
plughw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC662 rev3 Analog
    Hardware device with all software conversions
...
</pre>
* find the entry such as:
<pre>
hw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC662 rev3 Analog
    Direct hardware device without any conversions
</pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in the list which matches your desired device.
* use the first line of that entry (e.g. "hw:CARD=Generic,DEV=0") as the device name (without the quotes).


For audio input devices, use:
* VWS SDR Project  Feb 26, 2025
    https://drive.google.com/file/d/1Qh-nYxMh-1SAeDfAezipXa80Ve4y44Br/view?usp=sharing


<pre>arecord -L</pre>
* How to build a SSB receiver  Oct. 10, 2025
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to obtain a similar list.
    https://youtu.be/fCK8T9EeTX8

Latest revision as of 12:08, 14 October 2025

Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953.

Barry started working on the GNU Radio project in 2019 and now devotes most of his time doing Wiki documentation, and development of amateur radio applications.

Summary of programming languages used (roughly in chronological order):

  • FORTRAN
  • assembly languages of various computers
  • COBOL
  • C
  • Pascal
  • HTML5
  • CSS3
  • XML
  • JavaScript
  • JSON
  • node.js
  • PHP
  • Python

Presentation Links

YouTube

  • GRCon21 Newbie's Guide
   https://www.youtube.com/watch?v=uxAW-WzuNy0
  • GRCon21 gr-control presentation
   https://www.youtube.com/watch?v=eZ53BQLaKpw
  • GRCon23 File transfer using Packet and BPSK
   https://www.youtube.com/watch?v=UpiaL1Hr6-s

Vienna Wireless Society

  • VWS SDR Project Feb 26, 2025
   https://drive.google.com/file/d/1Qh-nYxMh-1SAeDfAezipXa80Ve4y44Br/view?usp=sharing
  • How to build a SSB receiver Oct. 10, 2025
   https://youtu.be/fCK8T9EeTX8