Quantcast
Channel: NAudio
Viewing all 5831 articles
Browse latest View live

New Post: Dead Board

$
0
0

Is Mark Heath the only person who knows a thing about NAudio?

I am fed up with waiting forever for a solution when I am running into a problem because nobody replies here or on stackoverflow. And if there is an answer it is short and most of the times produces new questions. Answering those questions again takes days, just to get a short answer that produces again more questions. There is no documentation, you cannot learn everything from some outdated tutorials. Is there a NAudio alternative that has more supporters so I can expect help within an hour or less plus a decent documentation?


New Post: Dead Board

$
0
0
TruthfulStatement wrote:

Is Mark Heath the only person who knows a thing about NAudio?

I am fed up with waiting forever for a solution when I am running into a problem because nobody replies here or on stackoverflow. And if there is an answer it is short and most of the times produces new questions. Answering those questions again takes days, just to get a short answer that produces again more questions. There is no documentation, you cannot learn everything from some outdated tutorials. Is there a NAudio alternative that has more supporters so I can expect help within an hour or less plus a decent documentation?

hello again TruthfulStatement. I have tried to help you as much as I can, but NAudio is just a spare time project for me and so I cannot always immediately answer every question I receive. I get several queries about NAudio every day, so it is hard to keep on top of it all. If you had bothered to try what I suggested my last answer you would have discovered that it does in fact answer the question you asked. I find the tone with which you have conducted yourself on this forum to be rude and disrespectful. If you expect help "within an hour" then you will need to look for a commercial product (e.g. bass.net), or discuss paid technical support, which I am sometimes able to offer.

best regards

Mark

New Post: Dead Board

$
0
0

Mark is the creator of NAudio, it is an awesome library and community resource. Mark's been working on this for years, largely by himself.

People often only view this board when they have a problem and many who do, seem to be looking for free support to complete their own programming or development goals. I've seen this manifest in many ways, from those who don't understand the complexities of the problems they are facing - they ask for a function to do what ever it is they want; to those who are just starting to learn C# and may be trying to write one of their first programs, asking for very generic C# help.

Unfortunately, it means that there are a lot of people who just want free support and don't give anything back to the community. Instead of trying to improve on tutorials which may be out of date, they are only ever inwardly focused on their goals. If you look over the posts on this board, Mark replies to nearly every one, by himself; there's over 800 topics in this board since it was created and that represents a massive investment of Mark's time and passion.

If you expect "help within an hour or less plus a decent documentation?" - I suggest that you put a bounty on your stack overflow questions, hire some one from a freelance website or pay for a commercial product that will charge you for this support.

This is an Open Source project that Mark has freely given to the community - it is not a ball and chain that is attached to his leg requiring him to work for nothing and fix every one else's problems.

He has been overly generous and amazingly supportive for hundreds of people over the years, please show him some respect.

 

New Post: Dead Board

$
0
0

On Stackoverflow for other kinds of questions you get answers within minutes. Just when it comes to naudio nobody seems to use these dlls but a selected few.

I contribute if I can only. A lot of times I can on stackoverflow. But without a decent documentation or in general mechanisms("When do you use a waveprovider, which mixer to use when, etc.") this won't change.

Mark, you created this software. If you want less questions and more spread you need to create a good documentation.

I contribute for free on stackoverflow, as everyone else there. So don't give me that hire-someone rap.

PS: I am neither rude nor disrespectful but straightforward.

New Post: Dead Board

$
0
0
TruthfulStatement wrote:

I contribute for free on stackoverflow, as everyone else there. So don't give me that hire-someone rap.

What username do you use on StackOverflow?

 

As Mark suggested, I think you should look at Bass.Net

New Post: Dead Board

$
0
0
What username do you use on StackOverflow?

Peter Fren

As Mark suggested, I think you should look at Bass.Net 

That is avoiding the question especially as I have already done a lot using naudio. Restarting from the ground is no good idea now. But I came to a point I cannot continue without proper documentation. Anyways if that continues I'll have to look into Bass.net.

New Post: Dead Board

$
0
0
TruthfulStatement wrote:
What username do you use on StackOverflow?

Peter Fren

As Mark suggested, I think you should look at Bass.Net 

That is avoiding the question especially as I have already done a lot using naudio. Restarting from the ground is no good idea now. But I came to a point I cannot continue without proper documentation. Anyways if that continues I'll have to look into Bass.net.

You've been a member on StackOverflow for 12 days. I'm not sure what you are comparing NAudio to with your experience of this limitless supply of free support, within an hour response but if your comparing it to a whole language, like a question on a standard C# function then it's unlikely that your expectations will be met.

NAudio is the best open source C# Audio library - In my opinion, there is nothing that comes close - if there was, you would see it on StackOverflow.

