Exemple #1
0
        public static WavFile Compose(IModulator modulator, SampleRateType sampleRate, BitArray data)
        {
            using MemoryStream ms = new MemoryStream();
            BinaryWriter bw = new BinaryWriter(ms);

            bw.Write(new byte[(int)(0.5 * 2 * (int)sampleRate)]);

            foreach (bool bit in data)
            {
                if (bit)
                {
                    modulator.WriteOne(ms);
                }
                else
                {
                    modulator.WriteZero(ms);
                }
            }

            bw.Write(new byte[(int)(0.5 * 2 * (int)sampleRate)]);

            var wavFile = new WavFile((int)sampleRate, ms.ToArray());

            return(wavFile);
        }
Exemple #2
0
 public StreamSynthesizer(SampleRateType sampleRate, int bufferSize = 4096, int maxpoly = 60)
 {
     this.sampleRate    = (int)sampleRate;
     this.audioChannels = 1;
     //UnitySynth
     this.samplesperBuffer = bufferSize;
     this.polyphony        = maxpoly;
     setupSynth();
 }
Exemple #3
0
        public static NzrModulator GetCustomBitDurationModulator(SampleRateType sampleRate, double bitDuration, double carrierFrequency)
        {
            var modulator = new NzrModulator(
                carrierFrequency: carrierFrequency,
                sampleRate: sampleRate,
                bitDuration: bitDuration
                );

            return(modulator);
        }
Exemple #4
0
 public NzrDemodulator(double carrierFrequency, SampleRateType sampleRate, double bitDuration)
 {
     CarrierFrequency = carrierFrequency;
     SampleRate       = sampleRate;
     BitDuration      = bitDuration;
 }
Exemple #5
0
        public static NzrDemodulator GetCustomBitDurationDemodulator(double carrierFrequency, SampleRateType sampleRate, double bitDuration)
        {
            var demodulator = new NzrDemodulator(
                carrierFrequency: carrierFrequency,
                sampleRate: sampleRate,
                bitDuration: bitDuration
                );

            return(demodulator);
        }
Exemple #6
0
 public HighPassFilter(double cutoffFrequency, SampleRateType sampleRate)
 {
     filter = new HighpassFilterButterworthImplementation(cutoffFrequency, 1, (double)sampleRate);
 }
 public StreamSynthesizer(SampleRateType sampleRate, int bufferSize = 4096, int maxpoly = 60)
 {
     this.sampleRate = (int)sampleRate;
     this.audioChannels = 1;
     //UnitySynth
     this.samplesperBuffer = bufferSize;
     this.polyphony = maxpoly;
     setupSynth();
 }