private async void OnRecordingSnugglerAbort(AbortType abortType) { if (abortType == AbortType.TimeOut) { IAudioService audioService = new NAudioService(); IDataStorage dataStorage = new MongoDatabaseHandler(conectionString, "Shaitan", "Songs", "Hash"); var result = await QueryCommandBuilder.Instance.BuildQueryCommand() .From(recorderSnuggler.FilePath) .UsingServices(dataStorage, audioService) .Query(); if (result.BestMath != null) { var notificationManager = new NotificationManager(); notificationManager.Show(new NotificationContent { Title = result.BestMath.Title, Message = result.BestMath.Artist, Type = NotificationType.Success }); prevMatch = result.BestMath; isNoty = true; } } isRecordingSunn = !isRecordingSunn; }
public void PublicInterfacesAreResolvedFromNAudioModule() { var audioService = new NAudioService(); var audioPlayAudioFileService = new NAudioPlayAudioFileService(); Assert.IsNotNull(audioPlayAudioFileService); Assert.IsNotNull(audioService); }
public void TestPublicInterfacesAreResolvedFromNAudioModule() { var naudioService = new NAudioService(); var naudioPlayService = new NAudioPlayAudioFileService(); Assert.IsNotNull(naudioPlayService); Assert.IsNotNull(naudioService); }
public FingerprintCommandBuilderIntTest() { bassAudioService = new BassAudioService(); naudioAudioService = new NAudioService(); modelService = new SqlModelService(); fingerprintCommandBuilder = new FingerprintCommandBuilder(); queryFingerprintService = new QueryFingerprintService(); }
public FingerprintCommandBuilderIntTest() { bassAudioService = new BassAudioService(); audioService = new NAudioService(); modelService = new SqlModelService(); bassWaveFileUtility = new BassWaveFileUtility(); fingerprintCommandBuilder = new FingerprintCommandBuilder(); queryFingerprintService = new QueryFingerprintService(); }
private async void RecognizeFile(string filePath) { DownImageVisibility = Visibility.Visible; IAudioService audioService = new NAudioService(); IDataStorage dataStorage = new MongoDatabaseHandler(conectionString, "Shaitan", "Songs", "Hash"); var result = await QueryCommandBuilder.Instance.BuildQueryCommand() .From(filePath) .UsingServices(dataStorage, audioService) .Query(); PushResultOrNoResultPape(result); }
private async void HashAndQuery() { foreach (var item in cards) { IAudioService audioService = new NAudioService(); IDataStorage dataStorage = new MongoDatabaseHandler(conectionString, "Shaitan", "Songs", "Hash"); if (File.Exists(item.PathToFile)) { try { await FingerprintCommandBuilder.Instance.BuildFingerprintCommand() .From(item.PathToFile) .UsingAudioReaderServices(audioService) .UsingStorage(dataStorage) .Add(); } catch (Exception ex) { MakeNotification("Ошибка", $"Ошибка типа {ex.Message}. Добавление треков отмененно ", NotificationType.Error); cards.Clear(); IsDropAllow = true; IsHashingBtnEnable = true; ImageVisibility = Visibility.Hidden; return; } MakeNotification("Добавлен " + item.Title, $"Песня {item.Title} {item.Performer} успешна добавленна ", NotificationType.Information); ProgressValue += dx; } else { MakeNotification("Файл не найден", $"Путь к песне {item.Title} {item.Performer} не найден. Не беспокойтесь добавлнение остальных треков будет продолженно ", NotificationType.Warning); ProgressValue += dx; } } MakeNotification("Работа завершена", "Все успешно добавленно", NotificationType.Success); cards.Clear(); IsDropAllow = true; IsHashingBtnEnable = true; ImageVisibility = Visibility.Hidden; }
public void ShouldCreateExactlyTheSameFingerprints() { var fcb0 = new FingerprintCommandBuilder( new FingerprintService( new SpectrumService(new LomontFFT(), new LogUtility()), new LocalitySensitiveHashingAlgorithm( new MinHashService(new DefaultPermutations()), new HashConverter()), new StandardHaarWaveletDecomposition(), new FingerprintDescriptor())); var fcb1 = new FingerprintCommandBuilder( new FingerprintService( new SpectrumService(new LomontFFT(), new LogUtility()), new LocalitySensitiveHashingAlgorithm( new MinHashService(new DefaultPermutations()), new HashConverter()), new StandardHaarWaveletDecomposition(), new FastFingerprintDescriptor())); var audioService = new NAudioService(); var audioSamples = GetAudioSamples(); int testRuns = 5; for (int i = 0; i < testRuns; ++i) { var hashDatas0 = fcb0.BuildFingerprintCommand() .From(audioSamples) .UsingServices(audioService) .Hash() .Result; var hashDatas1 = fcb1.BuildFingerprintCommand() .From(audioSamples) .UsingServices(audioService) .Hash() .Result; AssertHashDatasAreTheSame(hashDatas0, hashDatas1); } }
public void SetUp() { nAudioService = new NAudioService(25, sourceReader.Object); }
public void SetUp() { naudioService = new NAudioService(25, false, null, sourceReader.Object); }
public void SetUp() { naudioService = new NAudioService(samplesAggregator.Object, naudioFactory.Object); }
public void SetUp() { naudioService = new NAudioService(sourceReader.Object); }
private static float[] ConvertToMono(string path) { var service = new NAudioService(); return(service.ReadMonoSamplesFromFile(path, 5512, 10, 0)); }