none
Can I hear you now? RRS feed

  • Question

  • I recently installed Microsoft Small Basic version 0.6 on my Asus EeePC w/ 900 Mhz Intel Celeron processor & 1 Gb memory.  It seems to be running perfectly, with the exception that it will not play sound files.  To clarify, all of the "built-in" sounds ( "Bell Ring", "Chime", "Chimes" & "Click" ) seem to play properly, both in synchronus & asynchronus modes ( "Play" / "PlayAndWait" ), yet whenever I try to play a sound file, I hear nothing. 
    In an attempt to diagnose the problem, I ran a number of test cases, artificially generating syntax errors ( purposely omitting quote  marks & parentheses, mis-spelling file & path names, etc... ), in order to test Small Basic's error checking abilities.  Happily, it caught each of these errors easily, which leads me to believe that it is at least attempting to load and process the sound files in question.  Also, I tried mulitple examples of each sound file format ( ".wav", ".mp3" and ".wma" ), all with no success, though I did notice that, for instance, a 3-second audio file does suspend program execution for approximately 3 seconds, whereas a 10-second file produces the appropriate delay of 10 seconds, etc.  So it would seem that as far as Small Basic knows, the given file is playing, though I just can't hear it.  ( Do you suppose the problem is with my ears, or perhaps somewhere between them?! )
    As a last resort, I proceeded to un-install, re-install, and execute the "Repair Installation" option, both for Small Basic itself, and for Microsoft's .net Framework 3.5 SPI package, all to no avail. 
    While I am quite pleased with Small Basic over all, especially considering the cost, it is none the less rather disappointing that such a fundamental operation as playing an audio file is failing.  If you can suggest some course of action I have not yet tried, I would be most grateful, as I genuinely enjoy working with Small Basic, and hope to do so for some time to come.   Thank you for any assistance you can provide.
    Monday, August 31, 2009 4:39 PM

