Code Search for Developers
 
 
  

dataflow-split.cpp.html from marsyas at Krugle


Show dataflow-split.cpp.html syntax highlighted

<!-- Generator: GNU source-highlight 2.4
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><i><font color="#9A1900">// amplifies the left and right channels separately, and writes them</font></i>
<i><font color="#9A1900">// to sound files.</font></i>

<b><font color="#000080">#include</font></b> <font color="#FF0000">"MarSystemManager.h"</font>
<b><font color="#0000FF">using</font></b> <b><font color="#0000FF">namespace</font></b> std<font color="#990000">;</font>
<b><font color="#0000FF">using</font></b> <b><font color="#0000FF">namespace</font></b> Marsyas<font color="#990000">;</font>

<font color="#009900">void</font> <b><font color="#000000">sfplay</font></b><font color="#990000">(</font>string sfName<font color="#990000">,</font> <font color="#009900">float</font> gain1<font color="#990000">,</font> <font color="#009900">float</font> gain2<font color="#990000">)</font>
<font color="#FF0000">{</font>
	MarSystemManager mng<font color="#990000">;</font>

	MarSystem<font color="#990000">*</font> playbacknet <font color="#990000">=</font> mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"Series"</font><font color="#990000">,</font> <font color="#FF0000">"playbacknet"</font><font color="#990000">);</font>
	playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSource"</font><font color="#990000">,</font> <font color="#FF0000">"src"</font><font color="#990000">));</font>
	playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSource/src/mrs_string/filename"</font><font color="#990000">,</font> sfName<font color="#990000">);</font>
<i><font color="#9A1900">// get the sample rate</font></i>
	mrs_real sample_rate <font color="#990000">=</font> playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">getctrl</font></b><font color="#990000">(</font><font color="#FF0000">"mrs_real/israte"</font><font color="#990000">)-&gt;</font>to<font color="#990000">&lt;</font>mrs_real<font color="#990000">&gt;();</font>

	playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSink"</font><font color="#990000">,</font> <font color="#FF0000">"snk"</font><font color="#990000">));</font>
	playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSink/snk/mrs_string/filename"</font><font color="#990000">,</font> <font color="#FF0000">"both.wav"</font><font color="#990000">);</font>

	MarSystem<font color="#990000">*</font> left <font color="#990000">=</font> mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"Series"</font><font color="#990000">,</font> <font color="#FF0000">"left"</font><font color="#990000">);</font>
	left<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"Gain"</font><font color="#990000">,</font> <font color="#FF0000">"gain1"</font><font color="#990000">));</font>
	left<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"Gain/gain1/mrs_real/gain"</font><font color="#990000">,</font> gain1<font color="#990000">);</font>
	left<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSink"</font><font color="#990000">,</font> <font color="#FF0000">"destL"</font><font color="#990000">));</font>
<i><font color="#9A1900">// set the sample rate of this marsystem:</font></i>
	left<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"mrs_real/israte"</font><font color="#990000">,</font>sample_rate<font color="#990000">);</font>
	left<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSink/destL/mrs_string/filename"</font><font color="#990000">,</font> <font color="#FF0000">"left.wav"</font><font color="#990000">);</font>

	MarSystem<font color="#990000">*</font> right <font color="#990000">=</font> mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"Series"</font><font color="#990000">,</font> <font color="#FF0000">"right"</font><font color="#990000">);</font>
	right<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"Gain"</font><font color="#990000">,</font> <font color="#FF0000">"gain2"</font><font color="#990000">));</font>
	right<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"Gain/gain2/mrs_real/gain"</font><font color="#990000">,</font> gain2<font color="#990000">);</font>
	right<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSink"</font><font color="#990000">,</font> <font color="#FF0000">"destR"</font><font color="#990000">));</font>
<i><font color="#9A1900">// set the sample rate of this marsystem:</font></i>
	right<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"mrs_real/israte"</font><font color="#990000">,</font>sample_rate<font color="#990000">);</font>
	right<font color="#990000">-&gt;</font><b><font color="#000000">updctrl</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSink/destR/mrs_string/filename"</font><font color="#990000">,</font> <font color="#FF0000">"right.wav"</font><font color="#990000">);</font>

	MarSystem<font color="#990000">*</font> para <font color="#990000">=</font> mng<font color="#990000">.</font><b><font color="#000000">create</font></b><font color="#990000">(</font><font color="#FF0000">"Parallel"</font><font color="#990000">,</font> <font color="#FF0000">"para"</font><font color="#990000">);</font>
	para<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>left<font color="#990000">);</font>
	para<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>right<font color="#990000">);</font>
	playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">addMarSystem</font></b><font color="#990000">(</font>para<font color="#990000">);</font>

	<b><font color="#0000FF">while</font></b> <font color="#990000">(</font> playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">getctrl</font></b><font color="#990000">(</font><font color="#FF0000">"SoundFileSource/src/mrs_bool/notEmpty"</font><font color="#990000">)-&gt;</font>to<font color="#990000">&lt;</font>mrs_bool<font color="#990000">&gt;()</font> <font color="#990000">)</font>
	<font color="#FF0000">{</font>
		playbacknet<font color="#990000">-&gt;</font><b><font color="#000000">tick</font></b><font color="#990000">();</font>
	<font color="#FF0000">}</font>
	<b><font color="#0000FF">delete</font></b> playbacknet<font color="#990000">;</font>
<font color="#FF0000">}</font>

