static void Main(string[] args) { Data data1 = new Data(1, 2, 0, 0); Data data2 = new Data(1, 50, 0, 0.9); Signal signal1 = new SinusSignal(data1); Signal signal2 = new ImpulseSignal(data2); var values = Modulation.ApplyFM(signal1, signal2, SampleRate, Seconds); SoundGenerator soundGenerator = new SoundGenerator(SampleRate, Seconds, $"MS {signal1.GetType()} A {data1.Amplitude} F {data1.Frequency} phi0 {data1.StartPhase} D {data1.DutyFactor}. " + $"CS {signal2.GetType()} A {data2.Amplitude} F {data2.Frequency} phi0 {data2.StartPhase} D {data2.DutyFactor}" ); soundGenerator.Generate(values, true); }
/// <summary> /// Gets a hash code for this file binary header /// </summary> /// <returns></returns> public override int GetHashCode() { unchecked { var hashCode = JobId; hashCode = (hashCode * 397) ^ LineNum; hashCode = (hashCode * 397) ^ Reelnum; hashCode = (hashCode * 397) ^ DataTracesPerRecord.GetHashCode(); hashCode = (hashCode * 397) ^ AuxTracesPerRecord.GetHashCode(); hashCode = (hashCode * 397) ^ SampleIntervalOfFileMicrosec.GetHashCode(); hashCode = (hashCode * 397) ^ SampleIntervalOrigRecordingMicrosec.GetHashCode(); hashCode = (hashCode * 397) ^ SamplesPerTraceOfFile.GetHashCode(); hashCode = (hashCode * 397) ^ SamplesPerTraceOrigRecording.GetHashCode(); hashCode = (hashCode * 397) ^ DataSampleFormatCode.GetHashCode(); hashCode = (hashCode * 397) ^ CdpFold.GetHashCode(); hashCode = (hashCode * 397) ^ TraceSortingCode.GetHashCode(); hashCode = (hashCode * 397) ^ VerticalSumCode.GetHashCode(); hashCode = (hashCode * 397) ^ SweepFrequencyStart.GetHashCode(); hashCode = (hashCode * 397) ^ SweepFrequencyEnd.GetHashCode(); hashCode = (hashCode * 397) ^ SweepLengthMs.GetHashCode(); hashCode = (hashCode * 397) ^ SweepType.GetHashCode(); hashCode = (hashCode * 397) ^ TraceNumSweepChannel.GetHashCode(); hashCode = (hashCode * 397) ^ SweepTraceTaperLengthStartMs.GetHashCode(); hashCode = (hashCode * 397) ^ SweepTraceTaperLengthEndMs.GetHashCode(); hashCode = (hashCode * 397) ^ SweepTaperType.GetHashCode(); hashCode = (hashCode * 397) ^ CorrelatedDataTraces.GetHashCode(); hashCode = (hashCode * 397) ^ BinaryGainRecovered.GetHashCode(); hashCode = (hashCode * 397) ^ AplitudeRecovery.GetHashCode(); hashCode = (hashCode * 397) ^ UnitSystem.GetHashCode(); hashCode = (hashCode * 397) ^ ImpulseSignal.GetHashCode(); hashCode = (hashCode * 397) ^ VibratoryPolarityCode.GetHashCode(); hashCode = (hashCode * 397) ^ SegyFormatRevisionNum.GetHashCode(); hashCode = (hashCode * 397) ^ FixedLengthTraceFlag.GetHashCode(); hashCode = (hashCode * 397) ^ ExtendedTextHeadersCount.GetHashCode(); return(hashCode); } }