Answers

  • QUESTION: how can we make the sbprogram.exe independent and self-sufficient of .net?
    Small Basic and all .NET based languages (C#, VB.NET...) take the source code you write and convert it into an intermediate language called CIL.  At runtime, the Common Language Runtime(CLR, a core component of .NET) converts the CIL bytecode into native instructions your computer can understand using a special compiler, called a Just-In-Time compiler(JIT). 

    Because Small Basic compiles to CIL, and not directly to native code, the .NET Framework is necessary to run a Small Basic program.


    Monday, September 14, 2009 4:15 AM
  • Flurng,

    Thanks for reporting this issue.  The built-in sounds are .WAV resources.  Can you try playing an external .WAV file just to make sure that this is a Codec issue.

    - Vijaye

    ---
    Litdev & Stendec,

    Thanks for raising awareness of this issue.  I appreciate all the work you (and others) are doing in this forum.  If in future you have issues (or features) that you want to bring to my attention, you can email me: vijaye dot raji at microsoft dot com, and I'll be happy to give due consideration to them.



    Friday, September 4, 2009 11:10 PM
    Moderator

All replies

  • Look like you have covered most things.  The internal 'Bell Ring' etc use different methods to the user specified sounds.

    I assume you can play your sound files in 'Microsoft Media Player'.

    Do you see anything in Volume Mixer (Vista) or something similar in XP.  While playing there should be a separate volume mixer control for the SmallBasic Application, perhaps this is muted for some reason.


    Monday, August 31, 2009 5:42 PM
    Moderator
  • Thanks for the reply, litdev, and yes, as you guessed, I can play the sound files in question with Windows Media Player.  However, I'm not seeing anything specific to Small Basic in the volume mixer.  The closest related control would have to be either "Wave", or "SW Synth", both of which are set to max.  Guess I'll just have to wait for the next release of Small Basic, and / or .Net framework.  But, hey, this is really just a learning tool, and free at that, so what have I got to complain about?  Thanks again for the help!
    Tuesday, September 1, 2009 5:19 PM
  • I expect whatever issue you have will not be unique, and I also doubt any new release will fix something that the developers don't know is an issue, whether with SmallBasic iteself or more likely in conjunction with something specific to your setup. 

    Perhaps Vijaye or someone else may have some suggestions.  It is helpful to raise unusual problems like this, since testing is usually done on a few machines that may not catch unusual behavior, and since you can reproduce this consistently there may be diagnostic tests that could be helpful.
    Tuesday, September 1, 2009 6:44 PM
    Moderator
  • I'm starting to think you're correct in that new releases of SmallBasic will not solve my problem, as I don't believe the problem is with SmallBasic itself, though I still find it curious that the internal sounds would play without issue.  And yes, most likely the problem is my specific system setup, though at present, I don't believe this is a hardware problem, since I have never had audio problems of this sort in the past with my hardware.  My current suspicion is that this is an issue with my audio codecs; perhaps the required codec is missing or out of date. 

    In addition, I believe you're correct that this issue should be brought to the attention of Vijaye and his fellow developers, though I'm not quite sure how to pursue this course of action.  If you have any ideas regarding how to contact him/them, I'd be most grateful.

    Once again, I truly appreciate your correspondence on this issue, and I hope that a resolution can be found soon, as I really enjoy working with SmallBasic, and I am eager to see what it's future will bring.  Take care!


    Thursday, September 3, 2009 8:09 AM
  • This is a curious problem. I still have v0.5 as I've been busy with other things, but I thought I'd give you my observations.

    PlayAndWait with an mp3 file starts straight away.
    Play with the same file on its own does nothing as the program closes before it can be played.

    Play followed by an infinite loop e.g.

    Play("C:\soundfile.mp3")
    While(1=1)
    Endwhile

    apparently does nothing for 30s and then the file starts playing!
    Could you try the same with one of your own files and wait? It looks as though SB may be hogging all the time to itself and not allowing the background work of playing the file to proceed quickly enough.
    Thursday, September 3, 2009 5:59 PM
  • Flurng,

    Post again in the Bugs and Suggestion (v0.6 to v0.7) thread (reference this thread) to raise the profile of this query, especially with the SB developers.
    Friday, September 4, 2009 10:45 PM
    Moderator
  • Flurng,

    Thanks for reporting this issue.  The built-in sounds are .WAV resources.  Can you try playing an external .WAV file just to make sure that this is a Codec issue.

    - Vijaye

    ---
    Litdev & Stendec,

    Thanks for raising awareness of this issue.  I appreciate all the work you (and others) are doing in this forum.  If in future you have issues (or features) that you want to bring to my attention, you can email me: vijaye dot raji at microsoft dot com, and I'll be happy to give due consideration to them.



    Friday, September 4, 2009 11:10 PM
    Moderator
  • Hi, Vijaye!
     
    Thanks for your attention to this issue.  To answer your question, it was when I attempted to play an external .wav file that I noticed the problem in the first place, and since then, I have tried other ".wavs", as well as a few .mp3's and .wma's, all with no success.  To give you a little tech data, I am running Windows XP on an Asus Eeepc, with a 900 Mhz Celeron processor & 1 gb of Ram.  My audio hardware includes a Realtek High Definition Audio card.  As for software, I have installed SmallBasic version v.06, and Microsoft .Net framework SP1.  A look in the control panel shows that my system has the following codecs installed:
    imaadp32.acm, msadp32.acm, msg711.acm,    msgsm32.acm,
    tssoft32.acm,    msg723.acm, Windows Media Audio Codec,
    Spiro Lab Telecom Audio Codec, Indeo Audio Software,
    Fraunhofer IIs MPEG Layer-3 Codec, and Microsoft PCM Converter
    All of which report no problems.  I don't know whether any other codec's are required or missing, but those are apparently all
    that are currently installed on my machine.

    On an interesting note, I also have the following Basic dialects installed on my machine: GWBasic, QBasic, QuickBasic and LibertyBasic, all of which are able to play .wav files. ( even GWBasic! )  As I have not heard others report similar problems, I'm convinced that the problem is specific to my machine & ( most likely ) audio hardware.  Failing that, I'm also a bit suspicious of the .Net framework software, as it is the underlying low-level interface to the audio hardware.  Hope that this info helps, and should you need any more info, just drop me a note & I'll help any way I can.  Thanks again for looking into this issue, & take care!
    Sunday, September 6, 2009 2:17 PM
  • In response to your question regarding whether I see anything in the Volume Mixer corresponding to my SmallBasic application, the answer is "yes" and "no".  To clarify, I have installed SmallBasic /  .Net Framework 3.5 on both my Asus/XP machine, and my wife's HP/Vista unit.  On the Vista machine, I do, indeed, see a separate volume "slider" for my SmallBasic application.  It's actually kind of entertaining to watch it "pop up" out of no-where as my application begins, and then just vanish as soon as it ends!  On the XP machine, however, I see no such thing.  This would seem to confirm my suspicions that my problem lies, not with my hardware or with SmallBasic itself, but with Microsoft's .Net Framework software instead.  Perhaps "XP" is not fully compatible with ".Net".  At any rate, I can at least test, on the HP, whatever I've written on my Asus, so for now, at least, I'm getting by.  ( Wow! 6 commas in one sentence!  Must be a new record for me! )  Well, I don't expect Microsoft will be addressing this issue any time soon, so I'll just concentrate on other, more pressing matters.  Thanks, once again, for your correspondence & suggestions.  I'm sure I'll see you 'round the forums, so `adios & take care!
    Flurng 
    Friday, September 11, 2009 1:41 AM
  • Gentlemen;

    I have exactly the same problem and on the same machine.  However, on a different XP machine and on Vista, the sound works fine (as long as you Sound.Stop).  I then tried to install SB on the Asus so I could debug but it crashed every time.  Only after about 6 iterations of .net uninstall, re-installation, repair, update, install sp1, install updates to sp1 etc ad nauseum would SB run.   The test cases will not play the sound files on the ASUS, but everything else seems to work.

    QUESTION: how can we make the sbprogram.exe independent and self-sufficient of .net?  Navigating though the gigantic swamp of .net in order to have a "Small Basic" learning language is certainly a contradiction.  Many to whom I would send a program are barely able to send and receive an email.  For them to try to decipher the message that appears when the .exe is run and .net (3.5 SP1 and update 1 to that) is not installed will always be beyond them.

    Thanks!

    Dan
    Sunday, September 13, 2009 7:30 PM
  • QUESTION: how can we make the sbprogram.exe independent and self-sufficient of .net?
    Small Basic and all .NET based languages (C#, VB.NET...) take the source code you write and convert it into an intermediate language called CIL.  At runtime, the Common Language Runtime(CLR, a core component of .NET) converts the CIL bytecode into native instructions your computer can understand using a special compiler, called a Just-In-Time compiler(JIT). 

    Because Small Basic compiles to CIL, and not directly to native code, the .NET Framework is necessary to run a Small Basic program.


    Monday, September 14, 2009 4:15 AM
  • Gentlemen;

    I have exactly the same problem and on the same machine.  However, on a different XP machine and on Vista, the sound works fine (as long as you Sound.Stop).  I then tried to install SB on the Asus so I could debug but it crashed every time.  Only after about 6 iterations of .net uninstall, re-installation, repair, update, install sp1, install updates to sp1 etc ad nauseum would SB run.   The test cases will not play the sound files on the ASUS, but everything else seems to work.

    QUESTION: how can we make the sbprogram.exe independent and self-sufficient of .net?   Navigating though the gigantic swamp of .net in order to have a "Small Basic" learning language is certainly a contradiction.  Many to whom I would send a program are barely able to send and receive an email.  For them to try to decipher the message that appears when the .exe is run and .net (3.5 SP1 and update 1 to that) is not installed will always be beyond them.

    Thanks!

    Dan
    It's interesting, though not surprising, that you're having similar difficulties with your Asus.  As much as I love this little machine, I suppose nothing is perfect.  That fact that you are experiencing the same issue would seem to suppoort my suspicions that the problem lies either with the Realtek sound card hardware or drivers, or perhaps with Asus's internal bus structure. 
    Either way, even if all parties involved ( Realtek, Asus & Microsoft ) are aware of the problem, I doubt there's enough users with Asus products who are also developing software with SmallBasic / .Net to make it worthwhile to fix the problem.  So, it would seem this is a dead issue. ( Though I've been wrong before! ) 
    At any rate, since I do have a machine I can use to test my code, and since I enjoy SmallBasic programming as more or less a hobby activity, this problem is a mere annoyance to me.  I just feel for those poor souls with no other systems to run SmallBasic on and/or those with a greater interest in using SmallBasic ( educators, developers, etc... )
    I must say, however, that I am impressed with how much attention this simple problem has received, and to all those who have contributed such valued input, I am truly obliged! 
    On a final note, I concur that building a "small" language on top of such an immense framework of software is a bit contradictory, however I applaud Vijaye's ( And his fellow developers' ) efforts, and who knows? - perhaps one day, someone will port SmallBasic to a stand-alone compiler!  Let's just say I'm not holding my breath, but it would be pretty great, wouldn't it?!
    Saturday, September 19, 2009 10:41 PM
  • It appears that neither newer versions of SB nor  newer versions of the Asus Eee PC have fixed this issue.  I am running SB v0.8 and have the Eee PC 1000HA.  Same exact issue where the SB pre-canned sounds play just fine, but any time I try to play a wav off of disk I get silence.
    Sunday, March 14, 2010 1:53 AM