<font color="#009900">int</font> <b><font color="#000000">main</font></b><font color="#990000">(</font><font color="#009900">int</font> argc<font color="#990000">,</font> <b><font color="#0000FF">const</font></b> <font color="#009900">char</font> <font color="#990000">**</font>argv<font color="#990000">)</font>
<font color="#FF0000">{</font>
	string fileName<font color="#990000">;</font>
	<font color="#009900">float</font> gain1<font color="#990000">,</font> gain2<font color="#990000">;</font>
	<b><font color="#0000FF">if</font></b> <font color="#990000">(</font>argc<font color="#990000">&lt;</font><font color="#993399">2</font><font color="#990000">)</font>
	<font color="#FF0000">{</font>
		cout<font color="#990000">&lt;&lt;</font><font color="#FF0000">"Please enter filename."</font><font color="#990000">&lt;&lt;</font>endl<font color="#990000">;</font>
		<b><font color="#000000">exit</font></b><font color="#990000">(</font><font color="#993399">1</font><font color="#990000">);</font>
	<font color="#FF0000">}</font>
	<b><font color="#0000FF">else</font></b>
	<font color="#FF0000">{</font>
		fileName <font color="#990000">=</font> argv<font color="#990000">[</font><font color="#993399">1</font><font color="#990000">];</font>
	<font color="#FF0000">}</font>
	<b><font color="#0000FF">if</font></b> <font color="#990000">(</font>argc<font color="#990000">&lt;</font><font color="#993399">3</font><font color="#990000">)</font>
	<font color="#FF0000">{</font>
		gain1 <font color="#990000">=</font> <font color="#993399">1</font><font color="#990000">;</font>
	<font color="#FF0000">}</font>
	<b><font color="#0000FF">else</font></b>
	<font color="#FF0000">{</font>
		gain1 <font color="#990000">=</font> <b><font color="#000000">atof</font></b><font color="#990000">(</font>argv<font color="#990000">[</font><font color="#993399">2</font><font color="#990000">]);</font>
	<font color="#FF0000">}</font>
	<b><font color="#0000FF">if</font></b> <font color="#990000">(</font>argc<font color="#990000">&lt;</font><font color="#993399">4</font><font color="#990000">)</font>
	<font color="#FF0000">{</font>
		gain2 <font color="#990000">=</font> <font color="#993399">1</font><font color="#990000">;</font>
	<font color="#FF0000">}</font>
	<b><font color="#0000FF">else</font></b>
	<font color="#FF0000">{</font>
		gain2 <font color="#990000">=</font> <b><font color="#000000">atof</font></b><font color="#990000">(</font>argv<font color="#990000">[</font><font color="#993399">3</font><font color="#990000">]);</font>
	<font color="#FF0000">}</font>
	cout <font color="#990000">&lt;&lt;</font> <font color="#FF0000">"Splitting stereo file "</font> <font color="#990000">&lt;&lt;</font> fileName <font color="#990000">&lt;&lt;</font>
	<font color="#FF0000">" into separate files at volumes "</font> <font color="#990000">&lt;&lt;</font>gain1 <font color="#990000">&lt;&lt;</font> <font color="#FF0000">" and "</font><font color="#990000">&lt;&lt;</font>gain2<font color="#990000">&lt;&lt;</font>endl<font color="#990000">;</font>

	<b><font color="#000000">sfplay</font></b><font color="#990000">(</font>fileName<font color="#990000">,</font>gain1<font color="#990000">,</font>gain2<font color="#990000">);</font>
	<b><font color="#000000">exit</font></b><font color="#990000">(</font><font color="#993399">0</font><font color="#990000">);</font>
<font color="#FF0000">}</font>

</tt></pre>




See more files for this project here

marsyas

Marsyas (Music Analysis, Retrieval and Synthesis for Audio Signals) is a framework for developing systems for audio processing. It provides an general architecture for connecting audio, soundfiles, signal processing blocks and machine learning.

Project homepage: http://sourceforge.net/projects/marsyas
Programming language(s): C++
License: other

  backend.cpp.html
  backend.cpp.texinfo
  backend.h.html
  backend.h.texinfo
  commandOptions.cpp.html
  commandOptions.cpp.texinfo
  controls.cpp.html
  controls.cpp.texinfo
  dataflow-split.cpp.html
  dataflow-split.cpp.texinfo
  gettingdata.cpp.html
  gettingdata.cpp.texinfo
  helloworld.cpp.html
  helloworld.cpp.texinfo
  main.cpp.html
  main.cpp.texinfo
  mainwindow.cpp.html
  mainwindow.cpp.texinfo
  mainwindow.h.html
  mainwindow.h.texinfo
  tutorial.pro.html
  tutorial.pro.texinfo
  writefile.cpp.html
  writefile.cpp.texinfo