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);
        }
Exemple #4
0
 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;
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
 public void SetUp()
 {
     nAudioService = new NAudioService(25, sourceReader.Object);
 }
Exemple #10
0
 public void SetUp()
 {
     naudioService = new NAudioService(25, false, null, sourceReader.Object);
 }
Exemple #11
0
 public void SetUp()
 {
     naudioService = new NAudioService(samplesAggregator.Object, naudioFactory.Object);
 }
 public void SetUp()
 {
     naudioService = new NAudioService(sourceReader.Object);
 }
 public void SetUp()
 {
     naudioService = new NAudioService(samplesAggregator.Object, naudioFactory.Object);
 }
Exemple #14
0
        private static float[] ConvertToMono(string path)
        {
            var service = new NAudioService();

            return(service.ReadMonoSamplesFromFile(path, 5512, 10, 0));
        }