If NAudio doesn't meet your expectations please use the alternative suggested or look at another language such a C and then use a library like what is provided by SDL or write an interface for ASIO. 

New Post: Dead Board

$
0
0

You see I expected this. You were not asking for my name there out of interest but to find reason to prove me wrong. You have this childish expectation that contributing is somehow related to the time you are registered on some portal.

NAudio is not the best open source C# Audio library without a decent documentation.

But I notice two things: First, this thread is unusually active and your replies are longer than mine, meaning you are capable of writing longer replies. Second, you managed to understand it as you claim. How come? Are there sources not being linked to here that help you understand NAudio? How did you write your tutorials? Are you the same person as markheath?


New Post: Dead Board

$
0
0
TruthfulStatement wrote:

You see I expected this. You were not asking for my name there out of interest but to find reason to prove me wrong. 

I don't think I actually proved you wrong but as I said I was trying to understand what you were comparing this to. I still think your expectations about support are excessive. 

I wrote the tutorials you refereed to as being out of date. I wrote them by learning about NAudio myself and with the assistance Mark and others provided on the forum, on StackOverflow, on IRC etc. I was patient and respectful of the time that other people provided to me. I had to do a lot of reading about Audio development in general. A few white papers that made my eyes gloss over and I even bought a few books about basic audio theory to help me understand the domain I was working in. DSP is an extensive and complicated field and it took me a long time to build up my general knowledge. Once I had a basic understanding, translating that to a working knowledge of NAudio was a matter of just understanding conventions and the architecture, a bit of tearing apart the demo program and a nice amount of tinkering.

This topic is certainly more active than most - I subscribe to ever message in the NAudio forums and read each one. It's been a while since I personally used NAudio because of the different work I am doing now and as such I'm not really in a position to answer most of the questions these days; however when I see something like this, I do feel compelled to respond.

I'm not the same person as Mark. I just respect him a lot.

New Post: .DAT File from DDP Fileset

$
0
0

Hi Mark,

I was wondering if NAudio would playback a .DAT File from a DDP fileset?

The format for the DAT file from DDP is always 44.1 Stereo 16bit.

Thanks, Wyatt

New Post: .DAT File from DDP Fileset

$
0
0

Is it PCM, and is the byte ordering little endian? If so you could just use a RawSourceAudioStream, passing in a new WaveFormat(44100,16,2) and a FileStream to the .DAT file.

Mark

New Post: How to generate wav with a specific length

$
0
0

There are several ways you can do this, but one is for WaveTone to stop returning audio after five seconds. Since you are already tracking a "time" variable, which is the total number of samples, you can use this:

for (int i = 0; i < samples && time < (44100 * 5); i++)

however, make sure that the Read function returns 0 after you've reached the end, or it will carry on playing indefinitely.

Updated Wiki: Documentation

$
0
0

The NAudio Documentation Wiki

NAudio FAQ

What is NAudio?

NAudio is an open source audio API for .NET written in C# by Mark Heath, with contributions from many other developers. It is intended to provide a comprehensive set of useful utility classes from which you can construct your own audio application.

Why NAudio?

NAudio was created because the Framework Class Library that shipped with .NET 1.0 had no support for playing audio. The System.Media namespace introduced in .NET 2.0 provided a small amount of support, and the MediaElement in WPF and Silverlight took that a bit further. The vision behind NAudio is to provide a comprehensive set of audio related classes allowing easy development of utilities that play or record audio, or manipulate audio files in some way.

Can I Use NAudio in my Project?

NAudio is licensed under the Microsoft Public License (Ms-PL) which means that you can use it in whatever project you like including commercial projects. Of course we would love it if you share any bug-fixes or enhancements you made to the original NAudio project files.

Is .NET Performance Good Enough for Audio?

While .NET cannot compete with unmanaged languages for very low latency audio work, it still performs better than many people would expect. On a fairly modest PC, you can quite easily mix multiple WAV files together, including pass them through various effects and codecs, play back glitch free with a latency of around 50ms.

How can I get help?

There are three main ways to get help. If you have a specific question concerning how to use NAudio, then I recommend that you ask onStackOverflow and tag your question with naudio. This gives you the best chance of getting a quick answer. You can also ask a question on theNAudio discussion forums here on CodePlex. I attempt to answer all questions, but since this is a spare time project, occasionally I get behind. Finally, I am occasionally able to offer paid support for situations where you need quick advice, bugfixes or new features. Use the contact feature of the Codeplex website to get in touch withMark Heath if you wish to pursue this option.

How do I submit a patch?

