<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Лента комментариев</title>
        <link>https://evgenykuznetsov.org/posts/2022/voice/</link>
        <description>О голосовых сообщениях на DIMV - Лента комментариев</description>
        <generator>Hugo -- gohugo.io</generator><language>ru</language><managingEditor>evgeny@kuznetsov.md (Евгений Кузнецов)</managingEditor>
            <webMaster>evgeny@kuznetsov.md (Евгений Кузнецов)</webMaster><lastBuildDate>Sun, 04 Sep 2022 15:52:48 &#43;0300</lastBuildDate>
            <atom:link href="https://evgenykuznetsov.org/posts/2022/voice/comments.xml" rel="self" type="application/rss+xml" />
        <atom:link href="https://switchboard.p3k.io/" rel="hub" />
    <atom:link href="https://evgenykuznetsov.superfeedr.com/" rel="hub" />
    <item>
    <title>Valeria Guschina лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-valeria.guschina.1</link>
    <pubDate>Sun, 04 Sep 2022 20:07:27 &#43;0000</pubDate>
    <author>Valeria Guschina</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/valeria.guschina.1_https://evgenykuznetsov.org/posts/2022/voice/_1510836</guid>
    <description><![CDATA[Valeria Guschina лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Anastasia Baltico лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-syntinenlaulu</link>
    <pubDate>Sun, 04 Sep 2022 20:07:26 &#43;0000</pubDate>
    <author>Anastasia Baltico</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/syntinenlaulu_https://evgenykuznetsov.org/posts/2022/voice/_1510835</guid>
    <description><![CDATA[Anastasia Baltico лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Nikita Kuzmin лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-nik.kuzmin</link>
    <pubDate>Sun, 04 Sep 2022 20:07:26 &#43;0000</pubDate>
    <author>Nikita Kuzmin</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/nik.kuzmin_https://evgenykuznetsov.org/posts/2022/voice/_1510834</guid>
    <description><![CDATA[Nikita Kuzmin лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Georgiy Stefanov лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-georgiy.stefanov</link>
    <pubDate>Sun, 04 Sep 2022 20:07:25 &#43;0000</pubDate>
    <author>Georgiy Stefanov</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/georgiy.stefanov_https://evgenykuznetsov.org/posts/2022/voice/_1510833</guid>
    <description><![CDATA[Georgiy Stefanov лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Anton Noginov лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-fearan</link>
    <pubDate>Sun, 04 Sep 2022 20:07:25 &#43;0000</pubDate>
    <author>Anton Noginov</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/fearan_https://evgenykuznetsov.org/posts/2022/voice/_1510832</guid>
    <description><![CDATA[Anton Noginov лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Elena Vasenina лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-elena.vasenina.98</link>
    <pubDate>Sun, 04 Sep 2022 20:07:24 &#43;0000</pubDate>
    <author>Elena Vasenina</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/elena.vasenina.98_https://evgenykuznetsov.org/posts/2022/voice/_1510831</guid>
    <description><![CDATA[Elena Vasenina лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Darya Maryasova лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-darya.maryasova.3</link>
    <pubDate>Sun, 04 Sep 2022 20:07:24 &#43;0000</pubDate>
    <author>Darya Maryasova</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/darya.maryasova.3_https://evgenykuznetsov.org/posts/2022/voice/_1510830</guid>
    <description><![CDATA[Darya Maryasova лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Alexandra Marchenko лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-adakoenig</link>
    <pubDate>Sun, 04 Sep 2022 20:07:23 &#43;0000</pubDate>
    <author>Alexandra Marchenko</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/adakoenig_https://evgenykuznetsov.org/posts/2022/voice/_1510829</guid>
    <description><![CDATA[Alexandra Marchenko лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Yana Oreshkina лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-100007524705790</link>
    <pubDate>Sun, 04 Sep 2022 20:07:22 &#43;0000</pubDate>
    <author>Yana Oreshkina</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/100007524705790_https://evgenykuznetsov.org/posts/2022/voice/_1510828</guid>
    <description><![CDATA[Yana Oreshkina лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Alexandra Marchenko ответил(а)</title>
    <link>https://www.facebook.com/10158586538212085?comment_id=738917530541693</link>
    <pubDate>Sun, 04 Sep 2022 20:07:22 &#43;0000</pubDate>
    <author>Alexandra Marchenko</author>
    <guid>https://brid.gy/comment/facebook/722007084/10158586538212085/10158586538212085_738917530541693_https://evgenykuznetsov.org/posts/2022/voice/_1510827</guid>
    <description><![CDATA[Да да да]]></description>
</item><item>
    <title>Aleksei Malinovskii лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-100004064602451</link>
    <pubDate>Sun, 04 Sep 2022 20:07:22 &#43;0000</pubDate>
    <author>Aleksei Malinovskii</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/100004064602451_https://evgenykuznetsov.org/posts/2022/voice/_1510826</guid>
    <description><![CDATA[Aleksei Malinovskii лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Vsevolod Gribov ответил(а)</title>
    <link>https://www.facebook.com/10158586538212085?comment_id=451075883740527</link>
    <pubDate>Sun, 04 Sep 2022 20:07:21 &#43;0000</pubDate>
    <author>Vsevolod Gribov</author>
    <guid>https://brid.gy/comment/facebook/722007084/10158586538212085/10158586538212085_451075883740527_https://evgenykuznetsov.org/posts/2022/voice/_1510825</guid>
    <description><![CDATA[О да.]]></description>
</item><item>
    <title>Anastasia Vasilkova лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-100006983145731</link>
    <pubDate>Mon, 05 Sep 2022 12:28:07 &#43;0000</pubDate>
    <author>Anastasia Vasilkova</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/100006983145731_https://evgenykuznetsov.org/posts/2022/voice/_1511107</guid>
    <description><![CDATA[Anastasia Vasilkova лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Alexey Belozerov лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-kinorezhisser</link>
    <pubDate>Mon, 05 Sep 2022 12:27:45 &#43;0000</pubDate>
    <author>Alexey Belozerov</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/kinorezhisser_https://evgenykuznetsov.org/posts/2022/voice/_1511106</guid>
    <description><![CDATA[Alexey Belozerov лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Roman Sklyar лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-ejitsu.matsushimaru</link>
    <pubDate>Mon, 05 Sep 2022 12:27:38 &#43;0000</pubDate>
    <author>Roman Sklyar</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/ejitsu.matsushimaru_https://evgenykuznetsov.org/posts/2022/voice/_1511105</guid>
    <description><![CDATA[Roman Sklyar лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Yaroslav Malygin ответил(а)</title>
    <link>https://www.facebook.com/10158586538212085?comment_id=779636626585966</link>
    <pubDate>Mon, 05 Sep 2022 14:30:16 &#43;0000</pubDate>
    <author>Yaroslav Malygin</author>
    <guid>https://brid.gy/comment/facebook/722007084/10158586538212085/10158586538212085_779636626585966_https://evgenykuznetsov.org/posts/2022/voice/_1511149</guid>
    <description><![CDATA[Зато в них можно интонационно выразить эмоции) Или спеть)]]></description>
</item><item>
    <title>Konstantin Polovenko ответил(а)</title>
    <link>https://www.facebook.com/10158586538212085?comment_id=756227252117522</link>
    <pubDate>Mon, 05 Sep 2022 19:59:55 &#43;0000</pubDate>
    <author>Konstantin Polovenko</author>
    <guid>https://brid.gy/comment/facebook/722007084/10158586538212085/10158586538212085_756227252117522_https://evgenykuznetsov.org/posts/2022/voice/_1511327</guid>
    <description><![CDATA[Общение — дело добровольное.]]></description>
</item><item>
    <title>Olga Gankina ответил(а)</title>
    <link>https://www.facebook.com/10158586538212085?comment_id=1084370569135898</link>
    <pubDate>Sun, 11 Sep 2022 05:38:17 &#43;0000</pubDate>
    <author>Olga Gankina</author>
    <guid>https://brid.gy/comment/facebook/722007084/10158586538212085/10158586538212085_1084370569135898_https://evgenykuznetsov.org/posts/2022/voice/_1516195</guid>
    <description><![CDATA[А я тоже чужой голос в своём телефоне в записи слушать не могу)))) так сказать, лишний раз бы не слышала) самое лучше написать)]]></description>
</item><item>
    <title>Алёна Васнецова лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-100000331980028</link>
    <pubDate>Mon, 03 Oct 2022 05:22:40 &#43;0000</pubDate>
    <author>Алёна Васнецова</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/100000331980028_https://evgenykuznetsov.org/posts/2022/voice/_1531929</guid>
    <description><![CDATA[Алёна Васнецова лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Ekatherina Suanova лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-ekaterina.suanova</link>
    <pubDate>Wed, 01 Mar 2023 15:21:07 &#43;0000</pubDate>
    <author>Ekatherina Suanova</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/ekaterina.suanova_https://evgenykuznetsov.org/posts/2022/voice/_1632208</guid>
    <description><![CDATA[Ekatherina Suanova лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Olga Bubnovskaya лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-100004078384336</link>
    <pubDate>Wed, 01 Mar 2023 15:21:07 &#43;0000</pubDate>
    <author>Olga Bubnovskaya</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/100004078384336_https://evgenykuznetsov.org/posts/2022/voice/_1632207</guid>
    <description><![CDATA[Olga Bubnovskaya лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Елена Тимохина лайкнул(а)</title>
    <link>https://www.facebook.com/10158586538212085#liked-by-elena.timohina</link>
    <pubDate>Wed, 01 Mar 2023 15:20:37 &#43;0000</pubDate>
    <author>Елена Тимохина</author>
    <guid>https://brid.gy/like/facebook/722007084/10158586538212085/elena.timohina_https://evgenykuznetsov.org/posts/2022/voice/_1632206</guid>
    <description><![CDATA[Елена Тимохина лайкнул(а) <a href="https://evgenykuznetsov.org/posts/2022/voice/">https://evgenykuznetsov.org/posts/2022/voice/</a>]]></description>
</item><item>
    <title>Евгений Кузнецов упомянул(а)</title>
    <link>https://evgenykuznetsov.org/posts/2026/voice/</link>
    <pubDate>Mon, 25 May 2026 20:20:24 &#43;0000</pubDate>
    <author>Евгений Кузнецов</author>
    <guid>https://evgenykuznetsov.org/posts/2026/voice/_https://evgenykuznetsov.org/posts/2022/voice/_1998344</guid>
    <description><![CDATA[<p>Как я <a href="https://evgenykuznetsov.org/posts/2022/voice/">уже писал</a>, голосовые сообщения — это зло. К несчастью, зла в мире довольно много, искоренить вполне вряд ли возможно, поэтому приходится как-то с ним жить. К счастью, прогресс неостановим, и новые инструменты способны делать эту жизнь чуть комфортнее.</p>
<p>Мне вчера пришло в голову, что на современном телефоне <a href="https://github.com/ggml-org/whisper.cpp">whisper.cpp</a> должен бегать достаточно уверенно, и наверняка можно организовать удобную локальную распознавалку голосовых сообщений. Да, я знаю, что в том же Телеграме это встроено, но ради одного этого покупать платную версию лень, да и сообщения голосовые валятся не только в Телеграм. А если есть локальное приложение, можно в него из любого мессенджера пересылать голосовые сообщения (все мессенджеры, которыми я пользуюсь, позволяют голосовым сообщением «поделиться» как звуковым файлом).</p>
<p>Беглый поиск по аппсторам и гитхабу показал, что идея запускать whisper.cpp на телефоне пришла в голову не только мне, но приложения, в которых это реализовано, не готовы принимать аудио-файлы через стандартный API Андроида (то самое «поделиться»). В общем, как всегда всё приходится делать самому.</p>
<p>Отправной точкой послужил прошлогодний <a href="https://huggingface.co/blog/Javedalam/wwhisper-cli">пост</a> <span class="h-card"><a href="https://jalam1001.github.io/bio/" class="u-url"><i></i> <span class="p-name">Джейведа Алама</span></a></span> с подробным рассказом о том, как, собственно, запускать whisper.cpp в Termux. Дальше пришлось немного поразбираться с дополнительными функциями самого Termux, и в итоге у меня в <code>~/bin/</code> появился исполняемый файлик вот такого содержания:</p>


<pre><code><span> 1
</span><span> 2
</span><span> 3
</span><span> 4
</span><span> 5
</span><span> 6
</span><span> 7
</span><span> 8
</span><span> 9
</span><span>10
</span><span>11
</span><span>12
</span><span>13
</span><span>14
</span><span>15
</span><span>16
</span><span>17
</span><span>18
</span></code></pre>

<pre><code><span><span><span>#!/data/data/com.termux/files/usr/bin/bash
</span></span></span><span><span><span></span>
</span></span><span><span><span>set</span> -e
</span></span><span><span>
</span></span><span><span><span>infile</span><span>=</span><span>"</span><span>$1</span><span>"</span>
</span></span><span><span>
</span></span><span><span><span>name</span><span>=</span><span>"</span><span>$(</span>basename <span>"</span><span>$infile</span><span>"</span><span>)</span><span>"</span>
</span></span><span><span><span>dest</span><span>=</span><span>"</span><span>$HOME</span><span>/incoming/</span><span>$name</span><span>.wav"</span>
</span></span><span><span>
</span></span><span><span>ffmpeg -i <span>"</span><span>$infile</span><span>"</span> -hide_banner -v quiet -ar <span>16000</span> -ac <span>1</span> <span>$dest</span>
</span></span><span><span><span>$HOME</span>/whisper.cpp/build/bin/whisper-cli -m <span>$HOME</span>/whisper.cpp/models/ggml-small.bin -nt -l auto -np -f <span>$dest</span>
</span></span><span><span>
</span></span><span><span>rm <span>$dest</span>
</span></span><span><span>
</span></span><span><span><span>echo</span>
</span></span><span><span><span>echo</span> <span>==================</span>
</span></span><span><span>
</span></span><span><span><span>read</span> -r
</span></span></code></pre>
<p>Само собой, в директорию <code>~/whisper.cpp</code> склонирован репозиторий, там собран исполняемый файл и скачаны модельки (по инструкции от Джейведа). Я остановился на <code>small</code>, хотя она на моём телефоне и заметно медленнее, чем <code>base</code> (та отрабатывает почти мгновенно, эту приходится ждать несколько секунд), но с русским языком работает сильно лучше.</p>
<p>Собственно вот этот скрипт — самая магия и есть. Если он в <code>~/bin/</code> существует, Termux сообщает системе, что умеет принимать файлы — и появляется в том самом меню «поделиться». И туда можно послать эти самые голосовые сообщения, файликами, хоть из Телеграма, хоть из WhatsApp, хоть откуда. И <code>ffmpeg</code> их перекодирует в нужный формат, а <code>whisper.cpp</code> распознает и покажет по-человечески, текстом.</p>
<p>Проблему поиска потом в чате информации из таких сообщений это не решает, конечно. Ну и в целом — костыль костылём. Но, по крайней мере, можно понять, о чём речь, в условиях, когда послушать сообщение не можешь или не хочешь — уже хорошо.</p>
<p>Теперь думаю: так оставить, или сделать прям полноценным приложением? Приложением будет красивее и удобнее, но я ведь под Android не разрабатывал никогда — куча токенов уйдёт…</p>]]></description>
</item></channel>
</rss>