summaryrefslogtreecommitdiff
path: root/gr-audio/examples/python
diff options
context:
space:
mode:
Diffstat (limited to 'gr-audio/examples/python')
-rw-r--r--gr-audio/examples/python/CMakeLists.txt2
-rwxr-xr-xgr-audio/examples/python/audio_copy.py25
-rwxr-xr-xgr-audio/examples/python/audio_fft.py138
-rwxr-xr-xgr-audio/examples/python/audio_play.py30
-rwxr-xr-xgr-audio/examples/python/audio_to_file.py33
-rwxr-xr-xgr-audio/examples/python/dial_tone.py23
-rwxr-xr-xgr-audio/examples/python/dial_tone_daemon.py22
-rwxr-xr-xgr-audio/examples/python/dial_tone_wav.py30
-rwxr-xr-xgr-audio/examples/python/mono_tone.py28
-rwxr-xr-xgr-audio/examples/python/multi_tone.py30
-rwxr-xr-xgr-audio/examples/python/noise.py20
-rwxr-xr-xgr-audio/examples/python/spectrum_inversion.py26
-rwxr-xr-xgr-audio/examples/python/test_resampler.py28
13 files changed, 128 insertions, 307 deletions
diff --git a/gr-audio/examples/python/CMakeLists.txt b/gr-audio/examples/python/CMakeLists.txt
index 24e29e2348..6e90b0ef5a 100644
--- a/gr-audio/examples/python/CMakeLists.txt
+++ b/gr-audio/examples/python/CMakeLists.txt
@@ -21,7 +21,6 @@ include(GrPython)
GR_PYTHON_INSTALL(PROGRAMS
audio_copy.py
- audio_fft.py
audio_play.py
audio_to_file.py
dial_tone.py
@@ -33,5 +32,4 @@ GR_PYTHON_INSTALL(PROGRAMS
spectrum_inversion.py
test_resampler.py
DESTINATION ${GR_PKG_AUDIO_EXAMPLES_DIR}
- COMPONENT "audio_python"
)
diff --git a/gr-audio/examples/python/audio_copy.py b/gr-audio/examples/python/audio_copy.py
index 946aae1c2a..b68e949497 100755
--- a/gr-audio/examples/python/audio_copy.py
+++ b/gr-audio/examples/python/audio_copy.py
@@ -22,29 +22,26 @@
from gnuradio import gr
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-I", "--audio-input", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-I", "--audio-input", default="",
help="pcm input device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- (options, args) = parser.parse_args ()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate, default=%(default)s")
+ args = parser.parse_args ()
- sample_rate = int(options.sample_rate)
- src = audio.source (sample_rate, options.audio_input)
- dst = audio.sink (sample_rate, options.audio_output)
+ sample_rate = int(args.sample_rate)
+ src = audio.source (sample_rate, args.audio_input)
+ dst = audio.sink (sample_rate, args.audio_output)
# Determine the maximum number of outputs on the source and
# maximum number of inputs on the sink, then connect together
diff --git a/gr-audio/examples/python/audio_fft.py b/gr-audio/examples/python/audio_fft.py
deleted file mode 100755
index 519963da54..0000000000
--- a/gr-audio/examples/python/audio_fft.py
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2004,2005,2007 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-from gnuradio import gr, gru, audio
-from gnuradio import eng_notation
-from gnuradio.eng_option import eng_option
-from gnuradio.wxgui import stdgui2, fftsink2, waterfallsink2, scopesink2, form, slider
-from optparse import OptionParser
-import wx
-import sys
-
-class app_top_block(stdgui2.std_top_block):
- def __init__(self, frame, panel, vbox, argv):
- stdgui2.std_top_block.__init__(self, frame, panel, vbox, argv)
-
- self.frame = frame
- self.panel = panel
-
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-W", "--waterfall", action="store_true", default=False,
- help="Enable waterfall display")
- parser.add_option("-S", "--oscilloscope", action="store_true", default=False,
- help="Enable oscilloscope display")
- parser.add_option("-I", "--audio-input", type="string", default="",
- help="pcm input device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
-
- (options, args) = parser.parse_args()
- sample_rate = int(options.sample_rate)
-
- if len(args) != 0:
- parser.print_help()
- sys.exit(1)
-
- self.show_debug_info = True
-
- # build the graph
- if options.waterfall:
- self.scope = \
- waterfallsink2.waterfall_sink_f (panel, fft_size=1024, sample_rate=sample_rate)
- elif options.oscilloscope:
- self.scope = scopesink2.scope_sink_f(panel, sample_rate=sample_rate)
- else:
- self.scope = fftsink2.fft_sink_f (panel, fft_size=1024, sample_rate=sample_rate, fft_rate=30,
- ref_scale=1.0, ref_level=0, y_divs=12)
-
- self.src = audio.source (sample_rate, options.audio_input)
-
- self.connect(self.src, self.scope)
-
- self._build_gui(vbox)
-
- # set initial values
-
- def _set_status_msg(self, msg):
- self.frame.GetStatusBar().SetStatusText(msg, 0)
-
- def _build_gui(self, vbox):
-
- def _form_set_freq(kv):
- return self.set_freq(kv['freq'])
-
- vbox.Add(self.scope.win, 10, wx.EXPAND)
-
- #self._build_subpanel(vbox)
-
- def _build_subpanel(self, vbox_arg):
- # build a secondary information panel (sometimes hidden)
-
- # FIXME figure out how to have this be a subpanel that is always
- # created, but has its visibility controlled by foo.Show(True/False)
-
- def _form_set_decim(kv):
- return self.set_decim(kv['decim'])
-
- if not(self.show_debug_info):
- return
-
- panel = self.panel
- vbox = vbox_arg
- myform = self.myform
-
- #panel = wx.Panel(self.panel, -1)
- #vbox = wx.BoxSizer(wx.VERTICAL)
-
- hbox = wx.BoxSizer(wx.HORIZONTAL)
- hbox.Add((5,0), 0)
-
- myform['decim'] = form.int_field(
- parent=panel, sizer=hbox, label="Decim",
- callback=myform.check_input_and_call(_form_set_decim, self._set_status_msg))
-
- hbox.Add((5,0), 1)
- myform['fs@usb'] = form.static_float_field(
- parent=panel, sizer=hbox, label="Fs@USB")
-
- hbox.Add((5,0), 1)
- myform['dbname'] = form.static_text_field(
- parent=panel, sizer=hbox)
-
- hbox.Add((5,0), 1)
- myform['baseband'] = form.static_float_field(
- parent=panel, sizer=hbox, label="Analog BB")
-
- hbox.Add((5,0), 1)
- myform['ddc'] = form.static_float_field(
- parent=panel, sizer=hbox, label="DDC")
-
- hbox.Add((5,0), 0)
- vbox.Add(hbox, 0, wx.EXPAND)
-
-
-def main ():
- app = stdgui2.stdapp(app_top_block, "Audio FFT", nstatus=1)
- app.MainLoop()
-
-if __name__ == '__main__':
- main ()
diff --git a/gr-audio/examples/python/audio_play.py b/gr-audio/examples/python/audio_play.py
index 94ea72498d..367d7bd201 100755
--- a/gr-audio/examples/python/audio_play.py
+++ b/gr-audio/examples/python/audio_play.py
@@ -23,8 +23,8 @@
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
class my_top_block(gr.top_block):
@@ -32,22 +32,18 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-F", "--filename", type="string", default="audio.dat",
- help="read input from FILE")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- parser.add_option("-R", "--repeat", action="store_true", default=False)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-F", "--filename", default="audio.dat",
+ help="read input from FILENAME default=%(default)r")
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate (default=%(default)r)")
+ parser.add_argument("-R", "--repeat", action="store_true")
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
- src = blocks.file_source (gr.sizeof_float, options.filename, options.repeat)
- dst = audio.sink (sample_rate, options.audio_output)
+ args = parser.parse_args()
+ sample_rate = int(args.sample_rate)
+ src = blocks.file_source(gr.sizeof_float, args.filename, args.repeat)
+ dst = audio.sink(sample_rate, args.audio_output)
self.connect(src, dst)
diff --git a/gr-audio/examples/python/audio_to_file.py b/gr-audio/examples/python/audio_to_file.py
index 6a2cbcb12e..b385abf925 100755
--- a/gr-audio/examples/python/audio_to_file.py
+++ b/gr-audio/examples/python/audio_to_file.py
@@ -23,37 +23,34 @@
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- usage="%prog: [options] output_filename"
- parser = OptionParser(option_class=eng_option, usage=usage)
- parser.add_option("-I", "--audio-input", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-I", "--audio-input", default="",
help="pcm input device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- parser.add_option("-N", "--nsamples", type="eng_float", default=None,
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate to RATE (%(default)r)")
+ parser.add_argument("-N", "--nsamples", type=eng_float,
help="number of samples to collect [default=+inf]")
+ parser.add_argument('file_name', metavar='FILE-NAME',
+ help="Output file path")
- (options, args) = parser.parse_args ()
- if len(args) != 1:
- parser.print_help()
- raise SystemExit, 1
- filename = args[0]
+ args = parser.parse_args()
- sample_rate = int(options.sample_rate)
- src = audio.source (sample_rate, options.audio_input)
- dst = blocks.file_sink (gr.sizeof_float, filename)
+ sample_rate = int(args.sample_rate)
+ src = audio.source(sample_rate, args.audio_input)
+ dst = blocks.file_sink(gr.sizeof_float, args.file_name)
- if options.nsamples is None:
+ if args.nsamples is None:
self.connect((src, 0), dst)
else:
- head = blocks.head(gr.sizeof_float, int(options.nsamples))
+ head = blocks.head(gr.sizeof_float, int(args.nsamples))
self.connect((src, 0), head, dst)
diff --git a/gr-audio/examples/python/dial_tone.py b/gr-audio/examples/python/dial_tone.py
index c55d0d38dd..ebef8c01cb 100755
--- a/gr-audio/examples/python/dial_tone.py
+++ b/gr-audio/examples/python/dial_tone.py
@@ -22,8 +22,8 @@
from gnuradio import gr
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
try:
from gnuradio import analog
@@ -36,22 +36,19 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate, default=%(default)s")
+ args = parser.parse_args()
+
+ sample_rate = int(args.sample_rate)
ampl = 0.1
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 350, ampl)
src1 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 440, ampl)
- dst = audio.sink(sample_rate, options.audio_output)
+ dst = audio.sink(sample_rate, args.audio_output)
self.connect(src0, (dst, 0))
self.connect(src1, (dst, 1))
diff --git a/gr-audio/examples/python/dial_tone_daemon.py b/gr-audio/examples/python/dial_tone_daemon.py
index e4dbd95321..9919e367a6 100755
--- a/gr-audio/examples/python/dial_tone_daemon.py
+++ b/gr-audio/examples/python/dial_tone_daemon.py
@@ -22,8 +22,8 @@
from gnuradio import gr, gru
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
import os
try:
@@ -37,22 +37,18 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate to RATE (%(default)r)")
+ args = parser.parse_args()
+ sample_rate = int(args.sample_rate)
ampl = 0.1
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 350, ampl)
src1 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 440, ampl)
- dst = audio.sink(sample_rate, options.audio_output)
+ dst = audio.sink(sample_rate, args.audio_output)
self.connect(src0, (dst, 0))
self.connect(src1, (dst, 1))
diff --git a/gr-audio/examples/python/dial_tone_wav.py b/gr-audio/examples/python/dial_tone_wav.py
index 82f8cf331d..351ca94e78 100755
--- a/gr-audio/examples/python/dial_tone_wav.py
+++ b/gr-audio/examples/python/dial_tone_wav.py
@@ -24,8 +24,8 @@
from gnuradio import gr
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
try:
from gnuradio import analog
@@ -38,25 +38,23 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- usage = "%prog: [options] filename"
- parser = OptionParser(option_class=eng_option, usage=usage)
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- parser.add_option("-N", "--samples", type="eng_float", default=None,
- help="number of samples to record")
- (options, args) = parser.parse_args ()
- if len(args) != 1 or options.samples is None:
- parser.print_help()
- raise SystemExit, 1
+ parser = ArgumentParser()
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate to RATE (%(default)r)")
+ parser.add_argument("-N", "--samples", type=eng_float, required=True,
+ help="number of samples to record")
+ parser.add_argument('file_name', metavar='WAV-FILE',
+ help='Output WAV file name', nargs=1)
+ args = parser.parse_args()
- sample_rate = int(options.sample_rate)
+ sample_rate = int(args.sample_rate)
ampl = 0.1
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 350, ampl)
src1 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 440, ampl)
- head0 = blocks.head(gr.sizeof_float, int(options.samples))
- head1 = blocks.head(gr.sizeof_float, int(options.samples))
- dst = blocks.wavfile_sink(args[0], 2, int(options.sample_rate), 16)
+ head0 = blocks.head(gr.sizeof_float, int(args.samples))
+ head1 = blocks.head(gr.sizeof_float, int(args.samples))
+ dst = blocks.wavfile_sink(args.file_name[0], 2, int(args.sample_rate), 16)
self.connect(src0, head0, (dst, 0))
self.connect(src1, head1, (dst, 1))
diff --git a/gr-audio/examples/python/mono_tone.py b/gr-audio/examples/python/mono_tone.py
index ad73d62327..653fd575fc 100755
--- a/gr-audio/examples/python/mono_tone.py
+++ b/gr-audio/examples/python/mono_tone.py
@@ -22,8 +22,8 @@
from gnuradio import gr
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
try:
from gnuradio import analog
@@ -40,27 +40,23 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- parser.add_option("-D", "--dont-block", action="store_false", default=True,
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate to RATE %(default)r)")
+ parser.add_argument("-D", "--dont-block", action="store_false", default=True,
dest="ok_to_block")
- (options, args) = parser.parse_args ()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
- ampl = 0.1
+ args = parser.parse_args()
+ sample_rate = int(args.sample_rate)
+ ampl = 0.5
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 650, ampl)
dst = audio.sink(sample_rate,
- options.audio_output,
- options.ok_to_block)
+ args.audio_output,
+ args.ok_to_block)
self.connect (src0, (dst, 0))
diff --git a/gr-audio/examples/python/multi_tone.py b/gr-audio/examples/python/multi_tone.py
index 6232cbef52..00c052794a 100755
--- a/gr-audio/examples/python/multi_tone.py
+++ b/gr-audio/examples/python/multi_tone.py
@@ -22,8 +22,8 @@
from gnuradio import gr
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float, intx
+from argparse import ArgumentParser
try:
from gnuradio import analog
@@ -40,22 +40,18 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- parser.add_option ("-m", "--max-channels", type="int", default="16",
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate to RATE (%(default)r)")
+ parser.add_argument ("-m", "--max-channels", type=int, default=16,
help="set maximum channels to use")
- parser.add_option("-D", "--dont-block", action="store_false", default=True,
+ parser.add_argument("-D", "--dont-block", action="store_false",
dest="ok_to_block")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
- limit_channels = options.max_channels
+ args = parser.parse_args()
+ sample_rate = int(args.sample_rate)
+ limit_channels = args.max_channels
ampl = 0.1
@@ -76,8 +72,8 @@ class my_top_block(gr.top_block):
progression = (7, 11, 1, 5, 9)
dst = audio.sink(sample_rate,
- options.audio_output,
- options.ok_to_block)
+ args.audio_output,
+ args.ok_to_block)
max_chan = dst.input_signature().max_streams()
if (max_chan == -1) or (max_chan > limit_channels):
diff --git a/gr-audio/examples/python/noise.py b/gr-audio/examples/python/noise.py
index b15065cd4e..31fdb16fe5 100755
--- a/gr-audio/examples/python/noise.py
+++ b/gr-audio/examples/python/noise.py
@@ -23,30 +23,26 @@
from gnuradio import gr
from gnuradio import audio
from gnuradio import digital
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
help="set sample rate to RATE (48000)")
- (options, args) = parser.parse_args ()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
+ args = parser.parse_args()
+ sample_rate = int(args.sample_rate)
ampl = 0.1
src = digital.glfsr_source_b(32) # Pseudorandom noise source
b2f = digital.chunks_to_symbols_bf([ampl, -ampl], 1)
- dst = audio.sink(sample_rate, options.audio_output)
+ dst = audio.sink(sample_rate, args.audio_output)
self.connect(src, b2f, dst)
if __name__ == '__main__':
diff --git a/gr-audio/examples/python/spectrum_inversion.py b/gr-audio/examples/python/spectrum_inversion.py
index a02d6c5821..163668e450 100755
--- a/gr-audio/examples/python/spectrum_inversion.py
+++ b/gr-audio/examples/python/spectrum_inversion.py
@@ -29,29 +29,25 @@
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float, intx
+from argparse import ArgumentParser
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-I", "--audio-input", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-I", "--audio-input", default="",
help="pcm input device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=8000,
- help="set sample rate to RATE (8000)")
- (options, args) = parser.parse_args ()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
- src = audio.source (sample_rate, options.audio_input)
- dst = audio.sink (sample_rate, options.audio_output)
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=8000,
+ help="set sample rate to RATE (%(default)r)")
+ args = parser.parse_args()
+ sample_rate = int(args.sample_rate)
+ src = audio.source (sample_rate, args.audio_input)
+ dst = audio.sink (sample_rate, args.audio_output)
vec1 = [1, -1]
vsource = blocks.vector_source_f(vec1, True)
diff --git a/gr-audio/examples/python/test_resampler.py b/gr-audio/examples/python/test_resampler.py
index 94d95fecf3..4d8a9233e7 100755
--- a/gr-audio/examples/python/test_resampler.py
+++ b/gr-audio/examples/python/test_resampler.py
@@ -23,8 +23,8 @@
from gnuradio import gr, gru
from gnuradio import audio
from gnuradio import filter
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float, intx
+from argparse import ArgumentParser
try:
from gnuradio import analog
@@ -43,20 +43,16 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-i", "--input-rate", type="eng_float", default=8000,
- help="set input sample rate to RATE (%default)")
- parser.add_option("-o", "--output-rate", type="eng_float", default=48000,
- help="set output sample rate to RATE (%default)")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- input_rate = int(options.input_rate)
- output_rate = int(options.output_rate)
+ parser.add_argument("-i", "--input-rate", type=eng_float, default=8000,
+ help="set input sample rate to RATE %(default)r")
+ parser.add_argument("-o", "--output-rate", type=eng_float, default=48000,
+ help="set output sample rate to RATE %(default)r")
+ args = parser.parse_args()
+ input_rate = int(args.input_rate)
+ output_rate = int(args.output_rate)
interp = gru.lcm(input_rate, output_rate) / input_rate
decim = gru.lcm(input_rate, output_rate) / output_rate
@@ -67,7 +63,7 @@ class my_top_block(gr.top_block):
ampl = 0.1
src0 = analog.sig_source_f(input_rate, analog.GR_SIN_WAVE, 650, ampl)
rr = filter.rational_resampler_fff(interp, decim)
- dst = audio.sink(output_rate, options.audio_output)
+ dst = audio.sink(output_rate, args.audio_output)
self.connect(src0, rr, (dst, 0))
if __name__ == '__main__':