Jump to content

    

Mysteo

Свой
  • Content Count

    241
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Mysteo

  • Rank
    Местный
  • Birthday 01/05/1991

Контакты

  • Skype
    seil91

Информация

  • Город
    Пенза

Старые поля

  • Vkontakte
    https://vk.com/alekseev_e

Recent Profile Visitors

1001 profile views
  1. Всем привет ! Не подскажете хорошие и понятные статьи по алгоритмам распознавания заранее известных голосовых команд ? Я в данной теме не не профи, но первое что мне пришло на ум работает только с моим голосом и при произношении одинаковой интонации . Я просто вычисляю некоторые спектральные характеристики , заполняю вектор и через corrcoef нахожу корреляцию с эталонной командой. Естественно все это не работает если у человека тембр голоса другой , хотелось бы узнать какие признаки и алгоритмы нужно использовать
  2. FFT на STM32

    Да я прекрасно понимаю , что велосипед тут не изобретаю , но нужно было в устройстве сделать передачу данных как в яндекс станции смотреть с 35 секунды.
  3. В общем это передача данных нарушена была.... Видать при голосе частоты все время разные ... и не заметно, а при передачи синуса если хотя бы 1 значение вылетает из синусоиды то щелчок получается. Попробовал сначала накопить аудио в RAM , а потом передать. Щелчков никаких не было . В общем можно сказать что освоил наконец-то PDM с горем пополам.
  4. Скачал готовую программу USB микрофона для данной платы, на ней никаких таких проблем не возникает.... блин неуж то где то в передачи данных проблема. Но почему при записи речи и тишины щелчков не слышно
  5. Ребята почему то случаются пощелкивания .... пока не понимаю из-за чего. Ошибок в передачи данных быть не может. В тишине и при разговоре никаикх пощелкиваний нет. Но когда записываю какой либо синусоидальный сигнал частые щелчки возникают, внезависимости от уровня громкости источника звука и расстояния динамика до микрофона. Вот две записи: speech - я записал сначала немножко тишину потом все ближе и ближе разговаривал к микрофону, вплоть до дистанции 5 см. tone - запись где я синусоидальный звук через динамик воспроизводил и записывал микрофоном, дистанция более 1.5 м. Громкость разную пробовал. Дайте наводку, что может быть не так. speech.wav tone.wav
  6. Понял, буду иметь в виду, не приходилось еще никогда такие компоненты использовать.
  7. Вот именно это я и хотел донести )
  8. Ну в библиотеке тип данных указан uint32_t , а в user manual сказано Q31 поэтому и не работает.
  9. Спасибо всем за советы. А чем одинаковые переходные отверстия в данных контактных площадках плохой вариант ? Ведь за счет того что они одинаковые припой одинаково будет на данных площадках распределяться. Или может получиться такая ситуация что микросхема просто ляжет на GND контакты?
  10. Да я тоже подумал что 0 так и есть 0, но как посмотрел в либе там ождиается uint32_t , поэтому с обычным нулем и не работает. typedef struct{ uint16_t bit_order; uint16_t endianness; uint32_t high_pass_tap; uint16_t in_ptr_channels; uint16_t out_ptr_channels; uint32_t pInternalMemory[PDM2PCM_INTERNAL_MEMORY_SIZE]; }PDM_Filter_Handler_t; Что-то я как всегда сразу сам не догадался посмотреть. Обычно привык, что из коробки всегда все нормально заводилось CMSIS DSP например. Действительно с 0x7FFFFFFF все хорошо.
  11. Ребята. Со всем щелчками и проблемами я разобрался. Появилась надобность использовать цифровой микрофон, выбрали MP34DT05 , у него вот такой рекоммендуемый layout Как дорожки к контактным площадкам вести ? С диагоналей заходить ? Или переходные отверстия прям в контактных площадках делать ? Паяться автоматическим монтажем будет все это дело. До этого с такими корпусами не работал
  12. STM32F4 запись и отправка видео

    Можете подсказать достойную такую камеру ? Я что то все одни китайские модули находил, но картинка с них конечно ужасная была, плюс на сколько я помню даже при разрешении 320 х 240 с них можно было максимум несколько кадров в секунду получить
  13. Или тут 0 подразумевается значение не 0x00? А какой то определенный коэффициент ?
  14. Понял я почему такое сильное усиление получалось. Я в 16 битовом потоке младший байт за старший принимал, а старший за младший. Не понятно как вообще разборчивая речь получалась. Поправил , теперь все встало на свои места mic3.wav Обнаружил новый глюк в даташите на PDM2PCM либу сказано: типо если не хотите использовать фильтр высокичх частот то вбивайте значение 0. Я попробовал вбить 0 и на выходе у меня все время единичный сигнал. Получался
  15. Получилось, только звук какой то ужасный. void MX_PDM2PCM_Init(void) { /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /** */ PDM1_filter_handler.bit_order = PDM_FILTER_BIT_ORDER_LSB; PDM1_filter_handler.endianness = PDM_FILTER_ENDIANNESS_BE; PDM1_filter_handler.high_pass_tap = 2104533974; PDM1_filter_handler.in_ptr_channels = 1; PDM1_filter_handler.out_ptr_channels = 1; PDM_Filter_Init(&PDM1_filter_handler); PDM1_filter_config.decimation_factor = PDM_FILTER_DEC_FACTOR_64; PDM1_filter_config.output_samples_number = 1; PDM1_filter_config.mic_gain = 0; PDM_Filter_setConfig(&PDM1_filter_handler, &PDM1_filter_config); /* USER CODE BEGIN 3 */ /* USER CODE END 3 */ } Вот мои настройки PDM фильтра. А вот звук который получается, много шума и слишком большое усиление, хотя я более чем в метра от микрофона был. При прослушке сделайте пожалуйста заранее колонки по тише mic.wav Спустя десяток минут Урааа , оказывается gain нужно вообще убирать )))) поставил - 12 и намного лучше стало, но все равно сильно чувствительно, разговариваю в 1 метре от микрофона и голос направляю в другую сторону от микрофона mic2.wav Назрел новый вопрос : 1. Почему библиотека pdm2pcm юзает Q31 формат фильтра верхний частот , если выходные данные PCM имеют uint16 формат, можно же обойтись было Q15 форматом