@ocavgust666

Как скормить звук python чтобы после его распознания выполнялось действие?

Хочу чтобы python уловил звук и после выполнил действие. Пример звука: https://drive.google.com/file/d/1CtOW9rkJJCyuvzbFe...
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Без примеров такие абстрактные вопросы для ответа требуют целой лекции. Огромного количества догадок и большой индивидуально подготовленной для вас лекции по теме. Судя по постановке вопросв и комментариям у вас нет необходимых навыков программирования, чтобы начинать свою картеру программиста с такой задачи. Нужно освоить массу более простых вещей, терминологию, сделать несколько более простых и понятных проектов.

На ваш вопрос было бы проще ответить, если бы вы привели в качестве примера звуки, на которые нужно сделать специфическую реакцию, продемонстрировали какие шумы (в худшем случае) могут накладываться на звук, а также звуки, которые похожи на требуемый, но недостаточно, чтобы программа реагировала на него, как на нужный.
Тогда можно уже, вооружившись опытом и знаниями, поискать решение вашей проблемы.
Может быть вам подойдёт сравнение фурье-спектров референсного звука и распознаваемого. Может быть достаточно реагировать на специфический ритм щелчков, а может быть придётся прибегнуть к смеси этих методов отфильтровав звуки в виде фурье-образов, а потом результат фильтрации выравнивать по фазе и сравнивать семпл-по-семплу с некоторой точностью.
Может быть вас устроило бы дискретизировать звук после фильтрации и сравнивать их.

В любом случае звук - это массив чисел длинной Частота_дискретизации*Длительность.
Этот массив можно обрезать по тишине слева и справа, выровнять по уровню, оценить поместится ли в оставшийся фрагмент искомый звук. Потом нужно понимать, что оставшийся массив - это многомерный вектор. Он указывает в некий объём многомерного пространства. Какие-то сати этого пространства "похожи на некий образцовый звук", а какие-то нет. Нужно написать функцию, принимающую вектор и возвращающую число - степень похожести звука на образец. Это делается нормированием.

Надо понимать, что к полезному примешивается обычно шум. Шумы имеют разные источники и их нужно уметь различать. Есть простой гауссовский шум, есть какие-то помехи и щелчки, которые будут соперничать с уровнями и частотами полезного сигнала.

Изучать нужно по теме "Цифровая обработка сигналов", "сравнение звуков"
Ответ написан
Звук отмычки.
относительно лёгкая задача из-за специфического звука.

Порядок действий:
1. записать звуковой файл WAV с некоторым фоном в несколько секунд с обоих краев, наложив где-то в середине звук отмычки. Открыть файл в звуковом редакторе, допустим, Audacity. Посмотреть что там внутри, проиграть сэмпл.
2. погуглить и установить необходимые библиотеки для анализа звука в Питоне.
3. ставить эксперименты по анализу звука в Питоне. В результате нужно программно определить факт звучания отмычки и время. Повесить асинхронный колбэк для вывода на экран "ага, попался!" пр обнаружении звука.
4. далее, добавлять [соль и перец] функциональность по вкусу.

Начни изучать основы ЦОС, и станет понятно как подступиться к анализу звука. Необходимо научиться захватывать звук с микрофона и налету анализировать его.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы