Patrick Fitzgerald
Published

GnuRadio Hearing Tester

GnuRadio works with sound as well as RF

IntermediateFull instructions provided2 hours221

Things used in this project

Software apps and online services

GNU Radio

Story

Read more

Code

audio_test.grc

XML
Gnu Radio Companion script for an audio hearing tester
works on Dell XPS-13. You may have to change your audio input and audio output
must have .grc extension to work with GRC program
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.13'?>
<flow_graph>
  <timestamp>Tue Oct 18 18:28:14 2022</timestamp>
  <block>
    <key>options</key>
    <param>
      <key>author</key>
      <value></value>
    </param>
    <param>
      <key>window_size</key>
      <value></value>
    </param>
    <param>
      <key>category</key>
      <value>[GRC Hier Blocks]</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>description</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>generate_options</key>
      <value>qt_gui</value>
    </param>
    <param>
      <key>hier_block_src_path</key>
      <value>.:</value>
    </param>
    <param>
      <key>id</key>
      <value>top_block</value>
    </param>
    <param>
      <key>max_nouts</key>
      <value>0</value>
    </param>
    <param>
      <key>qt_qss_theme</key>
      <value></value>
    </param>
    <param>
      <key>realtime_scheduling</key>
      <value></value>
    </param>
    <param>
      <key>run_command</key>
      <value>{python} -u {filename}</value>
    </param>
    <param>
      <key>run_options</key>
      <value>prompt</value>
    </param>
    <param>
      <key>run</key>
      <value>True</value>
    </param>
    <param>
      <key>sizing_mode</key>
      <value>fixed</value>
    </param>
    <param>
      <key>thread_safe_setters</key>
      <value></value>
    </param>
    <param>
      <key>title</key>
      <value></value>
    </param>
    <param>
      <key>placement</key>
      <value>(0,0)</value>
    </param>
  </block>
  <block>
    <key>variable_qtgui_range</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>5000</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 232)</value>
    </param>
    <param>
      <key>gui_hint</key>
      <value></value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>freq</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>min_len</key>
      <value>200</value>
    </param>
    <param>
      <key>orient</key>
      <value>Qt.Horizontal</value>
    </param>
    <param>
      <key>start</key>
      <value>0</value>
    </param>
    <param>
      <key>step</key>
      <value>100</value>
    </param>
    <param>
      <key>stop</key>
      <value>20000</value>
    </param>
    <param>
      <key>rangeType</key>
      <value>float</value>
    </param>
    <param>
      <key>widget</key>
      <value>counter_slider</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 156)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>value</key>
      <value>64000</value>
    </param>
  </block>
  <block>
    <key>audio_sink</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>device_name</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(496, 84)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>audio_sink_0</value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>1</value>
    </param>
    <param>
      <key>ok_to_block</key>
      <value>True</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
  </block>
  <block>
    <key>audio_source</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>device_name</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(240, 276)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>audio_source_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>num_outputs</key>
      <value>1</value>
    </param>
    <param>
      <key>ok_to_block</key>
      <value>True</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
  </block>
  <block>
    <key>qtgui_sink_x</key>
    <param>
      <key>bw</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>fc</key>
      <value>0</value>
    </param>
    <param>
      <key>freqchangevar</key>
      <value>None</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>fftsize</key>
      <value>4096</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(496, 152)</value>
    </param>
    <param>
      <key>gui_hint</key>
      <value></value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>qtgui_sink_x_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>name</key>
      <value>""</value>
    </param>
    <param>
      <key>plotconst</key>
      <value>True</value>
    </param>
    <param>
      <key>plotfreq</key>
      <value>True</value>
    </param>
    <param>
      <key>plottime</key>
      <value>True</value>
    </param>
    <param>
      <key>plotwaterfall</key>
      <value>True</value>
    </param>
    <param>
      <key>showports</key>
      <value>True</value>
    </param>
    <param>
      <key>showrf</key>
      <value>False</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>rate</key>
      <value>10</value>
    </param>
    <param>
      <key>wintype</key>
      <value>firdes.WIN_BLACKMAN_hARRIS</value>
    </param>
  </block>
  <block>
    <key>qtgui_sink_x</key>
    <param>
      <key>bw</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>fc</key>
      <value>0</value>
    </param>
    <param>
      <key>freqchangevar</key>
      <value>None</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>fftsize</key>
      <value>4096</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(496, 256)</value>
    </param>
    <param>
      <key>gui_hint</key>
      <value></value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>qtgui_sink_x_0_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>name</key>
      <value>""</value>
    </param>
    <param>
      <key>plotconst</key>
      <value>True</value>
    </param>
    <param>
      <key>plotfreq</key>
      <value>True</value>
    </param>
    <param>
      <key>plottime</key>
      <value>True</value>
    </param>
    <param>
      <key>plotwaterfall</key>
      <value>True</value>
    </param>
    <param>
      <key>showports</key>
      <value>True</value>
    </param>
    <param>
      <key>showrf</key>
      <value>False</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>rate</key>
      <value>10</value>
    </param>
    <param>
      <key>wintype</key>
      <value>firdes.WIN_BLACKMAN_hARRIS</value>
    </param>
  </block>
  <block>
    <key>analog_sig_source_x</key>
    <param>
      <key>amp</key>
      <value>1</value>
    </param>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>freq</key>
      <value>freq</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(240, 80)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>so</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>offset</key>
      <value>0</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>waveform</key>
      <value>analog.GR_COS_WAVE</value>
    </param>
  </block>
  <connection>
    <source_block_id>audio_source_0</source_block_id>
    <sink_block_id>qtgui_sink_x_0_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>so</source_block_id>
    <sink_block_id>audio_sink_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>so</source_block_id>
    <sink_block_id>qtgui_sink_x_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
</flow_graph>

Credits

Patrick Fitzgerald
124 projects • 48 followers
Contact

Comments

Please log in or sign up to comment.