public CarrierFrequencyApplier( IWaveFileMetadata metadata, CarrierFrequencyModel carrierFrequency, FeatureProvider featureProvider, ISamplingFrequencyProvider samplingFrequencyProvider) : base(numberOfChannels: metadata.NumberOfChannels, phaseShiftChannels: metadata.PhaseShiftCarrier, samplingFrequencyProvider.SamplingFrequency) { this.metadata = metadata; this.carrierFrequency = carrierFrequency; this.featureProvider = featureProvider; }
public WaveStreamBase(SettingsCommon settings, ISamplingFrequencyProvider samplingFrequencyProvider, IProgressReporter progressReporter) { Channels = settings.GetNumberOfChannels(); if (Channels < 1 || Channels > 2) { throw new InvalidOperationException("Channels must be either 1 or 2."); } LengthSeconds = settings.TrackLength.TotalSeconds; N = (int)(LengthSeconds * samplingFrequencyProvider.SamplingFrequency); overallDataSize = N * Channels * BytesPerSample; overallFileSize = overallDataSize + 44; this.samplingFrequencyProvider = samplingFrequencyProvider; this.progressReporter = progressReporter; }
public PulseV2WaveFile(ISamplingFrequencyProvider samplingFrequencyProvider, int numberOfChannels, FrequencyPulse component, Constant[] constants, Function[] functions) : base(numberOfChannels: numberOfChannels, phaseShiftChannels: false, samplingFrequencyProvider.SamplingFrequency) { this.frequencyExpression = new Expression(component.Frequency); this.frequencyExpression.addConstants(constants); this.frequencyExpression.addFunctions(functions); this.frequencyExpression.addArguments(new Argument("t"), new Argument("n"), new Argument("channel")); this.frequencyExpression.verifySyntax(); this.pulseExpression = new Expression(component.Pulse); this.pulseExpression.addConstants(constants); this.pulseExpression.addFunctions(functions); this.pulseExpression.addArguments(new Argument("x"), new Argument("t"), new Argument("n"), new Argument("channel")); this.pulseExpression.verifySyntax(); }
public PulseGenerator( PulseFrequencyModel pulseFrequency, IWaveformExpressionProvider waveformExpressionProvider, IWaveFileMetadata waveFileMetadata, Randomizer randomizer, FeatureProvider featureProvider, IFeatureChooser featureChooser, ISectionsProvider sectionsProvider, ISamplingFrequencyProvider samplingFrequencyProvider) : base(waveFileMetadata.NumberOfChannels, waveFileMetadata.PhaseShiftPulses, samplingFrequencyProvider.SamplingFrequency) { this.pulseFrequency = pulseFrequency; this.randomizer = randomizer; this.featureProvider = featureProvider; this.featureChooser = featureChooser; this.sectionsProvider = sectionsProvider; var waveformExpression = waveformExpressionProvider.WaveformExpression; if (waveformExpression != null) { waveformScript = WaveformExpression.Parse(waveformExpression); } }
public WaveStreamV1(Settings settings, ChannelSplitter channelSplitter, ISamplingFrequencyProvider samplingFrequencyProvider, IProgressReporter progressReporter) : base(settings, samplingFrequencyProvider, progressReporter) { this.channelSplitter = channelSplitter; }
public SectionsProvider(IWaveFileMetadata settings, SectionsModel sections, ISamplingFrequencyProvider samplingFrequencyProvider) { this.settings = settings; this.sections = sections; this.samplingFrequencyProvider = samplingFrequencyProvider; }