public LogarithmicScaleViewModel() { short[] sampleBuffer = CreateSampleBuffer(); this.averageChannelNormalized = new double[sampleBuffer.Length / 2]; for (int i = 1, k = 0; i < sampleBuffer.Length; i += 2, k++) { double seconds = (i / 2) * (1.0 / SamplingFrequency); double normalizedValueOfLeftChannel = sampleBuffer[i] / sixteenBitSampleMaxVale; double normalizedValueOfRightChannel = sampleBuffer[i - 1] / sixteenBitSampleMaxVale; LeftChannelData.Add(new DateTimeData(BasisDate.AddSeconds(seconds), normalizedValueOfLeftChannel)); RightChannelData.Add(new DateTimeData(BasisDate.AddSeconds(seconds), normalizedValueOfRightChannel)); this.averageChannelNormalized[k] = (normalizedValueOfLeftChannel + normalizedValueOfRightChannel) / 2d; } int halfOfFrame = DefaultFrameLength / 2; double frequencyStep = SamplingFrequency / 2d / halfOfFrame; for (int i = 0; i < halfOfFrame; i++) { FrequencyData.Add(new NumericData(frequencyStep * i, 0)); } this.last = DateTime.Now; }
public FrequencyData[] GetSortedDatas() { int frequency = 0; for (int i = 0; i < m_fftRight.Length; i++) { double decibels = m_fftRight[i]; m_datas[i] = new FrequencyData(frequency * 2, decibels); frequency++; } return(m_datas.OrderByDescending(x => x.Intensity).ToArray()); }
public void Visualize() { DestroyAll(); frequencyGraphTransform.GetComponent <RectTransform>().sizeDelta = new Vector2(900, frequencyData.Count * 70f); int maxCnt = frequencyData[0].oldCnt + frequencyData[0].nowCnt; for (int i = 0; i < frequencyData.Count; i++) { FrequencyData data = frequencyData[i]; Bar bar = Instantiate(barPrefab, frequencyGraphTransform).GetComponent <Bar>(); bars.Add(bar); bar.Visualize(i, data.word, data.oldCnt, data.nowCnt, maxCnt); } }
void Viewer_OnDataArrived(FrequencyData[] frequencies) { m_Playing_Notes.Clear(); FundamentalFrequency = frequencies.First(); m_Playing_Notes.Add(NotesManager.GetNoteByFrequency(FundamentalFrequency.Frequency)); if (m_Playing_Notes[0] != null) { Console.WriteLine(m_Playing_Notes[0].SymbolUS); } if (RecordUpdated != null) { RecordUpdated(frequencies); } Console.WriteLine(FundamentalFrequency.Frequency); }
public static List <FrequencyData> FrequencyParser(TextAsset asset) { List <FrequencyData> datas = new List <FrequencyData>(); StringReader sr = new StringReader(asset.text); string source = sr.ReadLine(); while (source != null) { string[] values = source.Split('\t'); FrequencyData data = new FrequencyData(int.Parse(values[1]), int.Parse(values[2]), values[0]); datas.Add(data); source = sr.ReadLine(); } return(datas); }
public async Task <IActionResult> GetGraphData() { Graph graph = new Graph(); var query = _session.Query <ContentItem, ContentItemIndex>(); var allStatus = await query.Where(o => o.ContentType == "AdvancedFormStatus" && (o.Latest || o.Published)).ListAsync(); //dynamic FreqStatus = new System.Dynamic.ExpandoObject(); Dictionary <string, string> statusWithColor = new Dictionary <string, string>(); query = _session.Query <ContentItem, ContentItemIndex>(); var allTypes = await query.Where(o => o.ContentType == "AdvancedFormTypes" && (o.Latest || o.Published)).ListAsync(); query = _session.Query <ContentItem, ContentItemIndex>(); var allAdvacnedForms = await query.Where(o => o.ContentType == "AdvancedForm" && o.Latest).ListAsync(); graph.FreqData = new List <FrequencyData>(); FrequencyData data; query = _session.Query <ContentItem, ContentItemIndex>(); var allSubmissions = await query.Where(o => o.ContentType == "AdvancedFormSubmissions" && o.Latest && o.Published).ListAsync(); int formCount = 0; foreach (var type in allTypes) { var formsIds = allAdvacnedForms.Where(o => o.Content.AdvancedForm.Type.Text.ToString() == type.ContentItemId).Select(x => x.ContentItemId).ToList(); data = new FrequencyData(); data.State = type.DisplayText; data.freq = new Dictionary <string, int>(); foreach (ContentItem status in allStatus) { statusWithColor[status.DisplayText.Replace(" ", "_")] = status.Content.AdvancedFormStatus.Color.Text; formCount = allSubmissions.Where(o => o.Content.AdvancedFormSubmissions.Status.Text.ToString() == status.ContentItemId && o.Content.AdvancedFormSubmissions.Type.Text.ToString() == type.ContentItemId).Count(); data.freq.Add(status.DisplayText.Replace(" ", "_"), formCount); } graph.FreqData.Add(data); } graph.FreqStatusColor = statusWithColor; return(Ok(graph)); }