summaryrefslogtreecommitdiff
path: root/gr-vocoder
diff options
context:
space:
mode:
Diffstat (limited to 'gr-vocoder')
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/alaw_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/codec2_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/cvsd_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/g721_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/g723_24_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/g723_40_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/gsm_audio_loopback.py6
-rw-r--r--[-rwxr-xr-x]gr-vocoder/examples/ulaw_audio_loopback.py6
-rw-r--r--gr-vocoder/grc/CMakeLists.txt41
-rw-r--r--gr-vocoder/grc/vocoder.tree.yml22
-rw-r--r--gr-vocoder/grc/vocoder_alaw_decode_bs.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_alaw_decode_bs.xml20
-rw-r--r--gr-vocoder/grc/vocoder_alaw_encode_sb.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_alaw_encode_sb.xml22
-rw-r--r--gr-vocoder/grc/vocoder_block_tree.xml54
-rw-r--r--gr-vocoder/grc/vocoder_codec2_decode_ps.block.yml30
-rw-r--r--gr-vocoder/grc/vocoder_codec2_decode_ps.xml60
-rw-r--r--gr-vocoder/grc/vocoder_codec2_encode_sp.block.yml30
-rw-r--r--gr-vocoder/grc/vocoder_codec2_encode_sp.xml61
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_decode.block.yml26
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_decode.xml32
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_decode_bs.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_decode_bs.xml21
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_encode.block.yml26
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_encode.xml32
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_encode_sb.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_cvsd_encode_sb.xml22
-rw-r--r--gr-vocoder/grc/vocoder_freedv_rx_ss.block.yml33
-rw-r--r--gr-vocoder/grc/vocoder_freedv_rx_ss.xml58
-rw-r--r--gr-vocoder/grc/vocoder_freedv_tx_ss.block.yml31
-rw-r--r--gr-vocoder/grc/vocoder_freedv_tx_ss.xml57
-rw-r--r--gr-vocoder/grc/vocoder_g721_decode_bs.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_g721_decode_bs.xml20
-rw-r--r--gr-vocoder/grc/vocoder_g721_encode_sb.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_g721_encode_sb.xml22
-rw-r--r--gr-vocoder/grc/vocoder_g723_24_decode_bs.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_g723_24_decode_bs.xml20
-rw-r--r--gr-vocoder/grc/vocoder_g723_24_encode_sb.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_g723_24_encode_sb.xml22
-rw-r--r--gr-vocoder/grc/vocoder_g723_40_decode_bs.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_g723_40_decode_bs.xml20
-rw-r--r--gr-vocoder/grc/vocoder_g723_40_encode_sb.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_g723_40_encode_sb.xml22
-rw-r--r--gr-vocoder/grc/vocoder_gsm_fr_decode_ps.block.yml17
-rw-r--r--gr-vocoder/grc/vocoder_gsm_fr_decode_ps.xml21
-rw-r--r--gr-vocoder/grc/vocoder_gsm_fr_encode_sp.block.yml17
-rw-r--r--gr-vocoder/grc/vocoder_gsm_fr_encode_sp.xml23
-rw-r--r--gr-vocoder/grc/vocoder_ulaw_decode_bs.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_ulaw_decode_bs.xml20
-rw-r--r--gr-vocoder/grc/vocoder_ulaw_encode_sb.block.yml16
-rw-r--r--gr-vocoder/grc/vocoder_ulaw_encode_sb.xml22
-rw-r--r--gr-vocoder/python/vocoder/CMakeLists.txt2
-rw-r--r--gr-vocoder/python/vocoder/__init__.py9
-rw-r--r--gr-vocoder/python/vocoder/cvsd.py19
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_alaw_vocoder.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_codec2_vocoder.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_cvsd_vocoder.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_g721_vocoder.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_g723_24_vocoder.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_g723_40_vocoder.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_gsm_full_rate.py1
-rw-r--r--[-rwxr-xr-x]gr-vocoder/python/vocoder/qa_ulaw_vocoder.py1
62 files changed, 502 insertions, 700 deletions
diff --git a/gr-vocoder/examples/alaw_audio_loopback.py b/gr-vocoder/examples/alaw_audio_loopback.py
index 5b800b5bfb..7dbcbb209c 100755..100644
--- a/gr-vocoder/examples/alaw_audio_loopback.py
+++ b/gr-vocoder/examples/alaw_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -33,7 +35,7 @@ def build_graph():
enc = vocoder.alaw_encode_sb()
dec = vocoder.alaw_decode_bs()
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -41,6 +43,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/codec2_audio_loopback.py b/gr-vocoder/examples/codec2_audio_loopback.py
index b63d508025..ea690861aa 100755..100644
--- a/gr-vocoder/examples/codec2_audio_loopback.py
+++ b/gr-vocoder/examples/codec2_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -34,7 +36,7 @@ def build_graph():
enc = vocoder.codec2_encode_sp(codec2.MODE_2400)
dec = vocoder.codec2_decode_ps(codec2.MODE_2400)
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -42,6 +44,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/cvsd_audio_loopback.py b/gr-vocoder/examples/cvsd_audio_loopback.py
index b9385b7dc6..15074d62cd 100755..100644
--- a/gr-vocoder/examples/cvsd_audio_loopback.py
+++ b/gr-vocoder/examples/cvsd_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -43,7 +45,7 @@ def build_graph():
s2f = blocks.short_to_float()
decim = filter.rational_resampler_fff(1, 8)
- sink_scale = blocks.multiply_const_ff(1.0/scale_factor)
+ sink_scale = blocks.multiply_const_ff(1.0 / scale_factor)
sink = audio.sink(sample_rate, "plughw:0,0")
tb.connect(src, src_scale, interp, f2s, enc)
@@ -65,6 +67,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/g721_audio_loopback.py b/gr-vocoder/examples/g721_audio_loopback.py
index 42abbabf64..afe9b04b91 100755..100644
--- a/gr-vocoder/examples/g721_audio_loopback.py
+++ b/gr-vocoder/examples/g721_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -33,7 +35,7 @@ def build_graph():
enc = vocoder.g721_encode_sb()
dec = vocoder.g721_decode_bs()
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -41,6 +43,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/g723_24_audio_loopback.py b/gr-vocoder/examples/g723_24_audio_loopback.py
index cade33f295..62e58c1412 100755..100644
--- a/gr-vocoder/examples/g723_24_audio_loopback.py
+++ b/gr-vocoder/examples/g723_24_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -33,7 +35,7 @@ def build_graph():
enc = vocoder.g723_24_encode_sb()
dec = vocoder.g723_24_decode_bs()
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -41,6 +43,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/g723_40_audio_loopback.py b/gr-vocoder/examples/g723_40_audio_loopback.py
index 77e40884cf..edc8f5716e 100755..100644
--- a/gr-vocoder/examples/g723_40_audio_loopback.py
+++ b/gr-vocoder/examples/g723_40_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -33,7 +35,7 @@ def build_graph():
enc = vocoder.g723_40_encode_sb()
dec = vocoder.g723_40_decode_bs()
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -41,6 +43,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/gsm_audio_loopback.py b/gr-vocoder/examples/gsm_audio_loopback.py
index 5d5bf9dd72..c71e6fd384 100755..100644
--- a/gr-vocoder/examples/gsm_audio_loopback.py
+++ b/gr-vocoder/examples/gsm_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -33,7 +35,7 @@ def build_graph():
enc = vocoder.gsm_fr_encode_sp()
dec = vocoder.gsm_fr_decode_ps()
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -41,6 +43,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/examples/ulaw_audio_loopback.py b/gr-vocoder/examples/ulaw_audio_loopback.py
index 9f0617622e..6a8a493f30 100755..100644
--- a/gr-vocoder/examples/ulaw_audio_loopback.py
+++ b/gr-vocoder/examples/ulaw_audio_loopback.py
@@ -20,6 +20,8 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import audio
from gnuradio import blocks
@@ -33,7 +35,7 @@ def build_graph():
enc = vocoder.ulaw_encode_sb()
dec = vocoder.ulaw_decode_bs()
s2f = blocks.short_to_float()
- sink_scale = blocks.multiply_const_ff(1.0/32767.)
+ sink_scale = blocks.multiply_const_ff(1.0 / 32767.)
sink = audio.sink(8000)
tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink)
return tb
@@ -41,6 +43,6 @@ def build_graph():
if __name__ == '__main__':
tb = build_graph()
tb.start()
- raw_input ('Press Enter to exit: ')
+ input ('Press Enter to exit: ')
tb.stop()
tb.wait()
diff --git a/gr-vocoder/grc/CMakeLists.txt b/gr-vocoder/grc/CMakeLists.txt
index eef52179cb..1d85c69ab1 100644
--- a/gr-vocoder/grc/CMakeLists.txt
+++ b/gr-vocoder/grc/CMakeLists.txt
@@ -18,36 +18,35 @@
# Boston, MA 02110-1301, USA.
install(FILES
- vocoder_alaw_decode_bs.xml
- vocoder_alaw_encode_sb.xml
- vocoder_block_tree.xml
- vocoder_cvsd_decode_bs.xml
- vocoder_cvsd_decode.xml
- vocoder_cvsd_encode_sb.xml
- vocoder_cvsd_encode.xml
- vocoder_g721_decode_bs.xml
- vocoder_g721_encode_sb.xml
- vocoder_g723_24_decode_bs.xml
- vocoder_g723_24_encode_sb.xml
- vocoder_g723_40_decode_bs.xml
- vocoder_g723_40_encode_sb.xml
- vocoder_ulaw_decode_bs.xml
- vocoder_ulaw_encode_sb.xml
+ vocoder_alaw_decode_bs.block.yml
+ vocoder_alaw_encode_sb.block.yml
+ vocoder_cvsd_decode_bs.block.yml
+ vocoder_cvsd_decode.block.yml
+ vocoder_cvsd_encode_sb.block.yml
+ vocoder_cvsd_encode.block.yml
+ vocoder_g721_decode_bs.block.yml
+ vocoder_g721_encode_sb.block.yml
+ vocoder_g723_24_decode_bs.block.yml
+ vocoder_g723_24_encode_sb.block.yml
+ vocoder_g723_40_decode_bs.block.yml
+ vocoder_g723_40_encode_sb.block.yml
+ vocoder_ulaw_decode_bs.block.yml
+ vocoder_ulaw_encode_sb.block.yml
DESTINATION ${GRC_BLOCKS_DIR}
)
if(LIBCODEC2_FOUND)
install(FILES
- vocoder_codec2_decode_ps.xml
- vocoder_codec2_encode_sp.xml
+ vocoder_codec2_decode_ps.block.yml
+ vocoder_codec2_encode_sp.block.yml
DESTINATION ${GRC_BLOCKS_DIR}
)
endif(LIBCODEC2_FOUND)
if(LIBCODEC2_HAS_FREEDV_API)
install(FILES
- vocoder_freedv_rx_ss.xml
- vocoder_freedv_tx_ss.xml
+ vocoder_freedv_rx_ss.block.yml
+ vocoder_freedv_tx_ss.block.yml
DESTINATION ${GRC_BLOCKS_DIR}
COMPONENT "vocoder_python"
)
@@ -55,8 +54,8 @@ endif(LIBCODEC2_HAS_FREEDV_API)
if(LIBGSM_FOUND)
install(FILES
- vocoder_gsm_fr_decode_ps.xml
- vocoder_gsm_fr_encode_sp.xml
+ vocoder_gsm_fr_decode_ps.block.yml
+ vocoder_gsm_fr_encode_sp.block.yml
DESTINATION ${GRC_BLOCKS_DIR}
)
endif(LIBGSM_FOUND)
diff --git a/gr-vocoder/grc/vocoder.tree.yml b/gr-vocoder/grc/vocoder.tree.yml
new file mode 100644
index 0000000000..bdcf2de462
--- /dev/null
+++ b/gr-vocoder/grc/vocoder.tree.yml
@@ -0,0 +1,22 @@
+'[Core]':
+- Audio:
+ - vocoder_alaw_decode_bs
+ - vocoder_alaw_encode_sb
+ - vocoder_codec2_decode_ps
+ - vocoder_codec2_encode_sp
+ - vocoder_cvsd_decode_bs
+ - vocoder_cvsd_encode_sb
+ - vocoder_cvsd_decode_bf
+ - vocoder_cvsd_encode_fb
+ - vocoder_freedv_tx_ss
+ - vocoder_freedv_rx_ss
+ - vocoder_g721_decode_bs
+ - vocoder_g721_encode_sb
+ - vocoder_g723_24_decode_bs
+ - vocoder_g723_24_encode_sb
+ - vocoder_g723_40_decode_bs
+ - vocoder_g723_40_encode_sb
+ - vocoder_gsm_fr_decode_ps
+ - vocoder_gsm_fr_encode_sp
+ - vocoder_ulaw_decode_bs
+ - vocoder_ulaw_encode_sb
diff --git a/gr-vocoder/grc/vocoder_alaw_decode_bs.block.yml b/gr-vocoder/grc/vocoder_alaw_decode_bs.block.yml
new file mode 100644
index 0000000000..f4e7e92e56
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_alaw_decode_bs.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_alaw_decode_bs
+label: Alaw Audio Decoder
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.alaw_decode_bs()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_alaw_decode_bs.xml b/gr-vocoder/grc/vocoder_alaw_decode_bs.xml
deleted file mode 100644
index 776187d4de..0000000000
--- a/gr-vocoder/grc/vocoder_alaw_decode_bs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## Alaw audio decoder
-###################################################
- -->
-<block>
- <name>Alaw Audio Decoder</name>
- <key>vocoder_alaw_decode_bs</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.alaw_decode_bs()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_alaw_encode_sb.block.yml b/gr-vocoder/grc/vocoder_alaw_encode_sb.block.yml
new file mode 100644
index 0000000000..8a688ed963
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_alaw_encode_sb.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_alaw_encode_sb
+label: g711 Alaw Audio Encoder
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.alaw_encode_sb()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_alaw_encode_sb.xml b/gr-vocoder/grc/vocoder_alaw_encode_sb.xml
deleted file mode 100644
index 728158eec7..0000000000
--- a/gr-vocoder/grc/vocoder_alaw_encode_sb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## Alaw audio encoder
-###################################################
- -->
-<block>
- <name>g711 Alaw Audio Encoder</name>
- <key>vocoder_alaw_encode_sb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.alaw_encode_sb()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/grc/vocoder_block_tree.xml b/gr-vocoder/grc/vocoder_block_tree.xml
deleted file mode 100644
index e47af4cdd5..0000000000
--- a/gr-vocoder/grc/vocoder_block_tree.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
- Copyright 2011 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.
--->
-
-<!--
-###################################################
-##Block Tree for GR Digital blocks.
-###################################################
- -->
-<cat>
- <name>[Core]</name>
- <cat>
- <name>Audio</name>
- <block>vocoder_alaw_decode_bs</block>
- <block>vocoder_alaw_encode_sb</block>
- <block>vocoder_codec2_decode_ps</block>
- <block>vocoder_codec2_encode_sp</block>
- <block>vocoder_cvsd_decode_bs</block>
- <block>vocoder_cvsd_encode_sb</block>
- <block>vocoder_cvsd_decode_bf</block>
- <block>vocoder_cvsd_encode_fb</block>
- <block>vocoder_freedv_tx_ss</block>
- <block>vocoder_freedv_rx_ss</block>
- <block>vocoder_g721_decode_bs</block>
- <block>vocoder_g721_encode_sb</block>
- <block>vocoder_g723_24_decode_bs</block>
- <block>vocoder_g723_24_encode_sb</block>
- <block>vocoder_g723_40_decode_bs</block>
- <block>vocoder_g723_40_encode_sb</block>
- <block>vocoder_gsm_fr_decode_ps</block>
- <block>vocoder_gsm_fr_encode_sp</block>
- <block>vocoder_ulaw_decode_bs</block>
- <block>vocoder_ulaw_encode_sb</block>
- </cat>
-</cat>
diff --git a/gr-vocoder/grc/vocoder_codec2_decode_ps.block.yml b/gr-vocoder/grc/vocoder_codec2_decode_ps.block.yml
new file mode 100644
index 0000000000..0aec7ec4c1
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_codec2_decode_ps.block.yml
@@ -0,0 +1,30 @@
+id: vocoder_codec2_decode_ps
+label: CODEC2 Audio Decoder
+
+parameters:
+- id: mode
+ label: Bit rate
+ dtype: int
+ default: codec2.MODE_2400
+ options: [codec2.MODE_3200, codec2.MODE_2400, codec2.MODE_1600, codec2.MODE_1400,
+ codec2.MODE_1300, codec2.MODE_1200, codec2.MODE_700, codec2.MODE_700B]
+ option_labels: [3200 bps, 2400 bps, 1600 bps, 1400 bps, 1300 bps, 1200 bps, 700
+ bps, 700B bps]
+ hide: ${ 'part' if vlen == 1 else 'none' }
+
+inputs:
+- domain: stream
+ dtype: byte
+ vlen: '${ { 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28 }[mode] }'
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: |-
+ from gnuradio import vocoder
+ from gnuradio.vocoder import codec2
+ make: vocoder.codec2_decode_ps(${mode})
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_codec2_decode_ps.xml b/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
deleted file mode 100644
index 8448dc83df..0000000000
--- a/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## CODEC2 audio decoder
-###################################################
- -->
-<block>
- <name>CODEC2 Audio Decoder</name>
- <key>vocoder_codec2_decode_ps</key>
- <import>from gnuradio import vocoder</import>
- <import>from gnuradio.vocoder import codec2</import>
- <make>vocoder.codec2_decode_ps($mode)</make>
- <param>
- <name>Bit rate</name>
- <key>mode</key>
- <value>codec2.MODE_2400</value>
- <type>int</type>
- <option>
- <name>3200 bps</name>
- <key>codec2.MODE_3200</key>
- </option>
- <option>
- <name>2400 bps</name>
- <key>codec2.MODE_2400</key>
- </option>
- <option>
- <name>1600 bps</name>
- <key>codec2.MODE_1600</key>
- </option>
- <option>
- <name>1400 bps</name>
- <key>codec2.MODE_1400</key>
- </option>
- <option>
- <name>1300 bps</name>
- <key>codec2.MODE_1300</key>
- </option>
- <option>
- <name>1200 bps</name>
- <key>codec2.MODE_1200</key>
- </option>
- <option>
- <name>700 bps</name>
- <key>codec2.MODE_700</key>
- </option>
- <option>
- <name>700B bps</name>
- <key>codec2.MODE_700B</key>
- </option>
- </param>
- <sink>
- <name>in</name>
- <type>byte</type>
- <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28 }[$mode]</vlen>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_codec2_encode_sp.block.yml b/gr-vocoder/grc/vocoder_codec2_encode_sp.block.yml
new file mode 100644
index 0000000000..f03787341c
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_codec2_encode_sp.block.yml
@@ -0,0 +1,30 @@
+id: vocoder_codec2_encode_sp
+label: CODEC2 Audio Encoder
+
+parameters:
+- id: mode
+ label: Bit rate
+ dtype: int
+ default: codec2.MODE_2400
+ options: [codec2.MODE_3200, codec2.MODE_2400, codec2.MODE_1600, codec2.MODE_1400,
+ codec2.MODE_1300, codec2.MODE_1200, codec2.MODE_700, codec2.MODE_700B]
+ option_labels: [3200 bps, 2400 bps, 1600 bps, 1400 bps, 1300 bps, 1200 bps, 700
+ bps, 700B bps]
+ hide: ${ 'part' if vlen == 1 else 'none' }
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+ vlen: '${ { 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28 }[mode] }'
+
+templates:
+ imports: |-
+ from gnuradio import vocoder
+ from gnuradio.vocoder import codec2
+ make: vocoder.codec2_encode_sp(${mode})
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_codec2_encode_sp.xml b/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
deleted file mode 100644
index f11ad443c6..0000000000
--- a/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## CODEC2 audio encoder
-###################################################
- -->
-<block>
- <name>CODEC2 Audio Encoder</name>
- <key>vocoder_codec2_encode_sp</key>
- <import>from gnuradio import vocoder</import>
- <import>from gnuradio.vocoder import codec2</import>
- <make>vocoder.codec2_encode_sp($mode)</make>
- <param>
- <name>Bit rate</name>
- <key>mode</key>
- <value>codec2.MODE_2400</value>
- <type>int</type>
- <option>
- <name>3200 bps</name>
- <key>codec2.MODE_3200</key>
- </option>
- <option>
- <name>2400 bps</name>
- <key>codec2.MODE_2400</key>
- </option>
- <option>
- <name>1600 bps</name>
- <key>codec2.MODE_1600</key>
- </option>
- <option>
- <name>1400 bps</name>
- <key>codec2.MODE_1400</key>
- </option>
- <option>
- <name>1300 bps</name>
- <key>codec2.MODE_1300</key>
- </option>
- <option>
- <name>1200 bps</name>
- <key>codec2.MODE_1200</key>
- </option>
- <option>
- <name>700 bps</name>
- <key>codec2.MODE_700</key>
- </option>
- <option>
- <name>700B bps</name>
- <key>codec2.MODE_700B</key>
- </option>
- </param>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28 }[$mode]</vlen>
- </source>
-</block>
-
diff --git a/gr-vocoder/grc/vocoder_cvsd_decode.block.yml b/gr-vocoder/grc/vocoder_cvsd_decode.block.yml
new file mode 100644
index 0000000000..59d9a7a1be
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_cvsd_decode.block.yml
@@ -0,0 +1,26 @@
+id: vocoder_cvsd_decode_bf
+label: CVSD Decoder
+
+parameters:
+- id: resample
+ label: Resample
+ dtype: int
+ default: '8'
+- id: bw
+ label: Frac. Bandwidth
+ dtype: real
+ default: '0.5'
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: float
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.cvsd_decode_bf(${resample},${bw})
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_cvsd_decode.xml b/gr-vocoder/grc/vocoder_cvsd_decode.xml
deleted file mode 100644
index ce117c5d4e..0000000000
--- a/gr-vocoder/grc/vocoder_cvsd_decode.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## CVSD Encoder
-###################################################
- -->
-<block>
- <name>CVSD Decoder</name>
- <key>vocoder_cvsd_decode_bf</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.cvsd_decode_bf($resample,$bw)</make>
- <param>
- <name>Resample</name>
- <key>resample</key>
- <value>8</value>
- <type>int</type>
- </param>
- <param>
- <name>Frac. Bandwidth</name>
- <key>bw</key>
- <value>0.5</value>
- <type>real</type>
- </param>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>float</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_cvsd_decode_bs.block.yml b/gr-vocoder/grc/vocoder_cvsd_decode_bs.block.yml
new file mode 100644
index 0000000000..f7893aed29
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_cvsd_decode_bs.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_cvsd_decode_bs
+label: CVSD Audio Decoder (Raw Bit-Level)
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.cvsd_decode_bs()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_cvsd_decode_bs.xml b/gr-vocoder/grc/vocoder_cvsd_decode_bs.xml
deleted file mode 100644
index 40ddc04d43..0000000000
--- a/gr-vocoder/grc/vocoder_cvsd_decode_bs.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## CVSD audio decoder
-###################################################
- -->
-<block>
- <name>CVSD Audio Decoder (Raw Bit-Level)</name>
- <key>vocoder_cvsd_decode_bs</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.cvsd_decode_bs()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
-
diff --git a/gr-vocoder/grc/vocoder_cvsd_encode.block.yml b/gr-vocoder/grc/vocoder_cvsd_encode.block.yml
new file mode 100644
index 0000000000..ab3f43c17f
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_cvsd_encode.block.yml
@@ -0,0 +1,26 @@
+id: vocoder_cvsd_encode_fb
+label: CVSD Encoder
+
+parameters:
+- id: resample
+ label: Resample
+ dtype: int
+ default: '8'
+- id: bw
+ label: Frac. Bandwidth
+ dtype: real
+ default: '0.5'
+
+inputs:
+- domain: stream
+ dtype: float
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.cvsd_encode_fb(${resample},${bw})
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_cvsd_encode.xml b/gr-vocoder/grc/vocoder_cvsd_encode.xml
deleted file mode 100644
index 12e73f6025..0000000000
--- a/gr-vocoder/grc/vocoder_cvsd_encode.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## CVSD Encoder
-###################################################
- -->
-<block>
- <name>CVSD Encoder</name>
- <key>vocoder_cvsd_encode_fb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.cvsd_encode_fb($resample,$bw)</make>
- <param>
- <name>Resample</name>
- <key>resample</key>
- <value>8</value>
- <type>int</type>
- </param>
- <param>
- <name>Frac. Bandwidth</name>
- <key>bw</key>
- <value>0.5</value>
- <type>real</type>
- </param>
- <sink>
- <name>in</name>
- <type>float</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_cvsd_encode_sb.block.yml b/gr-vocoder/grc/vocoder_cvsd_encode_sb.block.yml
new file mode 100644
index 0000000000..6b2ab297bf
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_cvsd_encode_sb.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_cvsd_encode_sb
+label: CVSD Audio Encoder (Raw Bit-Level)
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.cvsd_encode_sb()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_cvsd_encode_sb.xml b/gr-vocoder/grc/vocoder_cvsd_encode_sb.xml
deleted file mode 100644
index a92387a60b..0000000000
--- a/gr-vocoder/grc/vocoder_cvsd_encode_sb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## CVSD audio encoder
-###################################################
- -->
-<block>
- <name>CVSD Audio Encoder (Raw Bit-Level)</name>
- <key>vocoder_cvsd_encode_sb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.cvsd_encode_sb()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/grc/vocoder_freedv_rx_ss.block.yml b/gr-vocoder/grc/vocoder_freedv_rx_ss.block.yml
new file mode 100644
index 0000000000..4b486d41cb
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_freedv_rx_ss.block.yml
@@ -0,0 +1,33 @@
+id: vocoder_freedv_rx_ss
+label: FreeDV demodulator
+
+parameters:
+- id: mode
+ label: Operating Mode
+ dtype: int
+ default: freedv_api.MODE_1600
+ options: [freedv_api.MODE_1600, freedv_api.MODE_700, freedv_api.MODE_700B, freedv_api.MODE_2400A,
+ freedv_api.MODE_2400B, freedv_api.MODE_800XA]
+ option_labels: ['1600', '700', 700B, 2400A, 2400B, 800XA]
+- id: squelch_thresh
+ label: Squelch Threshold
+ dtype: float
+ default: '-100.0'
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: |-
+ from gnuradio import vocoder
+ from gnuradio.vocoder import freedv_api
+ make: vocoder.freedv_rx_ss(${mode},${squelch_thresh})
+ callbacks:
+ - set_squelch_thresh(${squelch_thresh})
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_freedv_rx_ss.xml b/gr-vocoder/grc/vocoder_freedv_rx_ss.xml
deleted file mode 100644
index 14e00a0979..0000000000
--- a/gr-vocoder/grc/vocoder_freedv_rx_ss.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## FreeDV audio modem demodulator
-###################################################
- -->
-<block>
- <name>FreeDV demodulator</name>
- <key>vocoder_freedv_rx_ss</key>
- <import>from gnuradio import vocoder</import>
- <import>from gnuradio.vocoder import freedv_api</import>
- <make>vocoder.freedv_rx_ss($mode,$squelch_thresh)</make>
- <callback>set_squelch_thresh($squelch_thresh)</callback>
- <param>
- <name>Operating Mode</name>
- <key>mode</key>
- <value>freedv_api.MODE_1600</value>
- <type>int</type>
- <option>
- <name>1600</name>
- <key>freedv_api.MODE_1600</key>
- </option>
- <option>
- <name>700</name>
- <key>freedv_api.MODE_700</key>
- </option>
- <option>
- <name>700B</name>
- <key>freedv_api.MODE_700B</key>
- </option>
- <option>
- <name>2400A</name>
- <key>freedv_api.MODE_2400A</key>
- </option>
- <option>
- <name>2400B</name>
- <key>freedv_api.MODE_2400B</key>
- </option>
- <option>
- <name>800XA</name>
- <key>freedv_api.MODE_800XA</key>
- </option>
- </param>
- <param>
- <name>Squelch Threshold</name>
- <key>squelch_thresh</key>
- <value>-100.0</value>
- <type>float</type>
- </param>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_freedv_tx_ss.block.yml b/gr-vocoder/grc/vocoder_freedv_tx_ss.block.yml
new file mode 100644
index 0000000000..6ae73dfbbb
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_freedv_tx_ss.block.yml
@@ -0,0 +1,31 @@
+id: vocoder_freedv_tx_ss
+label: FreeDV modulator
+
+parameters:
+- id: mode
+ label: Operating Mode
+ dtype: int
+ default: freedv_api.MODE_1600
+ options: [freedv_api.MODE_1600, freedv_api.MODE_700, freedv_api.MODE_700B, freedv_api.MODE_2400A,
+ freedv_api.MODE_2400B, freedv_api.MODE_800XA]
+ option_labels: ['1600', '700', 700B, 2400A, 2400B, 800XA]
+- id: txt_msg
+ label: Text Message
+ dtype: string
+ default: '''GNU Radio'''
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: |-
+ from gnuradio import vocoder
+ from gnuradio.vocoder import freedv_api
+ make: vocoder.freedv_tx_ss(${mode},${txt_msg})
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_freedv_tx_ss.xml b/gr-vocoder/grc/vocoder_freedv_tx_ss.xml
deleted file mode 100644
index 54a49b730f..0000000000
--- a/gr-vocoder/grc/vocoder_freedv_tx_ss.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## FreeDV audio modem modulator
-###################################################
- -->
-<block>
- <name>FreeDV modulator</name>
- <key>vocoder_freedv_tx_ss</key>
- <import>from gnuradio import vocoder</import>
- <import>from gnuradio.vocoder import freedv_api</import>
- <make>vocoder.freedv_tx_ss($mode,$txt_msg)</make>
- <param>
- <name>Operating Mode</name>
- <key>mode</key>
- <value>freedv_api.MODE_1600</value>
- <type>int</type>
- <option>
- <name>1600</name>
- <key>freedv_api.MODE_1600</key>
- </option>
- <option>
- <name>700</name>
- <key>freedv_api.MODE_700</key>
- </option>
- <option>
- <name>700B</name>
- <key>freedv_api.MODE_700B</key>
- </option>
- <option>
- <name>2400A</name>
- <key>freedv_api.MODE_2400A</key>
- </option>
- <option>
- <name>2400B</name>
- <key>freedv_api.MODE_2400B</key>
- </option>
- <option>
- <name>800XA</name>
- <key>freedv_api.MODE_800XA</key>
- </option>
- </param>
- <param>
- <name>Text Message</name>
- <key>txt_msg</key>
- <value>'GNU Radio'</value>
- <type>string</type>
- </param>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_g721_decode_bs.block.yml b/gr-vocoder/grc/vocoder_g721_decode_bs.block.yml
new file mode 100644
index 0000000000..8ee30dca01
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_g721_decode_bs.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_g721_decode_bs
+label: g721 Audio Decoder
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.g721_decode_bs()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_g721_decode_bs.xml b/gr-vocoder/grc/vocoder_g721_decode_bs.xml
deleted file mode 100644
index d5c0291b7d..0000000000
--- a/gr-vocoder/grc/vocoder_g721_decode_bs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## g271 audio decoder
-###################################################
- -->
-<block>
- <name>g721 Audio Decoder</name>
- <key>vocoder_g721_decode_bs</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.g721_decode_bs()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_g721_encode_sb.block.yml b/gr-vocoder/grc/vocoder_g721_encode_sb.block.yml
new file mode 100644
index 0000000000..f9a60ed25b
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_g721_encode_sb.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_g721_encode_sb
+label: g721 Audio Encoder
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.g721_encode_sb()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_g721_encode_sb.xml b/gr-vocoder/grc/vocoder_g721_encode_sb.xml
deleted file mode 100644
index f105ff8ff0..0000000000
--- a/gr-vocoder/grc/vocoder_g721_encode_sb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## g721 audio encoder
-###################################################
- -->
-<block>
- <name>g721 Audio Encoder</name>
- <key>vocoder_g721_encode_sb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.g721_encode_sb()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/grc/vocoder_g723_24_decode_bs.block.yml b/gr-vocoder/grc/vocoder_g723_24_decode_bs.block.yml
new file mode 100644
index 0000000000..d16a1d3a0b
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_g723_24_decode_bs.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_g723_24_decode_bs
+label: g723_24 Audio Decoder
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.g723_24_decode_bs()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_g723_24_decode_bs.xml b/gr-vocoder/grc/vocoder_g723_24_decode_bs.xml
deleted file mode 100644
index 939a7f91b3..0000000000
--- a/gr-vocoder/grc/vocoder_g723_24_decode_bs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## g723_24 audio decoder
-###################################################
- -->
-<block>
- <name>g723_24 Audio Decoder</name>
- <key>vocoder_g723_24_decode_bs</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.g723_24_decode_bs()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_g723_24_encode_sb.block.yml b/gr-vocoder/grc/vocoder_g723_24_encode_sb.block.yml
new file mode 100644
index 0000000000..36f95b630a
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_g723_24_encode_sb.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_g723_24_encode_sb
+label: g723_24 Audio Encoder
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.g723_24_encode_sb()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_g723_24_encode_sb.xml b/gr-vocoder/grc/vocoder_g723_24_encode_sb.xml
deleted file mode 100644
index 0e70ddedc0..0000000000
--- a/gr-vocoder/grc/vocoder_g723_24_encode_sb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## g723_24 audio encoder
-###################################################
- -->
-<block>
- <name>g723_24 Audio Encoder</name>
- <key>vocoder_g723_24_encode_sb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.g723_24_encode_sb()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/grc/vocoder_g723_40_decode_bs.block.yml b/gr-vocoder/grc/vocoder_g723_40_decode_bs.block.yml
new file mode 100644
index 0000000000..e42e33d6bd
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_g723_40_decode_bs.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_g723_40_decode_bs
+label: g723_40 Audio Decoder
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.g723_40_decode_bs()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_g723_40_decode_bs.xml b/gr-vocoder/grc/vocoder_g723_40_decode_bs.xml
deleted file mode 100644
index f3ba56e5bc..0000000000
--- a/gr-vocoder/grc/vocoder_g723_40_decode_bs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## g723_40 audio decoder
-###################################################
- -->
-<block>
- <name>g723_40 Audio Decoder</name>
- <key>vocoder_g723_40_decode_bs</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.g723_40_decode_bs()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_g723_40_encode_sb.block.yml b/gr-vocoder/grc/vocoder_g723_40_encode_sb.block.yml
new file mode 100644
index 0000000000..2f58b41514
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_g723_40_encode_sb.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_g723_40_encode_sb
+label: g723_40 Audio Encoder
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.g723_40_encode_sb()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_g723_40_encode_sb.xml b/gr-vocoder/grc/vocoder_g723_40_encode_sb.xml
deleted file mode 100644
index fbbf600ffa..0000000000
--- a/gr-vocoder/grc/vocoder_g723_40_encode_sb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## g723_40 audio encoder
-###################################################
- -->
-<block>
- <name>g723_40 Audio Encoder</name>
- <key>vocoder_g723_40_encode_sb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.g723_40_encode_sb()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/grc/vocoder_gsm_fr_decode_ps.block.yml b/gr-vocoder/grc/vocoder_gsm_fr_decode_ps.block.yml
new file mode 100644
index 0000000000..47ff9621ba
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_gsm_fr_decode_ps.block.yml
@@ -0,0 +1,17 @@
+id: vocoder_gsm_fr_decode_ps
+label: GSM full-rate Audio Decoder
+
+inputs:
+- domain: stream
+ dtype: byte
+ vlen: 33
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.gsm_fr_decode_ps()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_gsm_fr_decode_ps.xml b/gr-vocoder/grc/vocoder_gsm_fr_decode_ps.xml
deleted file mode 100644
index bef07fb822..0000000000
--- a/gr-vocoder/grc/vocoder_gsm_fr_decode_ps.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## GSM full-rate audio decoder
-###################################################
- -->
-<block>
- <name>GSM full-rate Audio Decoder</name>
- <key>vocoder_gsm_fr_decode_ps</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.gsm_fr_decode_ps()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- <vlen>33</vlen>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_gsm_fr_encode_sp.block.yml b/gr-vocoder/grc/vocoder_gsm_fr_encode_sp.block.yml
new file mode 100644
index 0000000000..4fcd2dc6d0
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_gsm_fr_encode_sp.block.yml
@@ -0,0 +1,17 @@
+id: vocoder_gsm_fr_encode_sp
+label: GSM full-rate Audio Encoder
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+ vlen: 33
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.gsm_fr_encode_sp()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_gsm_fr_encode_sp.xml b/gr-vocoder/grc/vocoder_gsm_fr_encode_sp.xml
deleted file mode 100644
index 4c3eab71a8..0000000000
--- a/gr-vocoder/grc/vocoder_gsm_fr_encode_sp.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## GSM full-rate audio encoder
-###################################################
- -->
-<block>
- <name>GSM full-rate Audio Encoder</name>
- <key>vocoder_gsm_fr_encode_sp</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.gsm_fr_encode_sp()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- <vlen>33</vlen>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/grc/vocoder_ulaw_decode_bs.block.yml b/gr-vocoder/grc/vocoder_ulaw_decode_bs.block.yml
new file mode 100644
index 0000000000..384036ee53
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_ulaw_decode_bs.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_ulaw_decode_bs
+label: ulaw Audio Decoder
+
+inputs:
+- domain: stream
+ dtype: byte
+
+outputs:
+- domain: stream
+ dtype: short
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.ulaw_decode_bs()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml b/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml
deleted file mode 100644
index ca3c535c18..0000000000
--- a/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## Ulaw audio decoder
-###################################################
- -->
-<block>
- <name>ulaw Audio Decoder</name>
- <key>vocoder_ulaw_decode_bs</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.ulaw_decode_bs()</make>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>short</type>
- </source>
-</block>
diff --git a/gr-vocoder/grc/vocoder_ulaw_encode_sb.block.yml b/gr-vocoder/grc/vocoder_ulaw_encode_sb.block.yml
new file mode 100644
index 0000000000..024384d625
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_ulaw_encode_sb.block.yml
@@ -0,0 +1,16 @@
+id: vocoder_ulaw_encode_sb
+label: ulaw Audio Encoder
+
+inputs:
+- domain: stream
+ dtype: short
+
+outputs:
+- domain: stream
+ dtype: byte
+
+templates:
+ imports: from gnuradio import vocoder
+ make: vocoder.ulaw_encode_sb()
+
+file_format: 1
diff --git a/gr-vocoder/grc/vocoder_ulaw_encode_sb.xml b/gr-vocoder/grc/vocoder_ulaw_encode_sb.xml
deleted file mode 100644
index 8e76d8d083..0000000000
--- a/gr-vocoder/grc/vocoder_ulaw_encode_sb.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-## ulaw audio encoder
-###################################################
- -->
-<block>
- <name>ulaw Audio Encoder</name>
- <key>vocoder_ulaw_encode_sb</key>
- <import>from gnuradio import vocoder</import>
- <make>vocoder.ulaw_encode_sb()</make>
- <sink>
- <name>in</name>
- <type>short</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
-
-
diff --git a/gr-vocoder/python/vocoder/CMakeLists.txt b/gr-vocoder/python/vocoder/CMakeLists.txt
index d4fe3d9e8c..464cc4ff33 100644
--- a/gr-vocoder/python/vocoder/CMakeLists.txt
+++ b/gr-vocoder/python/vocoder/CMakeLists.txt
@@ -61,6 +61,6 @@ if(ENABLE_TESTING)
endif()
foreach(py_qa_test_file ${py_qa_test_files})
get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE)
- GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${CMAKE_CURRENT_SOURCE_DIR}/${py_qa_test_file})
+ GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} -B ${CMAKE_CURRENT_SOURCE_DIR}/${py_qa_test_file})
endforeach(py_qa_test_file)
endif(ENABLE_TESTING)
diff --git a/gr-vocoder/python/vocoder/__init__.py b/gr-vocoder/python/vocoder/__init__.py
index 7b1b82f847..3f4c301d96 100644
--- a/gr-vocoder/python/vocoder/__init__.py
+++ b/gr-vocoder/python/vocoder/__init__.py
@@ -23,13 +23,16 @@
This is the gr-vocoder package. This package includes the various
vocoder blocks in GNU Radio.
'''
+from __future__ import absolute_import
+from __future__ import unicode_literals
+
import os
try:
- from vocoder_swig import *
+ from .vocoder_swig import *
except ImportError:
dirname, filename = os.path.split(os.path.abspath(__file__))
__path__.append(os.path.join(dirname, "..", "..", "swig"))
- from vocoder_swig import *
+ from .vocoder_swig import *
-from cvsd import *
+from .cvsd import *
diff --git a/gr-vocoder/python/vocoder/cvsd.py b/gr-vocoder/python/vocoder/cvsd.py
index b6ce822935..00a24df25f 100644
--- a/gr-vocoder/python/vocoder/cvsd.py
+++ b/gr-vocoder/python/vocoder/cvsd.py
@@ -20,8 +20,11 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr, filter, blocks
-import vocoder_swig
+from . import vocoder_swig
+
class cvsd_encode_fb(gr.hier_block2):
'''
@@ -39,9 +42,9 @@ class cvsd_encode_fb(gr.hier_block2):
from 1 to 8. A rate of 8k with a resampling rate of 8 provides a good quality signal.
'''
- gr.hier_block2.__init__(self, "cvsd_encode",
- gr.io_signature(1, 1, gr.sizeof_float), # Input signature
- gr.io_signature(1, 1, gr.sizeof_char)) # Output signature
+ gr.hier_block2.__init__(self, "cvsd_encode",
+ gr.io_signature(1, 1, gr.sizeof_float), # Input signature
+ gr.io_signature(1, 1, gr.sizeof_char)) # Output signature
scale_factor = 32000.0
self.interp = resample
@@ -70,9 +73,9 @@ class cvsd_decode_bf(gr.hier_block2):
When using the CVSD vocoder, appropriate sampling rates are from 8k to 64k with resampling rates
from 1 to 8. A rate of 8k with a resampling rate of 8 provides a good quality signal.
'''
- gr.hier_block2.__init__(self, "cvsd_decode",
- gr.io_signature(1, 1, gr.sizeof_char), # Input signature
- gr.io_signature(1, 1, gr.sizeof_float)) # Output signature
+ gr.hier_block2.__init__(self, "cvsd_decode",
+ gr.io_signature(1, 1, gr.sizeof_char), # Input signature
+ gr.io_signature(1, 1, gr.sizeof_float)) # Output signature
scale_factor = 32000.0
self.decim = resample
@@ -81,6 +84,6 @@ class cvsd_decode_bf(gr.hier_block2):
s2f = blocks.short_to_float()
taps = filter.firdes.low_pass(1, 1, bw, 2*bw)
decim = filter.fir_filter_fff(self.decim, taps)
- sink_scale = blocks.multiply_const_ff(1.0/scale_factor)
+ sink_scale = blocks.multiply_const_ff(1.0 / scale_factor)
self.connect(self, dec, s2f, decim, sink_scale, self)
diff --git a/gr-vocoder/python/vocoder/qa_alaw_vocoder.py b/gr-vocoder/python/vocoder/qa_alaw_vocoder.py
index 4a2b4c3c8b..e2398a2016 100755..100644
--- a/gr-vocoder/python/vocoder/qa_alaw_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_alaw_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
class test_alaw_vocoder (gr_unittest.TestCase):
diff --git a/gr-vocoder/python/vocoder/qa_codec2_vocoder.py b/gr-vocoder/python/vocoder/qa_codec2_vocoder.py
index 8fe3ac56b5..8c7656cb49 100755..100644
--- a/gr-vocoder/python/vocoder/qa_codec2_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_codec2_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
from gnuradio.vocoder import codec2
diff --git a/gr-vocoder/python/vocoder/qa_cvsd_vocoder.py b/gr-vocoder/python/vocoder/qa_cvsd_vocoder.py
index 408c6b74c9..b1516e0ef8 100755..100644
--- a/gr-vocoder/python/vocoder/qa_cvsd_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_cvsd_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks, filter
from gnuradio.vocoder import cvsd
diff --git a/gr-vocoder/python/vocoder/qa_g721_vocoder.py b/gr-vocoder/python/vocoder/qa_g721_vocoder.py
index 8808b8fede..ad1e85471f 100755..100644
--- a/gr-vocoder/python/vocoder/qa_g721_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_g721_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
class test_g721_vocoder (gr_unittest.TestCase):
diff --git a/gr-vocoder/python/vocoder/qa_g723_24_vocoder.py b/gr-vocoder/python/vocoder/qa_g723_24_vocoder.py
index c587623e1d..755cde922c 100755..100644
--- a/gr-vocoder/python/vocoder/qa_g723_24_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_g723_24_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
class test_g723_24_vocoder (gr_unittest.TestCase):
diff --git a/gr-vocoder/python/vocoder/qa_g723_40_vocoder.py b/gr-vocoder/python/vocoder/qa_g723_40_vocoder.py
index 689102237f..911de9f66f 100755..100644
--- a/gr-vocoder/python/vocoder/qa_g723_40_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_g723_40_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
class test_g723_40_vocoder (gr_unittest.TestCase):
diff --git a/gr-vocoder/python/vocoder/qa_gsm_full_rate.py b/gr-vocoder/python/vocoder/qa_gsm_full_rate.py
index 69ea94bbf9..5cca230455 100755..100644
--- a/gr-vocoder/python/vocoder/qa_gsm_full_rate.py
+++ b/gr-vocoder/python/vocoder/qa_gsm_full_rate.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
class test_gsm_vocoder (gr_unittest.TestCase):
diff --git a/gr-vocoder/python/vocoder/qa_ulaw_vocoder.py b/gr-vocoder/python/vocoder/qa_ulaw_vocoder.py
index 46c8d490a8..8cfc13fc05 100755..100644
--- a/gr-vocoder/python/vocoder/qa_ulaw_vocoder.py
+++ b/gr-vocoder/python/vocoder/qa_ulaw_vocoder.py
@@ -20,6 +20,7 @@
# Boston, MA 02110-1301, USA.
#
+
from gnuradio import gr, gr_unittest, vocoder, blocks
class test_ulaw_vocoder (gr_unittest.TestCase):