<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opendigitalradio.org/index.php?action=history&amp;feed=atom&amp;title=Stereo_FM_transmitter_using_gnuradio</id>
	<title>Stereo FM transmitter using gnuradio - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opendigitalradio.org/index.php?action=history&amp;feed=atom&amp;title=Stereo_FM_transmitter_using_gnuradio"/>
	<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;action=history"/>
	<updated>2026-04-24T09:57:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=964&amp;oldid=prev</id>
		<title>Coinchon at 09:08, 15 April 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=964&amp;oldid=prev"/>
		<updated>2013-04-15T09:08:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:08, 15 April 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot; &gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&amp;#039;&amp;#039;ERROR: An error exists in this program, preemphasis block must be added on audio and not the whole signal, it is advised to use the other [[FM RDS Stereo transmitter using gnuradio]] (error on this one will be corrected in the future, orginal source has been lost)&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:FM transmitter stereo.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:FM transmitter stereo.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Coinchon</name></author>
	</entry>
	<entry>
		<id>https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=314&amp;oldid=prev</id>
		<title>Coinchon at 20:32, 2 January 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=314&amp;oldid=prev"/>
		<updated>2010-01-02T20:32:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:32, 2 January 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot; &gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;-r32000&amp;quot; perform sample rate conversion to 32kHz.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;-r32000&amp;quot; perform sample rate conversion to 32kHz.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;Note: This transmitter could be used without USRP by feeding the multiplex stream to to a high samplerate soundcard connected to a hardware FM modulator. To be tested...&amp;#039;&amp;#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Coinchon</name></author>
	</entry>
	<entry>
		<id>https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=301&amp;oldid=prev</id>
		<title>Coinchon at 18:15, 2 January 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=301&amp;oldid=prev"/>
		<updated>2010-01-02T18:15:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:15, 2 January 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stereo FM transmitter using gnuradio.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tools needed:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*gnuradio 3.2&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*grc (gnuradio companion)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*mpg123&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*USRP&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;In this example we will show how to make a Stereo FM software transmitter. Input is from an mp3 stream for an Internet radio.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Look at GRC schema or use directly python code below.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Input file is a unix FIFO file that means that we need to feed it externally from the shell using these commands:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Creation of the FIFO file (once):&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; mkfifo stream_32k.fifo&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Decoding of an mp3 Internet radio station stream, conversion and output of raw linear samples to the FIFO:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; mpg123 -r32000 -s  http://maxxima.mine.nu:8000 &amp;gt;stream_32k.fifo&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;-r32000&amp;quot; perform sample rate conversion to 32kHz.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Coinchon</name></author>
	</entry>
	<entry>
		<id>https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=300&amp;oldid=prev</id>
		<title>Coinchon: /* GRC Schema */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=300&amp;oldid=prev"/>
		<updated>2010-01-02T18:13:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;GRC Schema&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:13, 2 January 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==GRC Schema==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:FM transmitter stereo.png]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Python code==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Python code==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Coinchon</name></author>
	</entry>
	<entry>
		<id>https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=298&amp;oldid=prev</id>
		<title>Coinchon at 18:12, 2 January 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=298&amp;oldid=prev"/>
		<updated>2010-01-02T18:12:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:12, 2 January 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==GRC Schema==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Coinchon</name></author>
	</entry>
	<entry>
		<id>https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=297&amp;oldid=prev</id>
		<title>Coinchon: New page:   ==Python code==   #!/usr/bin/env python  ##################################################  # Gnuradio Python Flow Graph  # Title: FM Stereo Transmitter  # Author: Mathias Coinchon  # G...</title>
		<link rel="alternate" type="text/html" href="https://wiki.opendigitalradio.org/index.php?title=Stereo_FM_transmitter_using_gnuradio&amp;diff=297&amp;oldid=prev"/>
		<updated>2010-01-02T18:12:02Z</updated>

		<summary type="html">&lt;p&gt;New page:   ==Python code==   #!/usr/bin/env python  ##################################################  # Gnuradio Python Flow Graph  # Title: FM Stereo Transmitter  # Author: Mathias Coinchon  # G...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
