<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Myousica on Marcello Barnaba</title>
    <link>https://sindro.me/tags/myousica/</link>
    <description>Recent content in Myousica on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 11 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sindro.me/tags/myousica/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Myousica, eighteen years later</title>
      <link>https://sindro.me/posts/2026-04-11-myousica-eighteen-years-later/</link>
      <pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/posts/2026-04-11-myousica-eighteen-years-later/</guid>
      <description>&lt;p&gt;Today is my birthday, and I&amp;rsquo;ve decided to open a time capsule.&lt;/p&gt;&#xA;&lt;p&gt;Eighteen years ago, we started building &lt;a href=&#34;https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/&#34;&gt;Myousica&lt;/a&gt; — a platform for collaborative music creation in the browser. Record from your microphone, upload tracks, remix other people&amp;rsquo;s music, build songs together with strangers across the internet. We &lt;a href=&#34;https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/&#34;&gt;launched in September 2008&lt;/a&gt; after nine months of development.&lt;/p&gt;&#xA;&lt;p&gt;It was a startup. It ran for about five months before being paused, and the source code was eventually &lt;a href=&#34;https://github.com/mewsic&#34; target=&#34;_blank&#34;&gt;released on GitHub&lt;/a&gt; under the name Mewsic. I wrote about the technical details in a three-part series: the &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;Rails platform&lt;/a&gt;, the &lt;a href=&#34;https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/&#34;&gt;Flash multitrack editor&lt;/a&gt;, and the &lt;a href=&#34;https://sindro.me/posts/2010-10-18-myousica-from-microphone-to-mp3/&#34;&gt;audio pipeline&lt;/a&gt;. Those posts cover the engineering. This one is about the bigger picture.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-right-idea-at-the-wrong-time&#34; id=&#34;the-right-idea-at-the-wrong-time&#34;&gt;The right idea at the wrong time&lt;a class=&#34;heading-anchor&#34; href=&#34;#the-right-idea-at-the-wrong-time&#34; aria-label=&#34;Link to this section&#34;&gt;¶&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The core concept was solid: let anyone make music in a web browser, collaboratively. No software to install. Open your browser, pick a song, add your guitar track, share the result. A musician in Rome could start a beat, someone in Tokyo could add bass, a singer in São Paulo could lay down vocals on top. All in the browser.&lt;/p&gt;&#xA;&lt;p&gt;The problem was that in 2008, browsers couldn&amp;rsquo;t do any of this natively.&lt;/p&gt;&#xA;&lt;p&gt;To capture audio from a microphone, you needed Flash — an ActionScript front-end running in the Flash Player plugin. To stream that audio to a server, you needed RTMP — a Java media server (&lt;a href=&#34;https://sindro.me/posts/2010-10-18-myousica-from-microphone-to-mp3/#red5-the-rtmp-bridge&#34;&gt;Red5&lt;/a&gt;) just to receive the audio and write it to disk as FLV files. To turn those FLV files into playable MP3s, you needed a &lt;a href=&#34;https://sindro.me/posts/2010-10-18-myousica-from-microphone-to-mp3/&#34;&gt;pipeline&lt;/a&gt; of ffmpeg, sox, and background workers on the server side. To display a waveform, you rendered it as a PNG — the Canvas API wasn&amp;rsquo;t mature enough. To play back multiple tracks in sync, you built a &lt;a href=&#34;https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/#the-sampler&#34;&gt;custom playback engine&lt;/a&gt; in ActionScript with frame-accurate timing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>From microphone to MP3: the Myousica audio pipeline</title>
      <link>https://sindro.me/posts/2010-10-18-myousica-from-microphone-to-mp3/</link>
      <pubDate>Mon, 18 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/posts/2010-10-18-myousica-from-microphone-to-mp3/</guid>
      <description>&lt;div class=&#34;retrospective&#34;&gt;&#xA;  &lt;span class=&#34;retrospective-icon&#34;&gt;&amp;#x1f50d;&lt;/span&gt;&#xA;  &lt;div class=&#34;retrospective-body&#34;&gt;&#xA;    &lt;em&gt;2026 retrospective&lt;/em&gt;&lt;br&gt;&#xA;    For the big picture — why Myousica was ahead of its time and who does it today — see the &lt;a href=&#34;https://sindro.me/posts/2026-04-11-myousica-eighteen-years-later/&#34;&gt;2026 retrospective&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;This is the third and final post in the &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;Myousica series&lt;/a&gt;. The &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;first&lt;/a&gt; covered the Rails platform, the &lt;a href=&#34;https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/&#34;&gt;second&lt;/a&gt; the Flash multitrack editor. This one covers how audio actually gets from the user&amp;rsquo;s microphone to a playable MP3 — the pipeline that connects all the services together.&lt;/p&gt;&#xA;&lt;p&gt;The uploader is a separate Rails 2.2 application — headless, no database, no ActiveRecord. Just controllers, background workers, and audio processing tools. &lt;a href=&#34;https://github.com/pilu&#34; target=&#34;_blank&#34;&gt;Andrea Franz&lt;/a&gt; built the initial version in April 2008, I took over from May 2008 onwards. &lt;a href=&#34;https://github.com/mewsic/mewsic-uploader&#34; target=&#34;_blank&#34;&gt;120 commits&lt;/a&gt;, originally called &lt;code&gt;multitrack_server&lt;/code&gt; before being renamed to &lt;code&gt;mewsic-uploader&lt;/code&gt; in &lt;a href=&#34;https://github.com/mewsic/mewsic-uploader/commits/master/?since=2009-03-06&amp;amp;until=2009-03-07&#34; target=&#34;_blank&#34;&gt;March 2009&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-full-pipeline&#34; id=&#34;the-full-pipeline&#34;&gt;The full pipeline&lt;a class=&#34;heading-anchor&#34; href=&#34;#the-full-pipeline&#34; aria-label=&#34;Link to this section&#34;&gt;¶&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s the complete flow from microphone to playable track:&lt;/p&gt;&#xA;&#xA;&lt;script type=&#34;module&#34;&gt;&#xA;    import mermaid from &#39;https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs&#39;;&#xA;&#xA;    const lsTheme = localStorage.getItem(&#34;theme&#34;)&#xA;    const hugoTheme = document.body.classList.contains(&#34;dark-theme&#34;) ? &#34;dark&#34; : null&#xA;    const currTheme = lsTheme ? lsTheme : hugoTheme;&#xA;    const mermaidTheme = currTheme == &#34;light&#34; ? &#34;default&#34; : &#34;dark&#34;&#xA;&#xA;    mermaid.initialize({theme: mermaidTheme});&#xA;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;mermaid&#34;&gt;graph TD&#xA;    MIC[&#34;Microphone&#34;] --&gt;|RTMP| RED5[&#34;Red5 Media Server&#34;]&#xA;    RED5 --&gt;|FLV| DISK[&#34;Disk (spool)&#34;]&#xA;    FLASH[&#34;Flash client&#34;] --&gt;|&#34;stop recording&#34;| UC[&#34;UploadController&#34;]&#xA;    FLASH --&gt;|&#34;MP3 upload&#34;| UC&#xA;    UC --&gt; BG[&#34;BackgrounDRb Worker&#34;]&#xA;    BG -.-&gt;|reads FLV| DISK&#xA;    BG --&gt; FLV{&#34;FLV input?&#34;}&#xA;    FLV --&gt;|yes| WAV1[&#34;ffmpeg: FLV → WAV&#34;]&#xA;    FLV --&gt;|no| ANALYZE&#xA;    WAV1 --&gt; ANALYZE[&#34;sox: analyze volume&#34;]&#xA;    ANALYZE --&gt; NORM[&#34;sox: normalize to 90%&#34;]&#xA;    NORM --&gt; ENCODE[&#34;ffmpeg: WAV → MP3&#34;]&#xA;    ENCODE --&gt; WAVE[&#34;wav2png: waveform PNG&#34;]&#xA;    WAVE --&gt; CALLBACK[&#34;HTTP callback to Rails&#34;]&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Two entry points: the user can upload an MP3 file directly, or record via microphone (which produces an FLV stream through Red5). Both end up as an MP3 with a waveform PNG.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Myousica multitrack: audio mixing in the browser</title>
      <link>https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/</link>
      <pubDate>Sat, 16 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/</guid>
      <description>&lt;div class=&#34;retrospective&#34;&gt;&#xA;  &lt;span class=&#34;retrospective-icon&#34;&gt;&amp;#x1f50d;&lt;/span&gt;&#xA;  &lt;div class=&#34;retrospective-body&#34;&gt;&#xA;    &lt;em&gt;2026 retrospective&lt;/em&gt;&lt;br&gt;&#xA;    For the big picture — why Myousica was ahead of its time and who does it today — see the &lt;a href=&#34;https://sindro.me/posts/2026-04-11-myousica-eighteen-years-later/&#34;&gt;2026 retrospective&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;This is the second post in the &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;Myousica series&lt;/a&gt;. The &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;first one&lt;/a&gt; covered the Rails platform. This one dives into the multitrack editor — the Flash/Flex component where users actually mix music in the browser.&lt;/p&gt;&#xA;&lt;p&gt;The multitrack was initially developed by &lt;a href=&#34;https://vancura.design/&#34; target=&#34;_blank&#34;&gt;Vaclav Vancura&lt;/a&gt;, who built the original architecture, the UI component library, and the audio playback engine. I then took over and rewired it heavily — integrating recording, upload, the backend services, and the state machine that holds it all together. 81 ActionScript files, ~7,300 lines of code, &lt;a href=&#34;https://github.com/mewsic/mewsic-multitrack&#34; target=&#34;_blank&#34;&gt;129 commits&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s &lt;a href=&#34;https://dribbble.com/shots/192454-Myousica-remix&#34; target=&#34;_blank&#34;&gt;Vaclav&amp;rsquo;s original screenshot&lt;/a&gt; showing the remix view — where songs connect and branch into new remixes:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/myousica-remix-dribbble.png&#34; alt=&#34;Myousica remix view — songs branching into remixes&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-it-does&#34; id=&#34;what-it-does&#34;&gt;What it does&lt;a class=&#34;heading-anchor&#34; href=&#34;#what-it-does&#34; aria-label=&#34;Link to this section&#34;&gt;¶&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The editor loads in the browser as a Flash SWF. You can:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Load up to 16 audio tracks simultaneously&lt;/li&gt;&#xA;&lt;li&gt;Play them all in sync with a single transport&lt;/li&gt;&#xA;&lt;li&gt;Adjust per-track volume and balance&lt;/li&gt;&#xA;&lt;li&gt;Record your own track from the microphone, synchronized to the playback&lt;/li&gt;&#xA;&lt;li&gt;See waveforms for every track&lt;/li&gt;&#xA;&lt;li&gt;Search for tracks to add to your mix (via the Rails API)&lt;/li&gt;&#xA;&lt;li&gt;Save and publish the result&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;All of this happens client-side in Flash Player 9, with the heavy lifting (encoding, storage) offloaded to the backend services.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-dimensions&#34; id=&#34;the-dimensions&#34;&gt;The dimensions&lt;a class=&#34;heading-anchor&#34; href=&#34;#the-dimensions&#34; aria-label=&#34;Link to this section&#34;&gt;¶&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/multitrack-tracks.png&#34; alt=&#34;The track area — instrument icons, BPM, per-track volume and pan knobs&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Everything is pixel-precise. The editor runs in a 690px wide stage with fixed proportions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Myousica: a collaborative music remixing platform</title>
      <link>https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/</link>
      <pubDate>Thu, 14 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/</guid>
      <description>&lt;div class=&#34;retrospective&#34;&gt;&#xA;  &lt;span class=&#34;retrospective-icon&#34;&gt;&amp;#x1f50d;&lt;/span&gt;&#xA;  &lt;div class=&#34;retrospective-body&#34;&gt;&#xA;    &lt;em&gt;2026 retrospective&lt;/em&gt;&lt;br&gt;&#xA;    For the big picture — why Myousica was ahead of its time and who does it today — see the &lt;a href=&#34;https://sindro.me/posts/2026-04-11-myousica-eighteen-years-later/&#34;&gt;2026 retrospective&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/logo.jpg&#34; alt=&#34;Mewsic&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/myousica-promo-band.jpg&#34; alt=&#34;From the Myousica promo video — the animated band&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Today we&amp;rsquo;re releasing the source code of Myousica — the collaborative music remixing platform we&amp;rsquo;ve been building since late 2007. We &lt;a href=&#34;https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/&#34;&gt;launched in September 2008&lt;/a&gt; after 9 months of development, ran it for about 5 months, and paused the site in February 2009. The project has been rebranded to &lt;a href=&#34;https://github.com/mewsic&#34; target=&#34;_blank&#34;&gt;Mewsic&lt;/a&gt; along the way, but the idea is the same. Rather than letting the code rot on a private server, we&amp;rsquo;re putting it all on GitHub. Full history preserved, warts and all.&lt;/p&gt;&#xA;&lt;p&gt;This is the first of three posts walking through the codebase. This one covers the main Rails application — the platform itself. The next two will cover the &lt;a href=&#34;https://sindro.me/posts/2010-10-16-myousica-multitrack-audio-mixing-in-the-browser/&#34;&gt;Flash multitrack editor&lt;/a&gt; and the &lt;a href=&#34;https://sindro.me/posts/2010-10-18-myousica-from-microphone-to-mp3/&#34;&gt;audio processing pipeline&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-idea&#34; id=&#34;the-idea&#34;&gt;The idea&lt;a class=&#34;heading-anchor&#34; href=&#34;#the-idea&#34; aria-label=&#34;Link to this section&#34;&gt;¶&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The pitch is simple: I upload a bass track for &lt;em&gt;Let It Be&lt;/em&gt;, you upload your voice, someone else adds guitar and drums. Through Myousica, there&amp;rsquo;s a multitrack editor running in your browser where you can mix everything together, adjust volumes, and publish the result. Other people can then take your remix, add their own tracks, and remix the remix.&lt;/p&gt;&#xA;&lt;p&gt;Collaborative music creation, entirely in the browser. No software to install, no files to email around. You sign up, you pick up your instrument, you record, and you&amp;rsquo;re jamming with people across the world.&lt;/p&gt;&#xA;&lt;p&gt;The platform supports 35 instruments across multiple categories — from electric guitar and bass to vocals, drums, keyboards, strings, brass, and more exotic things. Every track is tagged with its instrument, so you can search for &amp;ldquo;a bass line in E minor at 120 BPM&amp;rdquo; and find something to remix. The idea is that the platform builds a library of reusable musical parts that anyone can recombine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>myousica.com was born today</title>
      <link>https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/</link>
      <pubDate>Thu, 11 Sep 2008 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/</guid>
      <description>&lt;div class=&#34;retrospective&#34;&gt;&#xA;  &lt;span class=&#34;retrospective-icon&#34;&gt;&amp;#x1f50d;&lt;/span&gt;&#xA;  &lt;div class=&#34;retrospective-body&#34;&gt;&#xA;    &lt;em&gt;2026 retrospective&lt;/em&gt;&lt;br&gt;&#xA;    Eighteen years later, I wrote a &lt;a href=&#34;https://sindro.me/posts/2026-04-11-myousica-eighteen-years-later/&#34;&gt;retrospective&lt;/a&gt; on what we built, why we were too early, and who&amp;rsquo;s doing it today. The full technical deep-dive is in the &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;2010 series&lt;/a&gt;.&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&#34;https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/logo.png&#34; alt=&#34;myousica — play and share&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Today we released the output of 9 months of hard work: &lt;a href=&#34;http://myousica.com/&#34; target=&#34;_blank&#34;&gt;myousica.com&lt;/a&gt;, a social networking site for musicians. Have a look at the promo video and check out the &lt;a href=&#34;http://myousica.com/&#34; target=&#34;_blank&#34;&gt;site&lt;/a&gt;. Have fun! :)&lt;/p&gt;&#xA;&lt;video controls preload=&#34;metadata&#34; width=&#34;100%&#34;&gt;&#xA;  &lt;source src=&#34;https://sindro.me/posts/2008-09-11-myousica-com-was-born-today/myousica-promo.mp4&#34; type=&#34;video/mp4&#34;&gt;&#xA;&lt;/video&gt;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 2009/02/23&lt;/strong&gt;: The site is now paused.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 2010/10&lt;/strong&gt;: The source code has been &lt;a href=&#34;https://sindro.me/posts/2010-10-14-myousica-collaborative-music-remixing-platform/&#34;&gt;released on GitHub&lt;/a&gt; under the name Mewsic.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
