<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Yayy, progress...<div><br></div><div>The PianoKeyboard in the Parts Bin now includes a built-in synthesizer (still very crude) so it can make sound.</div><div><br></div><div>There's a demo page at...</div><div><br></div><div>    <a href="http://lively-kernel.org/repository/webwerkstatt/users/Dan/SoundTest2.xhtml">http://lively-kernel.org/repository/webwerkstatt/users/Dan/SoundTest2.xhtml</a></div><div><br></div><div><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">This works </span><span style="font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">in</span><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> Chrome and Firefox but not </span><span style="font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">in</span><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> Safari, where it tries to fall back to Flash, but </span><span style="font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; color: rgb(0, 0, 139); outline-style: none; outline-width: initial; outline-color: initial; ">this</span><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> does not work </span><span style="font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">for</span><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> some reason.  If you can figure out what is wrong </span><span style="font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">with</span><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> the Flash code, please let us know!

Thanks to Robert </span><span style="font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; color: rgb(0, 0, 128); outline-style: none; outline-width: initial; outline-color: initial; ">for</span><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "> several tips and fixes.</span></div><div><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; "><br></span></div><div><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">  - Dan</span></div><div><span style="color: rgb(0, 0, 0); font-family: Monaco, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(243, 243, 243); text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; ">-----------</span></div><div><div><div>On Feb 11, 2012, at 12:20 AM, Daniel Ingalls wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Folks -<div><br></div><div>I finally found a simple sound interface that promises to work for Chrome and Firefox, and to invoke Flash in other cases.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> <a href="https://github.com/grantgalitz/XAudioJS">https://github.com/grantgalitz/XAudioJS</a></span></div><div><br></div><div>I have a test page working now (in Chrome only) that is capable of generating samples on the fly from my PianoKeyboard morph.</div><div><br></div><div>If you'd like to play with it, check out</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">    </span><a href="http://lively-kernel.org/repository/webwerkstatt/users/Dan/SoundTest1.xhtml">http://lively-kernel.org/repository/webwerkstatt/users/Dan/SoundTest1.xhtml</a></div><div><br></div><div>Caveats:</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>Of course it sounds crappy because I'm just using a sawtooth wave to test, and there's no reverb, etc, etc.</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>There seems to be some problem with text in firefox that is preventing it from working there</div><div><span class="Apple-tab-span" style="white-space:pre">         </span>I've had the basic sound buffer working before in FF</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>In Safari it claims to load the Flash failure code, but that does not work yet.</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>Don't try glissando (sliding the mouse on the keyboard) - it will pull the keys off your piano!</div><div><br></div><div>Next steps:</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Get Stereo and pan working</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>Port the basic synthesis kernel from Squeak for polyphony and interesting timbres</div><div><br></div><div>If you can get it working in some of the other browsers you'll be my hero.</div><div><br></div><div>  - Dan</div></div></blockquote></div><br></div></body></html>