summaryrefslogtreecommitdiff
path: root/gr-audio/examples
diff options
context:
space:
mode:
authorJiří Pinkava <j-pi@seznam.cz>2016-06-26 13:04:37 +0200
committerJiří Pinkava <j-pi@seznam.cz>2016-09-20 10:39:49 +0200
commit48b155fcceffa20aec8c16d7227968e7ff126633 (patch)
treeacb5d319090857f8463dbde0c5e93c6b301b4495 /gr-audio/examples
parentf874d7767cc1d70eb13add441124c4da9d637b4d (diff)
examples: replace OptionParser by ArgumentParser
Diffstat (limited to 'gr-audio/examples')
-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_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
9 files changed, 107 insertions, 140 deletions
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_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__':