Активные пользователи iNaturalist, наверное, знают, что хотя там есть возможность загружать звуковые наблюдения, тамошний интеллект распознавать их автоматически не умеет. Это довольно печально, поскольку услышать многих птиц гораздо легче, чем увидеть, а тем более сфотографировать. Я, к тому же, очень плохо запоминаю звуки и, соответственно, не могу полагаться на себя в плане такого распознавания.
И вот, наконец-то, благодаря Василию Вишневскому, его второму ютуб-каналу, я узнал о замечательном приложении, которое эту задачу решает. Его короткое видео по этому поводу — «Как узнать кто поет? Приложение для смартфона» — советую посмотреть (а тем, кто интересуется птицами и бердвотчингом, рекомендую подписаться на его основной канал). Я же здесь хочу изложить собственный опыт.
Приложение называется Merlin Bird ID и позволяет определять птиц не только по голосу, но и по фотографии, а также как в классических определителях — по ключам. Однако лично мне интересно именно голосовое распознавание и только им я и пользовался.
Кстати, Merlin — это не только волшебник из легенд о короле Артуре, но и птица — сокол дербник (Falco columbarius). Птица вполне обычная для всего северного полушария, включая и наши края.
Функциональность
-
Merlin действительно распознает голоса птиц, причем делает это даже через шум и, главное, умеет распознавать нескольких поющих одновременно. Это очень большой и важный плюс. Распознает не идеально, но все-таки.
Кстати, довольно плохо распознает врановых. Возможно, так работает какой-то шумодав, подрезая низкие частоты.
Для распознавания в принципе достаточно встроенного микрофона в телефоне, хотя, конечно, с внешним получается лучше.
-
Звук при распознавании сохраняется в файл формата WAV, который затем можно перекинуть на компьютер и там что-то с ним поделать. А можно и наоборот, скинуть на телефон WAV-файл из другого источника и запустить распознавание на нем.
-
Наблюдения можно сохранять в свой список наблюдений/видов. Тут, правда, есть два неприятных момента:
-
Во-первых, что-то у меня не задалось с логином на eBird через Merlin. То ли санкции так действуют, то ли я криворукий.
-
Во-вторых, что гораздо печальней, сохранение не работает оффлайн. В итоге, если наблюдение сделано там, где нет связи, то сохранить его не получится. При этом файл звука сохраняется, а вот координаты — нет. Приходится их восстанавливать из общего трека1.
-
Мой порядок действий
Предварительно нужно не только установить приложение на телефон, но и внутри него скачать данные для распознавания («птичьи пакеты»). Я себе скачал как Европу, так и Россию. Пробовал ставить также Центральную Азию, но начал получать много явно ложноположительных срабатываний. Еще отдельно стоит выбрать и выкачать язык названий. Или использовать английский, но лично мне это неудобно — логика исторически сложившихся в разных языках названий разная и просто так не переводится, а международные названия все равно латинские (и их отображение в настройках стоит включить2).
-
Я использую внешний микрофон BOYA BY-MM1, покупал я его для камеры, но и с телефоном он прекрасно работает. Вообще, конечно, для записи птиц это далеко не лучший вариант, зато уже имеется в наличии.
Внешний микрофон довольно заметно улучшает распознавание, а главное, делает запись куда более четкой. Загружать записанное со встроенного я, пожалуй, не советую — будет очень тихо (и очень шумно после нормализации).
При этом по крайней мере мой микрофон сильно подвержен наводкам. Поэтому при записи я включаю авиарежим, иначе будут очень противные помехи, которые вроде бы на распознавание не особо влияют, но выкладывать потом запись на iNaturalist уже несколько стыдно. Авиарежим решает эту проблему полностью.
-
Записываю я обычно порядка двух минут, стараясь не шевелиться, чтобы не создавать незаметных для себя, но очень заметных для микрофона шумов. Дополнительный плюс — за это время многие птицы успокаиваются и начинают подлетать ближе, и после записи их можно и пофотографировать.
-
После записи нужно сохранить себе в список хотя бы одну распознанную птицу, иначе координаты записи не сохранятся. А перед этим отключить авиарежим, поскольку, как я уже сказал, оффлайн сохранение не работает. Помещение птицы в список делается через не вполне очевидную кнопку «Это моя птица»… Впрочем, в контексте она более-менее очевидна, но чтобы до нее добраться нужно тапнуть на раскрывающий уголок справа от названия птицы и промотать экран вниз, поскольку сначала будут предъявлены примеры голоса данной птицы.
На скриншоте можно видеть завершенную запись с распознанными тремя видами. Если тапнуть на строку с птицей, вверху в полосе отображения звука позиция будет проматываться к тому месту, где голос этой птицы был зафиксирован. И это нам очень пригодится на следующем этапе.
-
А следующий этап проходит уже дома на компьютере. Из большого записанного файла нарезаю фрагменты (10–20 секунд), где шумов поменьше, а пение, наоборот, максимально отчетливое. Для ускорения поиска как раз и нужны указания от Merlin на начало фрагмента. Звук на записи даже с внешним микрофоном очень тихий, поэтому включаю нормализацию в редакторе. Использую банальный KWave, подойдет любой простой звуковой редактор, способный нарезать кусочки и нормализовать громкость.
Для проверки готовые фрагменты закидываю обратно на телефон и Merlin’ом же проверяю, распознает ли он там ту же птицу. Если у вас со слухом не все так плохо, как у меня, без этого этапа можно вполне обойтись.
-
В итоге конвертирую файл в формат MP3 посредством soundKonverter и загружаю на iNaturalist. Попытки загрузить несконвертированный WAV ни к чему хорошему не привели — во-первых зачастую он не проходит по лимиту размера файла, а во-вторых, не проигрывается встроенными средствами на странице наблюдения.
Вот здесь можно посмотреть, что у меня в этом сезоне получилось. Наблюдений не много, поскольку я не загружал звуковые наблюдения в тех случаях, когда были фотографии того же вида с той же прогулки.
Общие впечатления
В целом я очень и очень доволен.
Чудес, правда, ожидать не стоит, и когда я говорю, что распознает и через шум, надо понимать, что шум имеется в виду умеренный. Иногда бывает так, что ничего не слышит в, казалось бы, почти идеальных условиях. Вообще, есть подозрение, что с микрофоном мой телефон работает как-то криво. Возможно, если поразбираться, то удастся улучшить как чувствительность, так и качество записи.
Можно ли обойтись совсем без микрофона? Можно, но, на мой взгляд, для публикации наблюдений качество уже не подойдет. Да, следует оговориться, что это проблема телефона, а не приложения.
А если говорить только о приложении, то я бы отметил два основных недостатка:
-
Проблемы с определением врановых. Зачастую просто игнорирует.
-
Невозможность сохранения координат без интернета. Это какой-то дурной косяк, на мой взгляд, причем полностью программный.
И, если честно, хотелось бы такую функциональность иметь прямо в iNaturalist, чтобы не метаться туда-сюда…
-
См. пост «Как я ставлю геометки к фотографиям». Там и про запись трека и про его чистку от «вылетов». ↩
-
Как русские, так и английские названия в разных источниках могут не соответствовать друг другу, в том числе могут различаться в базе eBird (с которой работает Merlin) и в iNaturalist. Латинские, правда, тоже от этого не застрахованы полностью, но все-таки расхождения а) менее вероятны, б) отслеживаются списками синонимов, переименований таксона и т.д. В общем, если хотите поискать информацию о каком-нибудь виде, всегда ориентируйтесь на латинское название, тем более, что в научных публикациях оно будет обязательно, а вот английское — опционально. ↩