I welcome contributions to NAudio and have accepted many patches, but if you want your code to be included, please familiarise yourself with the following guidelines:

  • Your submission must be your own work, and able to be released under the MS-PL license.
  • You will need to make sure your code conforms to the layout and naming conventions used elsewhere in NAudio.
  • Remember that there are many existing users of NAudio. A patch that changes the public interface is not likely to be accepted.
  • Try to write "clean code" - avoid long functions and long classes. Try to add a new feature by creating a new class rather than putting loads of extra code inside an existing one.
  • I don't usually accept contributions I can't test, so please write unit tests (using NUnit) if at all possible. If not, give a clear explanation of how your feature can be unit tested and provide test data if appropriate. Tell me what you did to test it yourself, including what operating systems and soundcards you used.
  • If you are adding a new feature, please consider writing a short tutorial on how to use it.
  • Unless your patch is a small bugfix, I will code review it and give you feedback. You will need to be willing to make the recommended changes before it can be integrated into the main code.
  • The easiest way to provide a patch is to create your own fork on Mercurial and issue a pull request. Seethis video if you are new to Mercurial.
  • Please also bear in mind that when you add a feature to NAudio, that feature will generate future support requests and bug reports. Are you willing to stick around on the forums and help out people using it?

How do I...?

The best way to learn how to use NAudio is to download the source code and look at the two demo applications - NAudioDemo and NAudioWpfDemo. These demonstrate several of the key capabilities of the NAudio framework. They also have the advantage of being kept up to date, whilst some of the tutorials you will find on the internet refer to old versions of NAudio.

Getting Started with NAudio – Downloading and Compiling

  1. Download a copy of the NAudio source code (or a pre-compiled version but the newest available code is available in source form first).
    http://naudio.codeplex.com/SourceControl/list/changesets
  2. The default project is set to the NAudio class library. Class Library’s don’t have anything to look at when you press F5. If this is your first time with NAudio, set the start-up project asNAudioDemo and then hit F5. The NAudioDemo project shows the base functionality you can utilise through your own project.
  3. In the BIN directory for the built solution, you can find a copy of the NAudio library for using and referencing in your own project. Make sure that you grab a copy of the NAudio.XML file as well if your copying it over to your own projects directory, that way you will have the intellisense documentation for use in Visual Studio when working with the NAudio API.

Additional Tutorials from OpenSebJ's blog (n.b. these are for NAudio 1.3):

http://stackoverflow.com/

New Post: How to generate wav with a specific length

$
0
0

Hi markheath

I've modified the code. Buy i dont understand how to stop Read function. It's continuing calling and the sound is keep playing. What should i do?

 

publicoverrideint Read(byte[] buffer, int offset, int count)
            {int samples = count / 2;for (int i = 0; i < samples && time < (44100 * 3); i++)
                {double sine = amplitude * Math.Sin(Math.PI * 2 * frequency * time);
                    time += 1.0 / 44100;short truncated = (short)Math.Round(sine * (Math.Pow(2,15) - 1));
                    buffer[i * 2] = (byte)(truncated & 0x00ff);
                    buffer[i * 2 + 1] = (byte)((truncated & 0xff00) >> 8);
                }return count;
            }

slinger

 

 

New Post: How to generate wav with a specific length

$
0
0

as I said above, Read must return 0 not count when you reach the end. e.g.:

 

return (time < (44100 * 3)) ? count : 0;

New Post: How to generate wav with a specific length

$
0
0

Sorry for asking dummy questions but nothing has changed:

publicoverrideint Read(byte[] buffer, int offset, int count)
            {int samples = count / 2;for (int i = 0; i < samples && time < (44100 * 3); i++)
                {double sine = amplitude * Math.Sin(Math.PI * 2 * frequency * time);
                    time += 1.0 / 44100;short truncated = (short)Math.Round(sine * (Math.Pow(2,15) - 1));
                    buffer[i * 2] = (byte)(truncated & 0x00ff);
                    buffer[i * 2 + 1] = (byte)((truncated & 0xff00) >> 8);
                }//return count;return (time < (44100 * 3)) ? count : 0;
            }
slinger

New Post: How to generate wav with a specific length

$
0
0

oh, sorry, I see that time is not in samples. replace both instances of (44100 * 3) with 3. Also, you don't need to be using BlockAlignReduction stream.

New Post: How to generate wav with a specific length

$
0
0

Holy Lord! it works properly^) thx. But what should i use instead of BlockAlignReductionStream?

New Post: How to generate wav with a specific length

$
0
0

nothing. just pass tone directly into Init

New Post: .DAT File from DDP Fileset

$
0
0

Would it be possible to do this from the source, like was metioned in this thread?

http://naudio.codeplex.com/discussions/254145

Thanks, Wyatt

Viewing all 5831 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>