<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hear A Blog</title>
	<atom:link href="http://blog.hearablog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hearablog.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 26 May 2010 19:15:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=4200</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New narration panel</title>
		<link>http://blog.hearablog.com/2010/05/new-narration-panel/</link>
		<comments>http://blog.hearablog.com/2010/05/new-narration-panel/#comments</comments>
		<pubDate>Wed, 26 May 2010 19:15:16 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=110</guid>
		<description><![CDATA[
			
				
			
		
We try to be very efficient at Hear a Blog. We try to not develop a tool until we need it (although sometimes it&#8217;s just too much fun and we code it anyway). Something that have been clearly needed for some time already was a better narration panel so we created.
This tool is only for [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F05%2Fnew-narration-panel%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F05%2Fnew-narration-panel%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>We try to be very efficient at Hear a Blog. We try to not develop a tool until we need it (although sometimes it&#8217;s just too much fun and we code it anyway). Something that have been clearly needed for some time already was a better narration panel so we created.</p>
<p>This tool is only for the narrators, of course, but we still wanted to share it, so here&#8217;s a screenshot of it.</p>
<p style="text-align: center;"><a href="http://blog.hearablog.com/wp-content/uploads/2010/05/narration-panel.png"><img class="aligncenter size-full wp-image-111" title="narration-panel" src="http://blog.hearablog.com/wp-content/uploads/2010/05/narration-panel.png" alt="" width="569" height="514" /></a></p>


<p>Related posts:<ol><li><a href='http://blog.hearablog.com/2010/03/features-update-blogger-panel/' rel='bookmark' title='Permanent Link: Features update: blogger panel'>Features update: blogger panel</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/05/new-narration-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seedcamp Paris was not what we expected</title>
		<link>http://blog.hearablog.com/2010/04/seedcamp-paris-was-not-what-we-expected/</link>
		<comments>http://blog.hearablog.com/2010/04/seedcamp-paris-was-not-what-we-expected/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 15:11:27 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Mini Seedcamp]]></category>
		<category><![CDATA[Paris]]></category>
		<category><![CDATA[Seedcamp]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=99</guid>
		<description><![CDATA[
			
				
			
		
We had our expectations going into Seedcamp, who wouldn&#8217;t?
It was nothing like we expected, however, but the truth is, it was something much more valuable that we would&#8217;ve thought.
Through the mentoring sessions, we realized we hadn&#8217;t done some of the things we should have before going to Seedcamp. But most importantly we found out we [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F04%2Fseedcamp-paris-was-not-what-we-expected%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F04%2Fseedcamp-paris-was-not-what-we-expected%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.hearablog.com/wp-content/uploads/2010/04/eiffel-tower1.jpg"><img class="alignright size-full wp-image-100" title="Eiffel tower" src="http://blog.hearablog.com/wp-content/uploads/2010/04/eiffel-tower1.jpg" alt="" width="81" height="382" /></a>We had our expectations going into <a href="http://seedcamp.com">Seedcamp</a>, who wouldn&#8217;t?<br />
It was nothing like we expected, however, but the truth is, it was something much more valuable that we would&#8217;ve thought.</p>
<p>Through the mentoring sessions, we realized we hadn&#8217;t done some of the things we should have before going to Seedcamp. But most importantly we found out we were doing things we didn&#8217;t need for our business, or we were doing them in the wrong order.</p>
<p>Thanks to Seedcamp, our roadmap changed completely, we got weeks ahead in launching our new product, <a href="http://glycast.com">Glycast</a>, which is now going to be at the same time simpler, more focused, and more valuable.</p>
<p>We haven&#8217;t yet talked publicly about what Glycast is at all, and I&#8217;m glad because now it&#8217;ll be something different. We still can&#8217;t talk but there were some tweets about it that you can try to dig up if you are really interested.</p>
<p>Our little piece of humble advice to other teams going to Seedcamp: Go with your mind really open. It will probably not be what you expect it to be, it will be something completely different, something you don&#8217;t know you need, but much more valuable than what you hoped to get out of it.</p>
<p>Oh! and the trip got even more interesting thanks to the volcano.</p>


<p>Related posts:<ol><li><a href='http://blog.hearablog.com/2010/04/hear-a-blog-goes-to-seedcamp-paris/' rel='bookmark' title='Permanent Link: Hear a Blog goes to Seedcamp Paris'>Hear a Blog goes to Seedcamp Paris</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/04/seedcamp-paris-was-not-what-we-expected/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hear a Blog goes to Seedcamp Paris</title>
		<link>http://blog.hearablog.com/2010/04/hear-a-blog-goes-to-seedcamp-paris/</link>
		<comments>http://blog.hearablog.com/2010/04/hear-a-blog-goes-to-seedcamp-paris/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 06:16:11 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Glycast]]></category>
		<category><![CDATA[Mini Seedcamp]]></category>
		<category><![CDATA[Paris]]></category>
		<category><![CDATA[Seedcamp]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=94</guid>
		<description><![CDATA[
			
				
			
		
We&#8217;ve been selected as one of the 20 finalist for the Mini Seedcamp Paris. We are very excited about it. We are going to present our next product that for now it&#8217;s secret (hint: Glycast).
We are having very busy days while preparing for it. It&#8217;s amazing the amount of work needed for an event. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F04%2Fhear-a-blog-goes-to-seedcamp-paris%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F04%2Fhear-a-blog-goes-to-seedcamp-paris%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://blog.hearablog.com/wp-content/uploads/2010/04/eiffel-tower.jpg"><img class="alignright size-full wp-image-96" title="Paris" src="http://blog.hearablog.com/wp-content/uploads/2010/04/eiffel-tower.jpg" alt="" width="110" height="285" /></a><a href="http://blog.seedcamp.com/2010/04/our-top-20-teams-for-mini-seedcamp.html">We&#8217;ve been selected as one of the 20 finalist for the Mini Seedcamp Paris</a>. We are very excited about it. We are going to present our next product that for now it&#8217;s secret (hint: <a href="http://glycast.com">Glycast</a>).</p>
<p>We are having very busy days while preparing for it. It&#8217;s amazing the amount of work needed for an event. It&#8217;s our first event, so maybe the second one will be only a fraction of the effort.</p>
<p>One side effect of preparing a 5 minute presentation was distilling our ideas to its essentials. Find what&#8217;s core and what&#8217;s a side feature. What&#8217;s worthy of mention and what isn&#8217;t. I wouldn&#8217;t lie if I tell you that this is helping shape or roadmap. One of the founders even said &#8220;I now believe more in the idea&#8221;.</p>


<p>Related posts:<ol><li><a href='http://blog.hearablog.com/2010/04/seedcamp-paris-was-not-what-we-expected/' rel='bookmark' title='Permanent Link: Seedcamp Paris was not what we expected'>Seedcamp Paris was not what we expected</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/04/hear-a-blog-goes-to-seedcamp-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feature: English learning tools</title>
		<link>http://blog.hearablog.com/2010/03/feature-english-learning-tools/</link>
		<comments>http://blog.hearablog.com/2010/03/feature-english-learning-tools/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 00:00:06 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[learning]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=73</guid>
		<description><![CDATA[
			
				
			
		
Content that is written and spoken with exactly the same words is very valuable to learn a new language and it&#8217;s actually not that common. It so happens that at Hear a Blog we have exactly that. We are friends with the people at Virtual Language School, another startup based in Zürich, so we decided to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F03%2Ffeature-english-learning-tools%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F03%2Ffeature-english-learning-tools%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Content that is written and spoken with exactly the same words is very valuable to learn a new language and it&#8217;s actually not that common. It so happens that at Hear a Blog we have <strong>exactly</strong> that. We are friends with the people at <a href="http://virtuallanguageschool.com/">Virtual Language School</a>, another startup based in Zürich, so we decided to do something about it.</p>
<p>We created a section for <a href="http://hearablog.com/learnenglish">learning English</a>. This section has a very compact directory:</p>
<p style="text-align: center;"><a href="http://blog.hearablog.com/wp-content/uploads/2010/04/learning-english-directory.png"><img class="aligncenter size-full wp-image-88" title="learning english directory" src="http://blog.hearablog.com/wp-content/uploads/2010/04/learning-english-directory.png" alt="" width="565" height="644" /></a></p>
<p>When you click on one of those, you are taken to a special page designed to help you listen as you read. This page shows the player on the top while on the main section you have the blog post which you can scroll independently:</p>
<p style="text-align: center;"><a href="http://blog.hearablog.com/wp-content/uploads/2010/04/learning-english-post.png"><img class="aligncenter size-full wp-image-89" title="learning english post" src="http://blog.hearablog.com/wp-content/uploads/2010/04/learning-english-post.png" alt="" width="523" height="426" /></a></p>
<p>If you know about someone who is learning English, pass on the information, this is a very good resource.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/03/feature-english-learning-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Features update: blogger panel</title>
		<link>http://blog.hearablog.com/2010/03/features-update-blogger-panel/</link>
		<comments>http://blog.hearablog.com/2010/03/features-update-blogger-panel/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 00:00:24 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[panel]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=82</guid>
		<description><![CDATA[
			
				
			
		
To help bloggers understand the traffic they get in their blogcast, we created a blogger control panel.
The blogger panel shows the downloads per month, per country, most popular posts and the bandwidth. This panel is also a way for us to communicate with the bloggers and show new features we implement so they can take [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F03%2Ffeatures-update-blogger-panel%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F03%2Ffeatures-update-blogger-panel%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>To help bloggers understand the traffic they get in their blogcast, we created a blogger control panel.</p>
<p>The blogger panel shows the downloads per month, per country, most popular posts and the bandwidth. This panel is also a way for us to communicate with the bloggers and show new features we implement so they can take advantage of them.</p>
<p>If you are a blogger we are narrating, you should have received an email with the address of your control panel. If you didn&#8217;t, please <a href="mailto:info@hearablog.com">contact us</a> and we&#8217;ll send it.</p>
<p><a href="http://blog.hearablog.com/wp-content/uploads/2010/04/Blogger-Control-Panel-Hear-a-Blog.png"><img class="aligncenter size-large wp-image-83" title="Blogger Control Panel" src="http://blog.hearablog.com/wp-content/uploads/2010/04/Blogger-Control-Panel-Hear-a-Blog-466x1024.png" alt="" width="466" height="1024" /></a></p>


<p>Related posts:<ol><li><a href='http://blog.hearablog.com/2010/05/new-narration-panel/' rel='bookmark' title='Permanent Link: New narration panel'>New narration panel</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/03/features-update-blogger-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Content is global, but advertisement is local</title>
		<link>http://blog.hearablog.com/2010/02/content-is-global-but-advertisement-is-local/</link>
		<comments>http://blog.hearablog.com/2010/02/content-is-global-but-advertisement-is-local/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 00:00:44 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[advertisement]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=64</guid>
		<description><![CDATA[
			
				
			
		
Content is global. In every corner of the world there&#8217;s people wanting to read, listen to and watch content produced in every other corner of the world. The only thing that slows it down is language; cultural differences not so much.
Advertisement is not global. A restaurant wants to advertise only to people that could actually [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F02%2Fcontent-is-global-but-advertisement-is-local%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F02%2Fcontent-is-global-but-advertisement-is-local%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><em>Content is global</em>. In every corner of the world there&#8217;s people wanting to read, listen to and watch content produced in every other corner of the world. The only thing that slows it down is language; cultural differences not so much.</p>
<p><em>Advertisement is not global</em>. A restaurant wants to advertise only to people that could actually go to it, not to people that lives across the continent. Even global companies run very different advertisements in different countries and regions. In some places, competitive advertisement (where you mention your competition) is illegal, in others it&#8217;s the norm, maybe in some it&#8217;s allowed, but considered low. Nudity is OK in some places, illegal in others. <em>Advertisement is local.</em></p>
<p>During the old-media days, that wasn&#8217;t a problem because content distribution was local. TV, radio, newspapers, magazines could reach only people in some well defined region. Content was mixed with ads in each region and shipped or broadcasted. No issues there.</p>
<p><a href="http://blog.hearablog.com/wp-content/uploads/2010/01/youtube-region-filtering.png"><img class="alignright size-full wp-image-65" title="youtube-region-filtering" src="http://blog.hearablog.com/wp-content/uploads/2010/01/youtube-region-filtering.png" alt="" width="248" height="108" /></a>But content distribution today is global and it&#8217;s called the internet. And this seems to confuse and startle a lot of people. What do we do with ads? Do we show USA-based ads in all the world? That means that most people won&#8217;t care about the ad, and even if they do, they won&#8217;t be able to buy the products. A huge waste. The solution: <strong>let&#8217;s break the internet into regions and limit the distribution of our content. Wrong!</strong></p>
<p>We are not mixing ads and content manually at a central location an then shipping it anymore. Today we have these amazing machines called computers that can <strong>mix ads and content every single time</strong> a viewer or listeners asks for the content; and <strong>every single time the result can be different</strong>. A New Yorker using a Mac listens to one ad, a New Yorker using a PC listens to another ad, a Berliner listens to another ad, and an Australian to a different ad. <strong>That is how we deliver ads at Hear a Blog. Our content is for the world, and our ad market is also the world.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/02/content-is-global-but-advertisement-is-local/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mixing audio in C# using NAudio</title>
		<link>http://blog.hearablog.com/2010/01/mixing-audio-in-c-using-naudio/</link>
		<comments>http://blog.hearablog.com/2010/01/mixing-audio-in-c-using-naudio/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 16:30:04 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[audio-processing]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[NAudio]]></category>
		<category><![CDATA[wav]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=57</guid>
		<description><![CDATA[
			
				
			
		
Processing audio is one of our core tasks. When you create a startup there are a thousand things that you could do manually or automate. Which ones do you automate? We decided to automate as little as possible. Yes, you&#8217;ve read it correctly; as little as possible.
Automating is great because you solve a problem once [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F01%2Fmixing-audio-in-c-using-naudio%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2010%2F01%2Fmixing-audio-in-c-using-naudio%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Processing audio is one of our core tasks. When you create a startup there are a thousand things that you could do manually or automate. Which ones do you automate? We decided to automate as little as possible. Yes, you&#8217;ve read it correctly; as <em>little</em> as possible.</p>
<p>Automating is great because you solve a problem once and you don&#8217;t have to do it ever again. If you know that you&#8217;ll have to do it again. In a startup, you don&#8217;t know what you&#8217;ll be doing tomorrow. They are higly experimetal endevours. We decided to do all the audio processing by hand; and we did it until <a href="http://audacity.sourceforge.net/">Audacity, an excellent audio processing tool</a>, became a recurring character in our nightmares.</p>
<p>We decided to automate. We picked the library <a href="http://naudio.codeplex.com/">NAudio</a> because it&#8217;s free and apparently capable of doing what we need. We struggle with it at first, but it turned out there was a bug, which was solved quite quickly by the developers. Surely they deserve all the donations they can get, as soon as we are profitable, we&#8217;ll make one.</p>
<p>Our process is simple:</p>
<ol>
<li>The intro starts</li>
<li>6 seconds after that the main audio starts</li>
<li>30 seconds after the main audio finishes, the outro finishes.</li>
</ol>
<p>That ensures the proper synchronization of our amazing intro and outro. And the code is quite simple.</p>
<p>First, we load the intro, the outro and the main audio:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var intro <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveFileReader<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Intro.wav&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
var outro <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveFileReader<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Outro.wav&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
var audio <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveFileReader<span style="color: #000000;">&#40;</span>OriginalAudioFileName<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Then we create the mixer stream:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var mixer <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveMixerStream32<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
mixer.<span style="color: #0000FF;">AutoStop</span><span style="color: #008000;">;</span></pre></div></div>

<p>Out of the loaded audios we create new ones with the proper time offsets (note: the intro doesn&#8217;t need an offset):</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var audioOffsetted <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveOffsetStream<span style="color: #000000;">&#40;</span>
   audio, TimeSpan.<span style="color: #0000FF;">FromSeconds</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">6</span><span style="color: #000000;">&#41;</span>, TimeSpan.<span style="color: #0000FF;">Zero</span>, audio.<span style="color: #0000FF;">TotalTime</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
var outroOffset <span style="color: #008000;">=</span> TimeSpan.<span style="color: #0000FF;">FromSeconds</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">6</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">+</span> audio.<span style="color: #0000FF;">TotalTime</span> <span style="color: #008000;">+</span>
   TimeSpan.<span style="color: #0000FF;">FromSeconds</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">30</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">-</span> outro.<span style="color: #0000FF;">TotalTime</span><span style="color: #008000;">;</span>
var outroOffsetted <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveOffsetStream<span style="color: #000000;">&#40;</span>
   outro, outroOffset, TimeSpan.<span style="color: #0000FF;">Zero</span>, outro.<span style="color: #0000FF;">TotalTime</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>All our wavs are stored as 16bit, but the mixer expects 32bit wavs, so we convert them before adding them to the mixer:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var intro32 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveChannel32<span style="color: #000000;">&#40;</span>intro<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
intro32.<span style="color: #0000FF;">PadWithZeroes</span> <span style="color: #008000;">=</span> false<span style="color: #008000;">;</span>
mixer.<span style="color: #0000FF;">AddInputStream</span><span style="color: #000000;">&#40;</span>intro32<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
var outro32 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveChannel32<span style="color: #000000;">&#40;</span>outroOffsetted<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
outro32.<span style="color: #0000FF;">PadWithZeroes</span> <span style="color: #008000;">=</span> false<span style="color: #008000;">;</span>
mixer.<span style="color: #0000FF;">AddInputStream</span><span style="color: #000000;">&#40;</span>outro32<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
var audio32 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> WaveChannel32<span style="color: #000000;">&#40;</span>audioOffsetted<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
audio32.<span style="color: #0000FF;">PadWithZeroes</span> <span style="color: #008000;">=</span> false<span style="color: #008000;">;</span>
mixer.<span style="color: #0000FF;">AddInputStream</span><span style="color: #000000;">&#40;</span>audio32<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Pad with zeros is set to false because otherwise you end up with pretty big files. When we forgot that we ended up with a 10GB wav, not sure if we stopped it or it crashed.</p>
<p>Once our mixer is set up we save that wav to a temporary location</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">WaveFileWriter.<span style="color: #0000FF;">CreateWaveFile</span><span style="color: #000000;">&#40;</span>tempwav, <span style="color: #008000;">new</span> Wave32To16Stream<span style="color: #000000;">&#40;</span>mixer<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>tempwav is the full file name of the temporary wav. Note that we go back to 16bit wavs. After that comes the ugly part of converting to MP3 which is left as an exercise for the reader.</p>
<p>We hope you find this information useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2010/01/mixing-audio-in-c-using-naudio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linking a podcast to Zune</title>
		<link>http://blog.hearablog.com/2009/12/linking-a-podcast-to-zune/</link>
		<comments>http://blog.hearablog.com/2009/12/linking-a-podcast-to-zune/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 16:51:36 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[linking]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[podcasting]]></category>
		<category><![CDATA[subscribe]]></category>
		<category><![CDATA[Zune]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=44</guid>
		<description><![CDATA[
			
				
			
		
You may have notice that we now provide links to the usual RSS, iTunes, Google (Reader), Zune and pcast (for pcast:// compatible podcatchers):

All the links were trivial to make, except Zune. iTunes took long to have proper links, because you have to submit them to Apple and, obviously, they have to approve them.
Linking to Zune [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2009%2F12%2Flinking-a-podcast-to-zune%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2009%2F12%2Flinking-a-podcast-to-zune%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>You may have notice that we now provide links to the usual RSS, iTunes, Google (Reader), Zune and pcast (for pcast:// compatible podcatchers):</p>
<p><a href="http://blog.hearablog.com/wp-content/uploads/2009/12/links.png"><img class="aligncenter size-full wp-image-45" title="Podcast links" src="http://blog.hearablog.com/wp-content/uploads/2009/12/links.png" alt="Podcast links" width="314" height="105" /></a></p>
<p>All the links were trivial to make, except Zune. iTunes took long to have proper links, because you have to submit them to Apple and, obviously, they have to approve them.</p>
<p>Linking to Zune has many pitfalls. Hopefully you&#8217;ll read about them here and spend only a fraction of the time I&#8217;ve spent on creating them. The format is initially quite simple:</p>
<pre>zune://subscribe/?title=url</pre>
<p><img class="alignright size-medium wp-image-50" title="urlencoded title" src="http://blog.hearablog.com/wp-content/uploads/2009/12/urlencoded-title-300x128.png" alt="" width="300" height="128" /></p>
<p>My first try was to URL-encode both the title and the url which resulted in two undesirable behaviors:</p>
<ol>
<li>The title of the podcast on <strong>the Zune dialog appeared URL-encoded</strong>. That dialog that says &#8220;Do you want to subscribe the A%20Smart%20Bear podcast?&#8221;</li>
<li><strong>It didn&#8217;t work</strong>, it claimed the URL was broken.</li>
</ol>
<p>I&#8217;ve tried not urlencoding and instead of saying &#8220;A%20Smart%20Bear&#8221; it was saying &#8220;A+Smart+Bear&#8221;, and still not working.</p>
<p>I was doing all my testing and debugging with Firefox. Not sure where to go next, I&#8217;ve tried Google Chrome which shows you the command line it is about to run. That command line included hyphens to specify the arguments.</p>
<p><a href="http://blog.hearablog.com/wp-content/uploads/2009/12/command-line-dialog.png"><img class="aligncenter size-full wp-image-51" title="command line dialog" src="http://blog.hearablog.com/wp-content/uploads/2009/12/command-line-dialog.png" alt="" width="442" height="319" /></a></p>
<p>Bingo! We had hyphens in our URL and that was breaking. <strong>Zune cannot deal with hyphens in the URL</strong>.</p>
<p>Our solution was to replace spaces for underscores in the title to reach what we think was the most readable solution:</p>
<ul>
<li>A%20Smart%20Bear</li>
<li>A+Smart+Bear</li>
<li>ASmartBear</li>
<li>A_Smart_Bear</li>
</ul>
<p>and to replace the hyphens in underscores in our URLs and everything just worked. Thankfully our use of hyphens is no critical and changing them to underscores didn&#8217;t require a single line of code, but it could have been much worst. This is something to have in mind when you are defining your routes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2009/12/linking-a-podcast-to-zune/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gdgt, the gadgets site</title>
		<link>http://blog.hearablog.com/2009/11/gdgt-the-gadgets-site/</link>
		<comments>http://blog.hearablog.com/2009/11/gdgt-the-gadgets-site/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 14:14:55 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Device]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=23</guid>
		<description><![CDATA[
			
				
			
		
If you are into podcasts, you are also into gadgets. That is, the gadgets to listen to podcasts. There are a lot of alternatives. You have the usual i-devices, like iPod, iPhone. You have all the other phones, and even people using GPS devices (to listen to podcasts on the car).
If you are like us, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2009%2F11%2Fgdgt-the-gadgets-site%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2009%2F11%2Fgdgt-the-gadgets-site%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignright size-full wp-image-24" title="gdgt-logo-red" src="http://blog.hearablog.com/wp-content/uploads/2009/11/gdgt-logo-red.gif" alt="gdgt-logo-red" width="126" height="58" />If you are into podcasts, you are also into gadgets. That is, the gadgets to listen to podcasts. There are a lot of alternatives. You have the usual i-devices, like iPod, iPhone. You have all the other phones, and even people using GPS devices (to listen to podcasts on the car).</p>
<p>If you are like us, it&#8217;s possible that you have a device nobody else you know also has. What do you do when the device doesn&#8217;t work as expected? How do you learn how to make the most out of it? You can really do that by interacting with other people that have the same device. Thankfully now there&#8217;s a web site for that which can be tagged as &#8220;the Facebook for gadgets&#8221;: <a href="http://gdgt.com">gdgt</a>. They want to pronounce it &#8220;gadget&#8221;.</p>
<p>They are Ryan Block and Pete Rojas, creators of a gadget blog Engadget. On gdgt you can list which gadgets you want, have or had and a small community is formed around each gadget. That is the perfect place to discuss your gadgets. You may also go to the community of a gadget you are consider getting to help you decide whether it would be a good investment or not.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2009/11/gdgt-the-gadgets-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple vs Palm</title>
		<link>http://blog.hearablog.com/2009/07/apple-vs-palm/</link>
		<comments>http://blog.hearablog.com/2009/07/apple-vs-palm/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 16:47:49 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Device]]></category>
		<category><![CDATA[anti-trust]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[pre]]></category>

		<guid isPermaLink="false">http://blog.hearablog.com/?p=17</guid>
		<description><![CDATA[
			
				
			
		
We knew this was coming since Palm announced iTunes compatibility. Both Palm and Apple are companies that are loved by many, both bringing innovation to everyone. Palm released the Pre, Apple changed the protocol, only a few hours later, to something incompatible with the Pre. Palm was able to keep up and re-enable syncing a [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hearablog.com%2F2009%2F07%2Fapple-vs-palm%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hearablog.com%2F2009%2F07%2Fapple-vs-palm%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>We knew this was coming since <a href="/2009/06/the-palm-pre-starts-shipping/">Palm announced iTunes compatibility</a>. Both Palm and Apple are companies that are loved by many, both bringing innovation to everyone. Palm released the Pre, Apple changed the protocol, only a few hours later, to something incompatible with the Pre. Palm was able to keep up and re-enable syncing a week later. Not bad, Palm.</p>
<p>Now it seems the fight is going to move from the technological to the legal arena. It&#8217;s getting nasty very fast. Who is the bully? that&#8217;s easy to answer. Who is right? that&#8217;s harder. The case for Palm is: software and devices should be interoperable and there should be competition between companies. But to make the Pre interoperable, Palm is using Apple&#8217;s iPhone USB id and make the Pre look like an iPhone.</p>
<p>What happens when someone subverts the USB id process for a malicious intent? What if Palm makes the Pre 2 look like an iPhone and sync the removal of every song on your iTunes because Palm wants you to use the PreTunes? We are not sure if that&#8217;s technically possible, but there&#8217;s a good reason why USB devices have id numbers.</p>
<p>It&#8217;s not clear who&#8217;s going to win this fight, but surely more and more people are mentioning Apple and anti-trust in the same sentence.</p>


<p>Related posts:<ol><li><a href='http://blog.hearablog.com/2009/06/the-palm-pre-starts-shipping/' rel='bookmark' title='Permanent Link: The Palm Pre starts shipping'>The Palm Pre starts shipping</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.hearablog.com/2009/07/apple-vs-palm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
