commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] gnuradio-examples/python/audio dialtone_v.py


From: Robert McGwier
Subject: [Commit-gnuradio] gnuradio-examples/python/audio dialtone_v.py
Date: Tue, 13 Jun 2006 13:29:27 +0000

CVSROOT:        /sources/gnuradio
Module name:    gnuradio-examples
Changes by:     Robert McGwier <rwmcgwier>      06/06/13 13:29:27

Added files:
        python/audio   : dialtone_v.py 

Log message:
        A file to test the vector add and multiples with audio tones.  This 
test does not yet run.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnuradio-examples/python/audio/dialtone_v.py?cvsroot=gnuradio&rev=1.1

Patches:
Index: dialtone_v.py
===================================================================
RCS file: dialtone_v.py
diff -N dialtone_v.py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ dialtone_v.py       13 Jun 2006 13:29:27 -0000      1.1
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+
+from gnuradio import gr, audio
+
+# For testing different buffer sizes
+size = 1024
+rate = 48000
+
+fg = gr.flow_graph()
+
+# Two streams of floats
+a = gr.sig_source_f(rate, gr.GR_SIN_WAVE, 350, 0.5, 0.0);
+b = gr.sig_source_f(rate, gr.GR_SIN_WAVE, 440, 0.5, 0.0);
+
+# Turn them into vectors of length 'size'
+av = gr.stream_to_vector(gr.sizeof_float, size)
+bv = gr.stream_to_vector(gr.sizeof_float, size)
+
+# Make a vector adder for float vectors
+adder = gr.add_vff(size)
+
+# Make a 1 Hz sine envelope
+envelope = gr.sig_source_f(rate, gr.GR_SIN_WAVE, 1, 0.5, 0.5);
+envelopev = gr.stream_to_vector(gr.sizeof_float, size)
+
+# Make a mixer to apply the envelope
+mixer = gr.multiply_vff(size)
+
+# Turn the vector back into a stream of floats
+result = gr.vector_to_stream(gr.sizeof_float, size)
+
+# Play it
+sink = audio.sink(rate)
+
+fg.connect(a, av)
+fg.connect(b, bv)
+fg.connect(av, (adder, 0))
+fg.connect(bv, (adder, 1))
+fg.connect(adder, (mixer, 0))
+fg.connect(envelope, envelopev)
+fg.connect(envelopev, (mixer, 1))
+fg.connect(mixer, result)
+fg.connect(result, sink)
+
+try:
+    fg.run()
+except KeyboardInterrupt:
+    pass




reply via email to

[Prev in Thread] Current Thread [Next in Thread]