==Python code==&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/env python&lt;br /&gt;
 ##################################################&lt;br /&gt;
 # Gnuradio Python Flow Graph&lt;br /&gt;
 # Title: FM Stereo Transmitter&lt;br /&gt;
 # Author: Mathias Coinchon&lt;br /&gt;
 # Generated: Sat Jan  2 19:06:07 2010&lt;br /&gt;
 ##################################################&lt;br /&gt;
 &lt;br /&gt;
 from gnuradio import blks2&lt;br /&gt;
 from gnuradio import gr&lt;br /&gt;
 from gnuradio.eng_option import eng_option&lt;br /&gt;
 from gnuradio.gr import firdes&lt;br /&gt;
 from gnuradio.wxgui import fftsink2&lt;br /&gt;
 from gnuradio.wxgui import forms&lt;br /&gt;
 from grc_gnuradio import usrp as grc_usrp&lt;br /&gt;
 from grc_gnuradio import wxgui as grc_wxgui&lt;br /&gt;
 from optparse import OptionParser&lt;br /&gt;
 import wx&lt;br /&gt;
 &lt;br /&gt;
 class FM_stereo_tx(grc_wxgui.top_block_gui):&lt;br /&gt;
 &lt;br /&gt;
 	def __init__(self):&lt;br /&gt;
 		grc_wxgui.top_block_gui.__init__(self, title=&amp;quot;FM Stereo Transmitter&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 		##################################################&lt;br /&gt;
 		# Variables&lt;br /&gt;
 		##################################################&lt;br /&gt;
 		self.st_gain = st_gain = 10&lt;br /&gt;
 		self.samp_rate = samp_rate = 32000&lt;br /&gt;
 		self.pilot_gain = pilot_gain = 80e-3&lt;br /&gt;
 		self.mpx_rate = mpx_rate = 160000&lt;br /&gt;
 		self.Mono_gain = Mono_gain = 0.3&lt;br /&gt;
 		self.FM_freq = FM_freq = 107900000&lt;br /&gt;
 &lt;br /&gt;
 		##################################################&lt;br /&gt;
 		# Controls&lt;br /&gt;
 		##################################################&lt;br /&gt;
 		_st_gain_sizer = wx.BoxSizer(wx.VERTICAL)&lt;br /&gt;
 		self._st_gain_text_box = forms.text_box(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_st_gain_sizer,&lt;br /&gt;
 			value=self.st_gain,&lt;br /&gt;
 			callback=self.set_st_gain,&lt;br /&gt;
 			label=&amp;quot;Stereo gain&amp;quot;,&lt;br /&gt;
 			converter=forms.float_converter(),&lt;br /&gt;
 			proportion=0,&lt;br /&gt;
 		)&lt;br /&gt;
 		self._st_gain_slider = forms.slider(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_st_gain_sizer,&lt;br /&gt;
 			value=self.st_gain,&lt;br /&gt;
 			callback=self.set_st_gain,&lt;br /&gt;
 			minimum=0,&lt;br /&gt;
 			maximum=100,&lt;br /&gt;
 			num_steps=100,&lt;br /&gt;
 			style=wx.SL_HORIZONTAL,&lt;br /&gt;
 			cast=float,&lt;br /&gt;
 			proportion=1,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Add(_st_gain_sizer)&lt;br /&gt;
 		_pilot_gain_sizer = wx.BoxSizer(wx.VERTICAL)&lt;br /&gt;
 		self._pilot_gain_text_box = forms.text_box(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_pilot_gain_sizer,&lt;br /&gt;
 			value=self.pilot_gain,&lt;br /&gt;
 			callback=self.set_pilot_gain,&lt;br /&gt;
 			label=&amp;#039;pilot_gain&amp;#039;,&lt;br /&gt;
 			converter=forms.float_converter(),&lt;br /&gt;
 			proportion=0,&lt;br /&gt;
 		)&lt;br /&gt;
 		self._pilot_gain_slider = forms.slider(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_pilot_gain_sizer,&lt;br /&gt;
 			value=self.pilot_gain,&lt;br /&gt;
 			callback=self.set_pilot_gain,&lt;br /&gt;
 			minimum=0,&lt;br /&gt;
 			maximum=1,&lt;br /&gt;
 			num_steps=100,&lt;br /&gt;
 			style=wx.SL_HORIZONTAL,&lt;br /&gt;
 			cast=float,&lt;br /&gt;
 			proportion=1,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Add(_pilot_gain_sizer)&lt;br /&gt;
 		_Mono_gain_sizer = wx.BoxSizer(wx.VERTICAL)&lt;br /&gt;
 		self._Mono_gain_text_box = forms.text_box(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_Mono_gain_sizer,&lt;br /&gt;
 			value=self.Mono_gain,&lt;br /&gt;
 			callback=self.set_Mono_gain,&lt;br /&gt;
 			label=&amp;quot;Mono signal gain&amp;quot;,&lt;br /&gt;
 			converter=forms.float_converter(),&lt;br /&gt;
 			proportion=0,&lt;br /&gt;
 		)&lt;br /&gt;
 		self._Mono_gain_slider = forms.slider(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_Mono_gain_sizer,&lt;br /&gt;
 			value=self.Mono_gain,&lt;br /&gt;
 			callback=self.set_Mono_gain,&lt;br /&gt;
 			minimum=0,&lt;br /&gt;
 			maximum=1,&lt;br /&gt;
 			num_steps=100,&lt;br /&gt;
 			style=wx.SL_HORIZONTAL,&lt;br /&gt;
 			cast=float,&lt;br /&gt;
 			proportion=1,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Add(_Mono_gain_sizer)&lt;br /&gt;
 		_FM_freq_sizer = wx.BoxSizer(wx.VERTICAL)&lt;br /&gt;
 		self._FM_freq_text_box = forms.text_box(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_FM_freq_sizer,&lt;br /&gt;
 			value=self.FM_freq,&lt;br /&gt;
 			callback=self.set_FM_freq,&lt;br /&gt;
 			label=&amp;quot;FM Frequency&amp;quot;,&lt;br /&gt;
 			converter=forms.float_converter(),&lt;br /&gt;
 			proportion=0,&lt;br /&gt;
 		)&lt;br /&gt;
 		self._FM_freq_slider = forms.slider(&lt;br /&gt;
 			parent=self.GetWin(),&lt;br /&gt;
 			sizer=_FM_freq_sizer,&lt;br /&gt;
 			value=self.FM_freq,&lt;br /&gt;
 			callback=self.set_FM_freq,&lt;br /&gt;
 			minimum=87500000,&lt;br /&gt;
 			maximum=108000000,&lt;br /&gt;
 			num_steps=205,&lt;br /&gt;
 			style=wx.SL_HORIZONTAL,&lt;br /&gt;
 			cast=float,&lt;br /&gt;
 			proportion=1,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Add(_FM_freq_sizer)&lt;br /&gt;
 &lt;br /&gt;
 		##################################################&lt;br /&gt;
 		# Blocks&lt;br /&gt;
 		##################################################&lt;br /&gt;
 		self.Audio_A_resampler = blks2.rational_resampler_fff(&lt;br /&gt;
 			interpolation=5,&lt;br /&gt;
 			decimation=1,&lt;br /&gt;
 			taps=None,&lt;br /&gt;
 			fractional_bw=None,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Audio_B_resampler = blks2.rational_resampler_fff(&lt;br /&gt;
 			interpolation=5,&lt;br /&gt;
 			decimation=1,&lt;br /&gt;
 			taps=None,&lt;br /&gt;
 			fractional_bw=None,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.MPX_upsampler = blks2.rational_resampler_fff(&lt;br /&gt;
 			interpolation=4,&lt;br /&gt;
 			decimation=1,&lt;br /&gt;
 			taps=None,&lt;br /&gt;
 			fractional_bw=None,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Pilot = gr.sig_source_f(mpx_rate, gr.GR_SIN_WAVE, 19000, pilot_gain, 0)&lt;br /&gt;
 		self.band_pass_filter_0 = gr.fir_filter_fff(1, firdes.band_pass(&lt;br /&gt;
 			st_gain, mpx_rate, 23e3, 53e3, 2e3, firdes.WIN_HAMMING, 6.76))&lt;br /&gt;
 		self.blks2_fm_preemph_0 = blks2.fm_preemph(fs=mpx_rate, tau=50e-6)&lt;br /&gt;
 		self.gr_add_xx_0 = gr.add_vff(1)&lt;br /&gt;
 		self.gr_add_xx_1 = gr.add_vff(1)&lt;br /&gt;
 		self.gr_file_source_0 = gr.file_source(gr.sizeof_short*2, &amp;quot;/home/mc/FM_demo/stream_32k.fifo&amp;quot;, True)&lt;br /&gt;
 		self.gr_frequency_modulator_fc_0 = gr.frequency_modulator_fc(0.98)&lt;br /&gt;
 		self.gr_multiply_const_vxx_0 = gr.multiply_const_vcc((32768, ))&lt;br /&gt;
 		self.gr_multiply_const_vxx_1 = gr.multiply_const_vff((0.00003, ))&lt;br /&gt;
 		self.gr_multiply_const_vxx_3 = gr.multiply_const_vff((0.00003, ))&lt;br /&gt;
 		self.gr_multiply_xx_1 = gr.multiply_vff(1)&lt;br /&gt;
 		self.gr_short_to_float_0 = gr.short_to_float()&lt;br /&gt;
 		self.gr_short_to_float_1 = gr.short_to_float()&lt;br /&gt;
 		self.gr_sub_xx_0 = gr.sub_ff(1)&lt;br /&gt;
 		self.gr_vector_to_streams_0 = gr.vector_to_streams(gr.sizeof_short*1, 2)&lt;br /&gt;
 		self.low_pass_filter_0 = gr.fir_filter_fff(1, firdes.low_pass(&lt;br /&gt;
 			Mono_gain, mpx_rate, 15e3, 2e3, firdes.WIN_HAMMING, 6.76))&lt;br /&gt;
 		self.st_38k_carrier = gr.sig_source_f(mpx_rate, gr.GR_SIN_WAVE, 38000, 30e-3, 0)&lt;br /&gt;
 		self.usrp_simple_sink_x_0 = grc_usrp.simple_sink_c(which=0, side=&amp;quot;B&amp;quot;)&lt;br /&gt;
 		self.usrp_simple_sink_x_0.set_interp_rate(200)&lt;br /&gt;
 		self.usrp_simple_sink_x_0.set_frequency(-FM_freq, verbose=True)&lt;br /&gt;
 		self.usrp_simple_sink_x_0.set_gain(0)&lt;br /&gt;
 		self.usrp_simple_sink_x_0.set_enable(True)&lt;br /&gt;
 		self.wxgui_fftsink2_0 = fftsink2.fft_sink_f(&lt;br /&gt;
 			self.GetWin(),&lt;br /&gt;
 			baseband_freq=0,&lt;br /&gt;
 			y_per_div=10,&lt;br /&gt;
 			y_divs=10,&lt;br /&gt;
 			ref_level=50,&lt;br /&gt;
 			sample_rate=mpx_rate,&lt;br /&gt;
 			fft_size=1024,&lt;br /&gt;
 			fft_rate=30,&lt;br /&gt;
 			average=False,&lt;br /&gt;
 			avg_alpha=None,&lt;br /&gt;
 			title=&amp;quot;Baseband spectrum&amp;quot;,&lt;br /&gt;
 			peak_hold=False,&lt;br /&gt;
 		)&lt;br /&gt;
 		self.Add(self.wxgui_fftsink2_0.win)&lt;br /&gt;
 &lt;br /&gt;
 		##################################################&lt;br /&gt;
 		# Connections&lt;br /&gt;
 		##################################################&lt;br /&gt;
 		self.connect((self.Audio_A_resampler, 0), (self.gr_add_xx_1, 0))&lt;br /&gt;
 		self.connect((self.Audio_B_resampler, 0), (self.gr_add_xx_1, 1))&lt;br /&gt;
 		self.connect((self.Audio_A_resampler, 0), (self.gr_sub_xx_0, 0))&lt;br /&gt;
 		self.connect((self.gr_multiply_xx_1, 0), (self.band_pass_filter_0, 0))&lt;br /&gt;
 		self.connect((self.st_38k_carrier, 0), (self.gr_multiply_xx_1, 1))&lt;br /&gt;
 		self.connect((self.low_pass_filter_0, 0), (self.gr_add_xx_0, 0))&lt;br /&gt;
 		self.connect((self.gr_add_xx_1, 0), (self.low_pass_filter_0, 0))&lt;br /&gt;
 		self.connect((self.gr_frequency_modulator_fc_0, 0), (self.gr_multiply_const_vxx_0, 0))&lt;br /&gt;
 		self.connect((self.MPX_upsampler, 0), (self.gr_frequency_modulator_fc_0, 0))&lt;br /&gt;
 		self.connect((self.blks2_fm_preemph_0, 0), (self.MPX_upsampler, 0))&lt;br /&gt;
 		self.connect((self.gr_add_xx_0, 0), (self.blks2_fm_preemph_0, 0))&lt;br /&gt;
 		self.connect((self.Pilot, 0), (self.gr_add_xx_0, 2))&lt;br /&gt;
 		self.connect((self.band_pass_filter_0, 0), (self.gr_add_xx_0, 1))&lt;br /&gt;
 		self.connect((self.gr_add_xx_0, 0), (self.wxgui_fftsink2_0, 0))&lt;br /&gt;
 		self.connect((self.gr_sub_xx_0, 0), (self.gr_multiply_xx_1, 0))&lt;br /&gt;
 		self.connect((self.Audio_B_resampler, 0), (self.gr_sub_xx_0, 1))&lt;br /&gt;
 		self.connect((self.gr_multiply_const_vxx_0, 0), (self.usrp_simple_sink_x_0, 0))&lt;br /&gt;
 		self.connect((self.gr_file_source_0, 0), (self.gr_vector_to_streams_0, 0))&lt;br /&gt;
 		self.connect((self.gr_short_to_float_1, 0), (self.gr_multiply_const_vxx_1, 0))&lt;br /&gt;
 		self.connect((self.gr_multiply_const_vxx_1, 0), (self.Audio_A_resampler, 0))&lt;br /&gt;
 		self.connect((self.gr_short_to_float_0, 0), (self.gr_multiply_const_vxx_3, 0))&lt;br /&gt;
 		self.connect((self.gr_multiply_const_vxx_3, 0), (self.Audio_B_resampler, 0))&lt;br /&gt;
 		self.connect((self.gr_vector_to_streams_0, 1), (self.gr_short_to_float_1, 0))&lt;br /&gt;
 		self.connect((self.gr_vector_to_streams_0, 0), (self.gr_short_to_float_0, 0))&lt;br /&gt;
 &lt;br /&gt;
 	def set_st_gain(self, st_gain):&lt;br /&gt;
 		self.st_gain = st_gain&lt;br /&gt;
 		self.band_pass_filter_0.set_taps(firdes.band_pass(self.st_gain, self.mpx_rate, 23e3, 53e3, 2e3, firdes.WIN_HAMMING, 6.76))&lt;br /&gt;
 		self._st_gain_slider.set_value(self.st_gain)&lt;br /&gt;
 		self._st_gain_text_box.set_value(self.st_gain)&lt;br /&gt;
 &lt;br /&gt;
 	def set_samp_rate(self, samp_rate):&lt;br /&gt;
 		self.samp_rate = samp_rate&lt;br /&gt;
 &lt;br /&gt;
 	def set_pilot_gain(self, pilot_gain):&lt;br /&gt;
 		self.pilot_gain = pilot_gain&lt;br /&gt;
 		self.Pilot.set_amplitude(self.pilot_gain)&lt;br /&gt;
 		self._pilot_gain_slider.set_value(self.pilot_gain)&lt;br /&gt;
 		self._pilot_gain_text_box.set_value(self.pilot_gain)&lt;br /&gt;
 &lt;br /&gt;
 	def set_mpx_rate(self, mpx_rate):&lt;br /&gt;
 		self.mpx_rate = mpx_rate&lt;br /&gt;
 		self.band_pass_filter_0.set_taps(firdes.band_pass(self.st_gain, self.mpx_rate, 23e3, 53e3, 2e3, firdes.WIN_HAMMING, 6.76))&lt;br /&gt;
 		self.low_pass_filter_0.set_taps(firdes.low_pass(self.Mono_gain, self.mpx_rate, 15e3, 2e3, firdes.WIN_HAMMING, 6.76))&lt;br /&gt;
 		self.Pilot.set_sampling_freq(self.mpx_rate)&lt;br /&gt;
 		self.st_38k_carrier.set_sampling_freq(self.mpx_rate)&lt;br /&gt;
 		self.wxgui_fftsink2_0.set_sample_rate(self.mpx_rate)&lt;br /&gt;
 &lt;br /&gt;
 	def set_Mono_gain(self, Mono_gain):&lt;br /&gt;
 		self.Mono_gain = Mono_gain&lt;br /&gt;
 		self.low_pass_filter_0.set_taps(firdes.low_pass(self.Mono_gain, self.mpx_rate, 15e3, 2e3, firdes.WIN_HAMMING, 6.76))&lt;br /&gt;
 		self._Mono_gain_slider.set_value(self.Mono_gain)&lt;br /&gt;
 		self._Mono_gain_text_box.set_value(self.Mono_gain)&lt;br /&gt;
 &lt;br /&gt;
 	def set_FM_freq(self, FM_freq):&lt;br /&gt;
 		self.FM_freq = FM_freq&lt;br /&gt;
 		self.usrp_simple_sink_x_0.set_frequency(-self.FM_freq)&lt;br /&gt;
 		self._FM_freq_slider.set_value(self.FM_freq)&lt;br /&gt;
 		self._FM_freq_text_box.set_value(self.FM_freq)&lt;br /&gt;
 &lt;br /&gt;
 if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
 	parser = OptionParser(option_class=eng_option, usage=&amp;quot;%prog: [options]&amp;quot;)&lt;br /&gt;
 	(options, args) = parser.parse_args()&lt;br /&gt;
 	tb = FM_stereo_tx()&lt;br /&gt;
 	tb.Run(True)&lt;/div&gt;</summary>
		<author><name>Coinchon</name></author>
	</entry>
</feed>