public Main() { InitializeComponent(); rtlLut = new float[256]; for (int i = 0; i < 256; i++) { rtlLut[i] = (i - 128) * (1f / 127f); } List <AudioDevice> audioDevices = AudioDevice.GetDevices(AudioDeviceDirection.Output); AudioDevice df = new AudioDevice("", "", 0, AudioDeviceDirection.Output, true); foreach (AudioDevice d in audioDevices) { Console.WriteLine(d.Name); if (d.IsDefault) { df = d; } } audioFifo = new Queue <float>(); audioLock = new object(); pl = new AudioPlayer(df.Index, audioSampleRate, (uint)(audioBufferInMs * audioSampleRate / 1000), audioBufferNeeded); rtlDevice = new RtlDevice(0); rtlDevice.SamplesAvailable += RtlDevice_SamplesAvailable; rtlDevice.Frequency = 200600000; rtlDevice.SampleRate = 2560000; fmCrusher = new FmCrusher(2560000, audioSampleRate); fmCrusher.AudioEvent += FmCrusher_AudioEvent; rtlDevice.Start(); }
public unsafe SharpTest() { InitializeComponent(); powerBuffer = DataBuffer.Create(fftBins, sizeof(float)); powerBufferDecimator = DataBuffer.Create(fftBins, sizeof(float)); fftBuffer = DataBuffer.Create(fftBins, sizeof(Complex)); powerPtr = (float *)powerBuffer; powerDecimatorPtr = (float *)powerBufferDecimator; fftBufferPtr = (Complex *)fftBuffer; hammingWindow = Filters.generateHammingWindow(fftBins); offsetTrackBar.Value = mainSpectrumAnalyzer.DisplayOffset; displayRangeBar.Value = mainSpectrumAnalyzer.DisplayRange; fmDemod = new FMDemodulator(); List <AudioDevice> devices = AudioDevice.GetDevices(AudioDeviceDirection.Output); foreach (AudioDevice d in devices) { if (d.IsDefault) { audioDeviceIdx = d.Index; break; } } updateFrequency((uint)(105.7 * 1000 * 1000)); sFFT = new SFFT(fftBins); }
public void StartRecording() { var sampleRate = 44100; var channelCount = 1; // Start recording from the main camera recordingClock = new RealtimeClock(); videoRecorder = new MP4Recorder(videoWidth, videoHeight, 30, sampleRate, channelCount, OnRecording); cameraInput = new CameraInput(videoRecorder, recordingClock, Camera.main); // Start the microphone audioDevice = AudioDevice.GetDevices()[0]; audioDevice.StartRecording(sampleRate, channelCount, this); }