Exemple #1
0
        private static int[] RenderTone(SameWavBit byteSpec)
        {
            var computedSamples = new List <int>();

            for (var i = 0; i < (44100 * byteSpec.length); i++)
            {
                for (var c = 0; c < 2; c++)
                {
                    var sample = (decimal)(byteSpec.volume * Math.Sin((2 * Math.PI) * (i / 44100d) * byteSpec.frequency));
                    if (headerByteCache.ContainsKey(sample))
                    {
                        computedSamples.AddRange(headerByteCache[sample]);
                    }
                    else
                    {
                        List <int> thisSample = PackBytes("v", sample);
                        computedSamples.AddRange(thisSample);
                        headerByteCache.Add(sample, thisSample);
                    }
                }
            }
            return(computedSamples.ToArray());
        }
Exemple #2
0
        private static int[] RenderTone(SameWavBit byteSpec)
        {
            var computedSamples = new List<int>();
            for (var i = 0; i < (44100*byteSpec.length); i++)
            {
                    for (var c = 0; c < 2; c++)
                    {
                        var sample = (decimal) (byteSpec.volume*Math.Sin((2*Math.PI)*(i/44100d)*byteSpec.frequency));
                        if (headerByteCache.ContainsKey(sample))
                        {
                            computedSamples.AddRange(headerByteCache[sample]);
                        }
                        else
                        {
                            List<int> thisSample = PackBytes("v", sample);
                            computedSamples.AddRange(thisSample);
                            headerByteCache.Add(sample, thisSample);
                        }
                    }

            }
            return computedSamples.ToArray();
        }