Вчера вышел наконец из дома. Пошёл смотреть, что творится на пруду. Пошёл я, конечно, по жаре, наверное, даже в полдень. Дошёл без особых приключений. Зайцев не встретил, и тропу к пруду еле нашёл -- заросла.
Придя на пруд, поразился, как всё цветёт. На поверхности воды есть какая-то тина, но сам цвет — это что-то белое с зелёным, и как раз больше всего этого с восточной стороны, с которой я заходил. С западной стороне там есть какое-то течение и вода по как-то чище.
А подошел и вспугнул уток — они взлетели с берега где-то в 10 метрах от меня. Я сел в тень на скамейку и вскоре заметил пару лысух, которые, похоже, решили, что всё в порядке, и продолжили вылавливать что-то на мелководье. Я расслабился и сидел, фоткал лысух, солнце пекло. Одна лысуха вылезла на противоположный берег и перебирала перышки в тростнике.
Пруд, наверно, представляет из себя что-то похожее на жирную букву С. В западный конец этого С впадает речка, которая больше похожа на ручей. В середине — водосброс, а внутренняя сторона — это мелководье и тростник с болотом, внешняя — это дамба.
Я так сидел, но потом на западной стороне выплыл лебедь. Я его тоже сфотографировал, но он буквально 10 минут поплавал и ушёл из виду. Я посидел, посмотрел на это дело и пошёл по дамбе на другой берег.
Другой берег крутой , но вдоль воды полно высокой растительности и вообще растительности на берегу много. Была даже идея залезь на опору ЛЭП. Но я посмотрев там я решил что слишком стар чтобы лезть на опору и получать током. А я нашел место другом берегу достаточно высоко и относительно близко , с относительно хорошим обзором.
Лебеди, видимо, расслабились и двинулись в центральную часть пруда. Первыми вышли пара взрослых лебедей и три уже взрослых птенца, которые были местами еще в пушке. Еще три птенца чего-то ждали и что-то ловили в камышах, но потом тоже двинулись в центральную часть пруда. Когда все лебеди собрались в центре пруда что-то выуживая из вода. Лысухи увидев это, двинулись туда как будто доедать что-то там, где лебеди только что подняли муть.
Я понял, что мне чёт плохо от жары, и, посидев на скамейке, пошёл обратно почти на автомате.
#птицы
Придя на пруд, поразился, как всё цветёт. На поверхности воды есть какая-то тина, но сам цвет — это что-то белое с зелёным, и как раз больше всего этого с восточной стороны, с которой я заходил. С западной стороне там есть какое-то течение и вода по как-то чище.
А подошел и вспугнул уток — они взлетели с берега где-то в 10 метрах от меня. Я сел в тень на скамейку и вскоре заметил пару лысух, которые, похоже, решили, что всё в порядке, и продолжили вылавливать что-то на мелководье. Я расслабился и сидел, фоткал лысух, солнце пекло. Одна лысуха вылезла на противоположный берег и перебирала перышки в тростнике.
Пруд, наверно, представляет из себя что-то похожее на жирную букву С. В западный конец этого С впадает речка, которая больше похожа на ручей. В середине — водосброс, а внутренняя сторона — это мелководье и тростник с болотом, внешняя — это дамба.
Я так сидел, но потом на западной стороне выплыл лебедь. Я его тоже сфотографировал, но он буквально 10 минут поплавал и ушёл из виду. Я посидел, посмотрел на это дело и пошёл по дамбе на другой берег.
Другой берег крутой , но вдоль воды полно высокой растительности и вообще растительности на берегу много. Была даже идея залезь на опору ЛЭП. Но я посмотрев там я решил что слишком стар чтобы лезть на опору и получать током. А я нашел место другом берегу достаточно высоко и относительно близко , с относительно хорошим обзором.
Лебеди, видимо, расслабились и двинулись в центральную часть пруда. Первыми вышли пара взрослых лебедей и три уже взрослых птенца, которые были местами еще в пушке. Еще три птенца чего-то ждали и что-то ловили в камышах, но потом тоже двинулись в центральную часть пруда. Когда все лебеди собрались в центре пруда что-то выуживая из вода. Лысухи увидев это, двинулись туда как будто доедать что-то там, где лебеди только что подняли муть.
Я понял, что мне чёт плохо от жары, и, посидев на скамейке, пошёл обратно почти на автомате.
#птицы
❤6🔥2👍1
Для начала у меня кончился растворимый кофе, потом я наелся миндалём, и у меня в три часа дня что-то стало в голове не по себе. Я закинулся ещё таблеткой от аллергии, потому что мне показалось, что у меня отёк носа. И вроде к 18:00 меня отпустило... Так и не понял, что это было: миндаль, аллергия и синдром отмены кофе.
😱3😁2
Я сегодня такой довольный: соскочил с утра, пошёл смотреть, когда мне надо выйти на улицу, ожидал, что поставлю фотик на штатив, выкручу зум, включу запись видео и пронаблюдаю пролёт китайской МКС по диску Луны. Но полёты станции корректируются, данные об орбитах в TLE обновляются, и сегодня утром вместо пролёта в три часа дня надо мной станция пролетит на 30 километров южнее и в четыре часа дня. А 30 км от меня это дельта Дона, сплошные болота. Так что Азове наверно кто-то смог увидеть пролет.
Но скоро ( через неделю ) ожидаются пролеты оригинальной МКС по диску солнца ... и теперь я думаю из чего сделать светофильтр =)
Сайт где можно просто получить пролеты: https://www.iss-transit.ru/ru/
Но скоро ( через неделю ) ожидаются пролеты оригинальной МКС по диску солнца ... и теперь я думаю из чего сделать светофильтр =)
Сайт где можно просто получить пролеты: https://www.iss-transit.ru/ru/
👍6🦄1
Третий день пытаюсь запустить распознавание речи на Vosk. Не получается. Самое ужасное, что ИИ не помогает. Уже решил, что нафиг мне бинарник на Go, сделаю типа микросервис на Python. Там тоже не хочет. Преследует одна и та же ошибка: "Input overflowed". Есть, конечно, еще пара побочных, но это основная.
#ненормальное_программирование
#ненормальное_программирование
🤯5😱2
Вчера утро, конечно, не задалось. Ночью, говорят, был налёт дронов, но я наблюдал это из Ростова, и да, действительно, что-то всю ночь бабахало. С утра никаких столбов дыма, только у меня почему-то случилась изжога, которая у меня бывает крайне редко. Ещё мне поступила байка в стиле сурового российского технопанка, но расскажу я о ней как-нибудь потом. Но с утра уже начал накрапывать дождь, и я застрял дома.
После обеда стало ясно, что начинается какой-то ужас.Дождь стал лить сильнее. К вечеру прибавились гроза и сильнейший ветер. Вырубило электричество, а без электричества из рабочих систем остаётся только газовая плита. Я закрыл все окна, чтобы в дом не лилась вода, но всё равно в коридоре откуда-то образовалась лужа. Но на случай такого апокалипсиса у меня всё схвачено: ноут от батареек, фонари и настольная лампа от батареек.
Где-то в 6 вечера включили свет — как я думал, уже надолго, но фиг вырубили через 10 минут. Так свет нормально вернулся только где-то к 8 вечера. К тому же пропала связь, даже GSM. Я пытался ловить сигнал, но не помогало.
Сегодня я пошел изучать разрушения , на деревьях поломало ветки. На одном дубе сломало прям очень большую ветку. Отпилил часть веток , вот теперь жду когда подсохнет и видимо надо лезть на дерево отпивать эту огромную ветку.
После обеда стало ясно, что начинается какой-то ужас.Дождь стал лить сильнее. К вечеру прибавились гроза и сильнейший ветер. Вырубило электричество, а без электричества из рабочих систем остаётся только газовая плита. Я закрыл все окна, чтобы в дом не лилась вода, но всё равно в коридоре откуда-то образовалась лужа. Но на случай такого апокалипсиса у меня всё схвачено: ноут от батареек, фонари и настольная лампа от батареек.
Где-то в 6 вечера включили свет — как я думал, уже надолго, но фиг вырубили через 10 минут. Так свет нормально вернулся только где-то к 8 вечера. К тому же пропала связь, даже GSM. Я пытался ловить сигнал, но не помогало.
Сегодня я пошел изучать разрушения , на деревьях поломало ветки. На одном дубе сломало прям очень большую ветку. Отпилил часть веток , вот теперь жду когда подсохнет и видимо надо лезть на дерево отпивать эту огромную ветку.
👍4🤪3😱2
Промучившись с VOSK 4 дня, мне удалось получить что-то похожее на распознавание, но только около 10% слов, что я говорил. Сначала я почему-то вспомнил вот 📱 это из сериальчика "Теория большого взрыва", а потом вспомнил, что 4 года назад всё как-то лучше работало. Хуже распознавание стало, возможно, потому что стала лучше аппаратура. Если 4 года назад у меня была просто какая-то гарнитура с микрофоном, которую я сам лично ремонтировал, и встроенный звук, то сейчас звучка со страшными словами HD и Pro со стереомикрофоном. У меня почему-то частота дискретизации (sample rate) не хотела ставиться на 16 кГц (16000), которая требовалась для VOSK, а ставилась исключительно 48 кГц (48000). Я поток данных звука в 48 кГц пропускал через математику, чтобы получить данные в 16 кГц: это тупо отбрасываешь два байта из трёх. Потом пытался считать средние из этих трёх байт, как CDROM с заляпанным аудио CD. Но с качеством это не очень помогало. Заколебался.
Покосив траву и подумав, я решил, что нафиг Vosk, надо тащить Whisper. Тут возникает другая проблема: Vosk — он маленький, типа 90 МБ на модель, его на мелкий комп типа Raspberry Pi 3 можно запихнуть, а вот Whisper — это большая модель, ей надо прямо гигабайты памяти и желательно GPU, и не один.
С другой стороны, есть же Алиса — она как-то работает. Погуглил и выяснилось, что в Алисе типа процессор🌎 ARM с 4 ядрами и до гигабайта памяти — по мощности как бюджетный смартфон. Стал думать, как она работает. Алисе приходится тяжело: куча шумов, и модель, если она на устройстве, то это магия. Но с другой стороны, в Алисе явно нет GPU для такого качества, а еще она не работает без интернета. Отсюда вывод, что она отправляет голос на распознавание на мощные сервера Яндекса (вот за это подписку и дерут). Гнать постоянно поток звука — никаких серверов не хватит у всех силовых ведомств, даже если поднимут НДС до 80%. Поэтому надо гнать только звук с голосом в большие вычислительные мощности и там уже преобразовывать речь в текст.
Для вычисления голоса в потоке данных с микрофона придумали такую штуку, как VAD. VAD расшифровывается как Voice Activity Detector. Звук — это поток байт, значит, можно брать куски этого потока, строить из этого куска спектрограмму и делать выводы, что это за звук в микрофоне. Задача проще, чем гонять нейросети, в принципе, для нейросетей, но можно, если захотеть, то и можно, и алгоритмами.
Почти монопольно рынок VAD захватил Silero VAD, но он нейросетевой. Есть программный WebRTC VAD. Есть еще пара устаревших. Наверное, можно найти еще что-то более древнее, типа для GSM (там, вроде, был какой-то флаг тишины).
WebRTC VAD подкупил меня тем, что он потребляет меньше всех. Но не всё так просто. Данных для анализа он берет от 10 до 30 миллисекунд. И в том-то и дело, что он мало захватывает — это его плюс и минус. Так как интерпретирует на очень коротком временном отрезке и алгоритмически, это дает кучу ложных срабатываний, что плохо, и на что почти во всех тестах жалуются. И то, что мало захватывает и обрабатывает алгоритмически, — это дает огромную скорость и малое потребление вычислительных мощностей.
Разобрался с WebRTC VAD, нашел реализацию на Go и собрал такое чудо:👩💻 Heimdallr-sense. Название я опять заставлял придумывать ИИ, на этот раз DeepSeek. И вроде не страшно звучит.
Проблему с короткими кусками для анализа я решил просто: берём, например, 5 кусков по 30 мс (это 150 мс), и если VAD решил, что в 4 из них есть голос, то считаем, что голос начался. Так же с завершением: те же 5 кусков, и если в 4 кусках нет голоса, то голос закончился. Если меньше какого-то количества кусков набралось, тоже не считаем голосом. Большая часть настраиваться из конфига. Так я уже намучился с реализацией подключения микрофона — я просто стал гнать байты звука из другой программы (pw-cat или arecord). В README.md всё написано. Остаётся только покрутить настройки, чтобы получить нужное качество. Опции, что делать со звуком, две: скинуть в файл или отправить по HTTP.
Сделал я это чудо и пока тестировал, до меня дошло, что я создал вместо костыля умной колонки идеальный программный жучок. А то что ИИ в написании README еще больше склонил меня к этой мысли (см. примером для получения потока звука с удаленного компа по SSH). Комплекс Сахарова какой-то.
Стал тестировать эту штуку: нормально определяет мою речь в тихих помещениях, а на шумной улице в городе перестает определять голос совсем — хоть сколько крути настройки.
Вот думаю заняться Wake Word Detection... но об этом потом.
#ненормальное_программирование
Покосив траву и подумав, я решил, что нафиг Vosk, надо тащить Whisper. Тут возникает другая проблема: Vosk — он маленький, типа 90 МБ на модель, его на мелкий комп типа Raspberry Pi 3 можно запихнуть, а вот Whisper — это большая модель, ей надо прямо гигабайты памяти и желательно GPU, и не один.
С другой стороны, есть же Алиса — она как-то работает. Погуглил и выяснилось, что в Алисе типа процессор
Для вычисления голоса в потоке данных с микрофона придумали такую штуку, как VAD. VAD расшифровывается как Voice Activity Detector. Звук — это поток байт, значит, можно брать куски этого потока, строить из этого куска спектрограмму и делать выводы, что это за звук в микрофоне. Задача проще, чем гонять нейросети, в принципе, для нейросетей, но можно, если захотеть, то и можно, и алгоритмами.
Почти монопольно рынок VAD захватил Silero VAD, но он нейросетевой. Есть программный WebRTC VAD. Есть еще пара устаревших. Наверное, можно найти еще что-то более древнее, типа для GSM (там, вроде, был какой-то флаг тишины).
WebRTC VAD подкупил меня тем, что он потребляет меньше всех. Но не всё так просто. Данных для анализа он берет от 10 до 30 миллисекунд. И в том-то и дело, что он мало захватывает — это его плюс и минус. Так как интерпретирует на очень коротком временном отрезке и алгоритмически, это дает кучу ложных срабатываний, что плохо, и на что почти во всех тестах жалуются. И то, что мало захватывает и обрабатывает алгоритмически, — это дает огромную скорость и малое потребление вычислительных мощностей.
Разобрался с WebRTC VAD, нашел реализацию на Go и собрал такое чудо:
Проблему с короткими кусками для анализа я решил просто: берём, например, 5 кусков по 30 мс (это 150 мс), и если VAD решил, что в 4 из них есть голос, то считаем, что голос начался. Так же с завершением: те же 5 кусков, и если в 4 кусках нет голоса, то голос закончился. Если меньше какого-то количества кусков набралось, тоже не считаем голосом. Большая часть настраиваться из конфига. Так я уже намучился с реализацией подключения микрофона — я просто стал гнать байты звука из другой программы (pw-cat или arecord). В README.md всё написано. Остаётся только покрутить настройки, чтобы получить нужное качество. Опции, что делать со звуком, две: скинуть в файл или отправить по HTTP.
Сделал я это чудо и пока тестировал, до меня дошло, что я создал вместо костыля умной колонки идеальный программный жучок. А то что ИИ в написании README еще больше склонил меня к этой мысли (см. примером для получения потока звука с удаленного компа по SSH). Комплекс Сахарова какой-то.
Стал тестировать эту штуку: нормально определяет мою речь в тихих помещениях, а на шумной улице в городе перестает определять голос совсем — хоть сколько крути настройки.
Вот думаю заняться Wake Word Detection... но об этом потом.
#ненормальное_программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2👾1
Сегодня вышел из дома, потому что минералка кончилась. Сделал пару фоток тростника, который камыш. Маюсь от жары даже под вечер.
🔥7👍2😁1
Сегодня птицы и улитка. Жара везде. Главное, мне удалось наконец запечатлеть удода. Удоды отличаются тем, что их постоянно где-то вижу, но ни разу не удалось сфотографировать.
1. Мелкая улитка пытается есть тысячелистник.
2. Птичка на сухом дереве.
3. Желтая птица.
4. Желтая птица объедает ягодки на кустарнике.
5. Птичка на дороге, явно не воробей.
6. Удод на ветке.
#птицы
1. Мелкая улитка пытается есть тысячелистник.
2. Птичка на сухом дереве.
3. Желтая птица.
4. Желтая птица объедает ягодки на кустарнике.
5. Птичка на дороге, явно не воробей.
6. Удод на ветке.
#птицы
🔥5❤2👍2