abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | IT novinky

    CEO Twitteru Jack Dorsey odstoupil. S okamžitou platností se novým CEO stal Parag Agrawal.

    Ladislav Hagara | Komentářů: 2
    včera 17:09 | IT novinky

    Dnes je Cyber Monday, kdy je možné u Codeweavers zakoupit CrossOver (komerční implementaci Wine) se slevou 25% (unlimited) nebo 75% (roční). Slevy jsou limitovány počtem kupujících.

    Max | Komentářů: 2
    28.11. 21:55 | Komunita

    Dne 26. 11. 2021 nás ve věku 49 let navždy opustil spoluzakladatel KERNEL ULTRAS a tvůrce mnoha projektů Mário Chorváth, alias Bedňa. Tato smutná zpráva byla bez dalších podrobností oznámena rodinou na jeho FB profilu.

    =^..^= AmigaPower® | Komentářů: 28
    28.11. 12:44 | Nová verze

    Vyšla verze 6.0 verzovacího systému Mercurial. Novinky jsou shrnuty v poznámkách k vydání. Jde o poslední verzi, která podporuje Python 2.x. Nejpodstatnější změnou je nová verze dirstate (vnitřních struktur), díky čemuž by se měly zrychlit některé operace (commit, diff apod.) a dále je možné ukládat k souborům víc metainformací.

    finn | Komentářů: 10
    27.11. 17:33 | Komunita

    O víkendu probíhá EmacsConf 2021, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat lze na stránkách konference nebo také na YouTube.

    Ladislav Hagara | Komentářů: 3
    26.11. 23:55 | Nová verze

    Heimer je v Qt napsaná desktopová aplikace pro tvorbu myšlenkových map, diagramů a poznámek. Vydána byla verze 3.0.0. Videoukázka verze 1.9.0 na YouTube.

    Ladislav Hagara | Komentářů: 9
    26.11. 17:11 | Zajímavý projekt

    Na stránkách LINux on MOBile je každou středu publikován týdenní přehled dění kolem Linuxu na mobilních zařízeních. V aktuálním přehledu je zmíněn například nový build 2021/11/21 Arch Linuxu ARM pro PinePhone a PineTab nebo NemoMobile 0.7.

    Ladislav Hagara | Komentářů: 0
    25.11. 21:11 | Komunita

    Mozilla ukončí podporu aplikace Firefox Lockwise pro systémy Android a iOS s účinností od 13. prosince 2021. Aplikaci Firefox Lockwise již nebude možné nainstalovat ani přeinstalovat z obchodu App Store ani Google Play.

    Ladislav Hagara | Komentářů: 9
    25.11. 20:22 | Nová verze

    Byla vydána verze 8.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení. Vydána byla také příručka pro přechod z předchozích verzí.

    Ladislav Hagara | Komentářů: 0
    25.11. 08:00 | Nová verze

    Endless OS byl vydán ve verzi 4.0.0. Přehled novinek v poznámkách k vydání. Nejnovější Endless OS vychází z Debianu Bullseye. Zdůrazněna je dlouhodobá podpora.

    Ladislav Hagara | Komentářů: 0
    Který formát počítače (form factor) preferujete?
     (15%)
     (33%)
     (7%)
     (39%)
     (6%)
    Celkem 421 hlasů
     Komentářů: 46, poslední 24.11. 15:31
    Rozcestník

    vožralej bulhar u mě v pokoji?? 🍺 🇧🇬

    21.10. 22:55 | Přečteno: 2000× | Výběrový blog | poslední úprava: 22.10. 12:07

    dneska je asi fakt jako možný uplně všecko :O :O by to tady zase jako nebylo furt samej koronavirus nebo energetická krize vyvolaná emisníma povolenkama vám povim co sem našla za bulhara :O :O

    bulhar

    hraní si s voice2json

    voice2json je uplně suprovej nástroj na převádění mluvenýho slova na text v JSON formátu a je předevšim uplně super na nějaký hlasový ovládání něčeho nebo třeba na nějakou domácí automatizaci.

    Neni to žádná umělá inteligence a chová se to jenom tak jak tomu jako nalajnujete v konfiguračních souborech, tak vod toho jako nejde čekat nějakou improvizaci/kreativní interpretaci toho co se jakoby snažíte říct. Ale narozdíl od různých google assistantů to zaprvý nepotřebuje žádnej cloud protože to umí fungovat uplně offline, zadruhý to umí rozumět čédině a zatřetí to navíc de pustit i na vobyč raspberry. Ato je uplně supr si myslim :O ;D

    nainstalujeme hele návod

    stáhnem čechijskej jazikovej profil příkazem (je tam jenom jeden češtinovej profil tak nadtim aspoň jako nemusíme moc přemejšlet :D)

    voice2json --profile cs download-profile

    jak to jakoby funguje

    Jak to jako funguje mají popsaný tady hele.

    Voice2json sám vo sobě neni žádnej řečovej model využívá modýlky třetích stran, konkrétně umí používat pocketsphinx, kaldi a deepspeech, češtinu umí zatim jenom kaldi.

    znakům ze kterej je poskládaný slovíčko napsaný třeba na papíru se řiká grafémy a jednotlivejm zvukům který člověk jakoby dělá když se to slovíčko snaží nahlas přečíst fonémy. No a na slovech je děsně blbý že se často nějak pišou ale úplně odlišně řikaj (pišem 'indián' čtem indiJán s tim neviditelným 'j' skovaným uprostřed) nebo navopak se nějaký dvě slovíčka stejně řikaj a různě pišou ('policajt s pendrekem v ruce byl/bil těsně vedle klimatickýho dizidenta') a převedení řeči/sekvence fonémů na text/sekvenci grafémů muže bejt děsně složitý, no a pak ještě ten řetězec grafémů musíme nějak interpretovat a převíst na nejvíc nejpravděpodobnější řetězec slov (řetězec mňe-sto muže bejt 'město' jakože třeba praha ale třeba taky 'mě 100' jakože třeba když si primátor řib řiká vo stokorunovej úplatek nějakej noa něco takovýho de zistit jenom z kontextu v jakým se to řeklo) :O :O

    V tom kaldi řečovým modýlku, kterej voice2json použivá pro čédinu, se nejdřiv zvuk toho jak jakoby mluvíme strčí do akustickýho modelu kterej nám ze zvuku vyrobí řetězec fonémů, ty se narvou do slovníků na převádění fonémů na grafémy a nakonec to jde do řečovýho modelu kterej zná jak na sebe slovíčka v textu navazujou a podle toho nám poskládá z grafémů tu pravděpodobnou člověkem řeknutou větu.

    Českej kaldi model je natrénovaný na výslovnostech zákodovanejch v IPA kódech hele slov scrapnutejch z wikislovníku. Slovník českejch slov je celkem omezenej a snadno se stane že v konfiguračním souboru použijeme slovíčko který ve slovníku k převádění fonémů na slova neni, v takovým případě se při trénování modelu vezme nástroj phonetisaurus na převádění grafémů na fonémy a ta fonetická část slova se zkusí uhádnout. To hádání neznámejch slov funguje celkem spolehlivě takže na různý ty warningy jakože třeba WARNING:rhasspynlu.g2p:Missing word 'zapni' že to nezná slovíčko 'zapni' mužeme zapředpokladu že to je normální český slovíčko poslepovaný z vobyč českejch slabik uplně vpohodě hodit bobek. kdo si tam ale jakoby narve 'aslkdfhiawbgsdfkjgasdfgzjqs' má prostě jako smůlu a phonetisaurus ho nezachrání :D ;D

    intenty/úmysly

    Z toho převedenýho mluvení na text chcem mit vyparsovanej 'příkaz' v JSON podobě. Na jaký věty chcem slyšet a co z nich chcem vyparsovat slouží konfigurační soubor sentences.ini skovanej v ~/.local/share/voice2json/název-modelu (třeba ~/.local/share/voice2json/cs-cz_kaldi-rhasspy/sentences.ini pro kaldi češtinu). Používá se nato takovej šablonovací jazyk podobnej jsgf hele by jsme mohli třeba pár větičkama/pravidlama pokrejt děsně moc kombinací různejch a nemuseli je tam všecky vyjmenovávat v hrozně moc moc větách :O ;D detajlní popis maj tady hele

    Voice2json umí rozumět jenom slovům na který byl natrénovanej, takže pokaždý když config sentences.ini upravíme musíme modýlek přetrénovat zavoláním

    voice2json --profile cs train-profile

    aby se ty nový slovíčka naučil. Trvá to jenom pár vteřinek :O :O a fakt jako nemyslim takový ty vteřinky jakože když si naposlední chvilku pro něco skočíte dobaráku když se někam de a za vteřinku vylezete ven s jinejma vlasama v uplně jinejch hadrech a botách a všim :D nekecám :O :O :O :O

     

    živej překlad mluvení na text našim natrénovaným profilem by jsme viděli jestli nám to funguje pustíme příkazem

    voice2json --profile cs transcribe-stream

    parsování textu a generování JSONu dělá příkaz 'voice2json recognize-intent' takže pro to živý generování *.jsonů si to mužeme spojit takle trubičkou a ještě tam připojit 'jq' aby se nám to líp četlo

    voice2json --profile cs transcribe-stream | voice2json --profile recognize-intent | jq

    auž jako mužem mluvit a koukat jak jako bulhar jede ty svý JSONy :O ;D

    Šablonovací jazyk

    do hranatých [] závorek se píšou jednoslovný názvy intentů/'úmyslů' a za ně různý ty věty který ten danej intent spouštěj a který chcem rozpoznat, hodně jednoduchý sentences.ini muže vypadat třeba takle

    [Vtip]
    řekni mi vtip
    udělej vtip
    
    [Svetla]
    zhasni světla
    rozsviť světla

    noa funguje to uplně jednoduše, větičky 'řekni mi vtip' a 'udělej vtip' nám generujou intent 'Vtip' a 'zhasni světla', 'rozsviť světla' intent 'Svetla'

    pokud chcem udělat nějaký slovíčko nepoviný, jakože aby nám to detekovalo ten náš intent i když to daný slovíčko neřeknem, můžeme ho skovat do hranatých závorek jako třeba

    [Vtip]
    řekni [mi] vtip
    udělej vtip

    bude reagovat jak na větičky 'udělej vtip', 'řekni mi vtip' jako předtim ale i na větu 'řekni vtip'. Pokavaď se stane že by jsme chtěli nějaký nepoviný slovíčko mit hnedka nazačátku tý některý věty tak ho musíme vyescapovat lomítkem by si to voice2json nepoplet a nepovažoval to za název dalšího intentu, takže jako třeba

    [Vtip]
    \[udělej] vtip

    Pokud chcem napsat víc možností jak by šlo něco říct, tak slovíčka pišem do kulatejch () zárovek a mezi alternativama děláme znak '|' jakože 'nebo'. Bez toho nebo kulatý závorky fungujou jako vobyč slučování slov do jednoho větčího bloku se kterým pak mužem pracovat nějak dál.

    Takže třeba todlecto

    [Svetla]
    (zhasni | rozsviť) světla

    se nám spouští jenom když se řekne 'zhasni světla' nebo 'rozsviť světla'

    když by jsme třeba chtěli ve vygenerovaným jsonu mit jiný slovo než na který reagujem mužem udělat nahrazení znakem dvojtečky ':'

    takže třeba

    [Svetla]
    (zhasni:vyp | rozsviť:zap) světla

    slyší na věty 'zhasni světla', 'rozsviť světla' ale generuje věty 'vyp světla' a 'zap světla'. Takovým zajímavým fíglem dvojtečky je že když vod ni napravo už nenapišete nic tak ji de použít k zahazování slova, by se neoběvilo ve vygenerovaným textu.

    Pomocí složenejch {} závorek si mužeme ve vygenerovaným JSONu vyrobit tzv. sloty (česky asi 'zdířky' :D :D) který pak budem moct snadno z JSON vytáhnout. Za nějaký slovo si mužeme napsat do složenejch závorek nějakej název toho slotu, ve výsledným vygenerovaným JSONu nám to ve 'Slots' vyrobí položku se stejným názvem která bude vobsahovat v hodnotě slovo nalevo od závorek.

    Takže názorně

    [Svetla]
    (zhasni:vyp | rozsviť:zap){posilam} světla

    bude mit ve slotech položku s názvem 'posilam' která muže mit buďto hodnotu 'vyp' nebo 'zap'.

    Na ten stav si mužeme taky vyrobit nějaký 'pravidlo', do kterýho to nejdřiv skováme rovnítkem a pak můžeme opakovaně používat <> zobáčkama

    [Svetla]
    stav = (zhasni:vyp | rozsviť:zap){posilam}
    <stav> světla

    'pravidlo' můžeme používat napříč různejma intentama

    [Svetla]
    stav = (zhasni:vyp | rozsviť:zap){posilam}
    <stav> světla
    
    [Zarovky]
    <Svetla.stav> žárovku

    Vykřičníkem mužeme vynutit v json nějakej datovej typ, takle třeba celočíselnou hodnotu

    [Pirati]
    strčit do stanu (všecky:4){piratu!int} piráty

    nám ve vygenerovaným JSONu vyrobí slots v takovýdle podobě

    "slots": {"piratu": 4}

    kde ta čtyrka bude celý číslo. uplně :P ;D (todleto se jako jentak nevomrzí to mě asi jako vydrží bavit do příštích poslancovejch voleb :D :D btw nevíte zakolik roků by jako měli bejt ty příští?? :D :D :P :P ;D ;D).

    V intentech mužeme zachytávat libovolný celý čísla tim že si tam napišeme interval

    [Neco]
    nastav něco na (0..100) procent

    pokud chcem skákat třeba po pěti jakože 0,5,10,15.... tak

    [Neco]
    nastav něco na (0..100,5) procent

    ale myslim si, že to s češtinou moc dobře nefunguje, například to furt slyšelo různý divný čísla který jsem ani neřikala a který to nemělo ani do trénovacího modelu vygenerovat protože nevodpovídaly nastavený velikosti kroku :D takový zajímavý je že když sem ty čechijský číslovky napsala normálně ručně tak to fungovalo :O :O takže by sem asi jako podezírala pythonovej modul num2words hele kterej to na automatický generování číslovejch slov používá ale nevim :O :O

    joa když tydlety intervaly chcete používat si pohlídejte by byl skript na generování těch slov s číslama udělanej spustitelnej :O :O pro českej kaldi modýlek je skript na generování číslovejch slov skovanej ve složšce ~/.local/share/voice2json/cs-cz_kaldi-rhasspy/slot_programs/rhasspy

     

    když si v profilu vyrobíme složšku ~/.local/share/voice2json/cs-cz_kaldi-rhasspy/slots a strčíme do ni nějakej textovej soubor třeba s ménama ekoterroristů z evropský komise vodpovědnejch za euroregulaci vysavačů který chcem bacit tak nám to natrénuje profil by těm slovům rozuměl a mužeme ten náš deathlist (to se řikat muže to neni blacklist :O ;D) pak v sentences.ini používat znakem dollaru '$' takle třeba

    [Bacit]
    jdi bacit ($seznam){koho}

    podobně mužeme používat skripty který si nastrkáme do složšky ~/.local/share/voice2json/cs-cz_kaldi-rhasspy/slot_programs podobně jako to předtim fungovalo s těma řádkama texťáku to teďko bude fungovat s textovým výstupem toho našeho skriptíku. případný argumenty skriptu voddělujeme čárkou ','

    [Bacit]
    jdi ($baceni,1){zpusob} ($seznam){koho}

    hej bulhare!!!!

    sem si z toho jakoby vyrobila takovýho primitivního asistenta :D rozumí mi to asitak v 70-80% případů a strašně pitomě to řiká ty svý věci, no prostě to připomíná ňáký takový pokusy se domluvit naněčem s uplně vožralým bulharem tak tomu taky tak řikám :D :D

    problémy domluvit se rostou stim čím víc slov bulhar umí/čim bohatčí je soubor sentences.ini, navíc v čédině strkáme ty nejvíc nejduležitějšejší informace uplně nazačátek slov/často i věty zatimco v anglině je uplně jinde a věčina těch modýlků je dělaná hlavně pro anglinu :O :/ si stačí porovnat naše 'zapni světla'/'vypni světla' s jejich 'turn lights on/off' ta informace je jakoby uplně navopačným konci a mam pocit že hlavně todleto dělá bulharoj problémy rozumět :O :O nevim :O :O ale neni to asi jako zase taková tragedie a si myslim že to je celkem dobře použitelný :D ;D

    co všecko jako bulhar umí :O :O

    bulhar slyší na svý méno

    Voice2json umí čekat na nějaký budicí slovo parametrem 'wait-wake', používá na to nástroj mycroft-precise hele. Skript se nám prostě jako na tom wait-wake zašprcne a nebude se provádět dál dokavaď se to budicí slovo neřekne, je to prostě vobdoba toho googlího 'hey google' když chem probudit google asistenta třeba.

    Blbý na tom je že máme navýběr jenom z pár předtrénovanejch modýlků (najdete je skovaný v /usr/lib/voice2json/share/voice2json/etc/precise), víchozí předdefinovanej je natrénovanej na budicí větu 'hey mycroft' (hej májkroft) a to je takový nudný si myslim :O :/ další děsná výhoda toho trénování vlastního slova je vtom že tak mužem voslovovat jednotlivý chytrý věci doma a jakože třeba 'hej televize' 'hej kamerko' ato je takový víc lepšejší než přez ňákej na cloud napojenej uzel 'alexo google udělej s televizí to ato' :O ;D

    Pokud si chcem natrénovat svuj vlastní budicí modýlek, musíme si sestavit mycroft-precise ze zdrojovejch kódů hele a jet podle tohodlectoho návodu hele. POZOR POZOR vono to má furt zavislost na starodávným tensorflow max verze 1.14 a když se to pokusíme vopravit třeba tadyletim patchem hele tak zase jako budeme mit problémek s tim že voice2json nerozumí modelům uloženejch v *.tflite který se používaj vod tensorflow v.2 a rozumí jenom souborům v *.pb který ale asi jako nejde ňák moc pohodlně z *.tf vygenerovat :D

    jako fungující řešení pro natrénování svýho vlastního modýlku se ukázalo nainstalovat starožitnou verzi pythonu která by byla současně kompatibilní stim jak je ten zrojáček napsanej a na nic nenadávala a současně v pipu měla ten tensorflow 1.14 :D

    použila jsem na to verzi 3.7, 3.6 byla moc starodávná, 3.8 zase jako moc nová :D :D :D :D

    Až si nainstalujete ten python 3.7 tak upravte v mycroft-precise 'setup.sh' skriptík by tam byla napsaná ta 3.7 verze pythonu. Muj vypadá třeba takle, je tam eště navíc napsaná trojka na apt-instalovacím řádku za 'cython' by to fungovalo v debianu a neztekalo se to že to prej nemá splněný závislosti a nezkoušelo lhát že tomu prej chybí cython :D ;D v ubuntu se to asi jako řešit nemusí nevim

    #!/usr/bin/env bash
    # Copyright 2019 Mycroft AI Inc.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #    http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    is_command() { hash "$1" 2>/dev/null; }
    apt_is_locked() { fuser /var/lib/dpkg/lock >/dev/null 2>&1; }
    wait_for_apt() {
    	if apt_is_locked; then
    		echo "Waiting to obtain dpkg lock file..."
    		while apt_is_locked; do echo .; sleep 0.5; done
    	fi
    }
    has_piwheels() { cat /etc/pip.conf 2>/dev/null | grep -qF 'piwheels'; }
    install_piwheels() {
        echo "Installing piwheels..."
        echo "
    [global]
    extra-index-url=https://www.piwheels.org/simple
    " | sudo tee -a /etc/pip.conf
    }
    
    #############################################
    set -e; cd "$(dirname "$0")" # Script Start #
    #############################################
    
    VENV=${VENV-$(pwd)/.venv}
    
    os=$(uname -s)
    if [ "$os" = "Linux" ]; then
        if is_command apt-get; then
            wait_for_apt
            sudo apt-get install -y python3-pip curl libopenblas-dev python3-scipy cython3 libhdf5-dev python3-h5py portaudio19-dev swig libpulse-dev libatlas-base-dev
        fi
    elif [ "$os" = "Darwin" ]; then
        if is_command brew; then
            brew install portaudio
        fi
    fi
    
    if [ ! -x "$VENV/bin/python" ]; then /opt/python3.7/bin/python3.7 -m venv "$VENV" --without-pip; fi
    source "$VENV/bin/activate"
    if [ ! -x "$VENV/bin/pip" ]; then curl https://bootstrap.pypa.io/get-pip.py | /opt/python3.7/bin/python3.7; fi
    
    arch="$(python -c 'import platform; print(platform.machine())')"
    
    if [ "$arch" = "armv7l" ] && ! has_piwheels; then
        install_piwheels
    fi
    
    pip install -e runner/
    pip install -e .
    pip install pocketsphinx  # Optional, for comparison
    

    až budem mit natrénováno si upravíme config ~/.local/share/voice2json/cs-cz_kaldi-rhasspy/profile.yml a napišeme tam cestu k tomu svýmu vyrobenýmu *.pb modelu

    wake-word:
      # Sensitivity (0-1)
      sensitivity: 0.5
    
      # Mycroft Precise settings
      precise:
          # Path to precise-engine executable.
          # Use $PATH if empty.
          engine-executable: ""
    
          # Path to model .pb file
          model-file: "/nejaka/cesta/k/natrenovanymu/modylku/bulhar.pb"
    
    

    hej bulhare kolik je hodin?? 'dvacetjeden'

    bulhar umí mluvit pomocí espeak. jako neni to žádná velká sláva ale použitelný to synetizování mluvení +- je :D

    jedna věc mě na tom děsně štvala to že když bulhar řikal nějaký číslo který končilo jedničkou tak tu jedničku přečet jako 'jeden' bez vohledu na kontext v jakým se to řiká a dost to jako trhá uši :O :O dá se to řešit tim že si třeba nějakej časovej údaj co chcem bulharem říct sami vygenerujeme do stringu ale to je takový pitomí a si myslim žeby to jako espeak měl mit vyřešený u sebe protože čísel co dělaj že končej slovem 'jedna' je prostě jako víc než těch co končej slovem 'jeden' :O :O

    espeak umí požívat voice2json příkazem

    voice2json speak-sentence

    v bulharoj je to ale udělaný přímo voláním espeaku by šlo snadno hejbat parametramama, ve voice2json by se musel upravovat config asi :D ;D

     

    hej bulhare řekni vtip

    bulhar umí řikat uplně prázdně a bezemocí sprostý vtipy ze stránky rouming.cz :D vtipy si de stáhnout příkazem

    wget https://www.rouming.cz/roumingJokes.php?\&page={1..500}

    a vyparsovat a skovat do sqlite databáze pythonovým skriptíkem

    import os
    from bs4 import BeautifulSoup
    import langid
    import sqlite3
    
    # hodnoceni je 1 až 5 kde 1 je nejvic nejlepsi a 5 nejvic nejhorsi
    def vydolovat_vtipy_ze_souboru(nazev, min_hodnoceni=2, jazyk="cs"):
    
        vtipy = []
    
        with open(nazev, "r") as soubor:
            obsah = soubor.read()
            soup = BeautifulSoup(obsah, "html.parser")
    
            soup = soup.find_all("tr", class_="roumingForum")
    
            for radek in soup:
                znamka = int(radek.find("img")["alt"])
                text = radek.find_next_siblings()[0].find("td").text
                lang = langid.classify(text)[0]
    
                if znamka <= min_hodnoceni and lang == jazyk:
                    vtipy.append(text)
    
                print(f"znamka: {znamka} jazyk: {lang}")
                print()
                print(text)
                print()
    
                print("-" * 80)
    
        return vtipy
    
    
    def skovat_vtipy_do_databaze(nazev_databaze, vtipy):
    
        spojeni = sqlite3.connect(nazev_databaze)
        kurzor = spojeni.cursor()
        kurzor.execute("CREATE TABLE IF NOT EXISTS vtipy([vtip] TEXT);")
        spojeni.commit()
    
        kurzor.executemany("INSERT INTO vtipy VALUES(?);", [(vtip,) for vtip in vtipy])
        
        print(f'zapsano {kurzor.rowcount} vtipu')
        
        spojeni.commit()
    
        spojeni.close()
    
    
    if __name__ == "__main__":
    
        slozka = "./jokes"
        nazev_databaze = "vtipy.sqlite3"
    
        vtipy = []
    
        for soubor in os.listdir(slozka):
    
            cesta = os.path.join(slozka, soubor)
            if os.path.isfile(cesta):
                vtipy += vydolovat_vtipy_ze_souboru(cesta)
    
        skovat_vtipy_do_databaze(nazev_databaze, vtipy)
    
    

    zdrojáček

    zdrojáček zatim takle. jeto dost upravená verze toho jejich příkladu na spuštění programů podle ména

    #!/usr/bin/env bash
    
    # název tohodlectoho skriptu
    this_nazev="$0"
    
    # a složšky ve který je skript skovanej
    this_dir="$( cd "$( dirname "$0" )" && pwd )"
    
    # načtem si seznam intentů do pole
    vety_config="~/.local/share/voice2json/cs-cz_kaldi-rhasspy/sentences.ini"
    readarray -t intenty < <(awk '/^\[.*\]$/{ print substr($0, 2,length($0)-2) }' $vety_config)
    
    # natrénování profilu
    # protože to chci mit fakt uplně offline tak sem tam přidala argument --no-auto-download bez něj to furt lezlo na github pro něco :O :O
    # ......a když to tam nedáte a pustíte to offline tak to spadne :D
    voice2json --no-auto-download --profile cs train-profile
    
    
    # dočasnej *.wav soubor s nahraným zvukem kterej budem zkoušet předělávat na text
    temp_wav="$(mktemp)"
    
    # funkce co se zavolá když zkončíme aby se ten dočasnej *.wav taky vodstranil :D ;D
    function finish {
        rm -rf "${temp_wav}"
        exit 0
    }
    
    # funcke co promluví pomocí espeaku
    # myslimže takle je to víc líp rozumět s těmadle parametrama ale nevim :O :O
    function mluv
    {
    echo "řikám: \"$1\""
    espeak -a 200 -v czech -g 15 -p 50 "$1"
    }
    
    # řekni vtip :D :D
    
    function zpracujVtip
    {
    # řeknutí náhodnýho vtipu kratčího než 1024 znaků
    # si myslim že by bulhar neměl řikat zbytečně dlouhý vtipy protože mu to někdy trvá děsně dlouho než to
    # jako vubec dořekne :O :O
    mluv "$(sqlite3 vtipy.sqlite3 'SELECT * FROM vtipy WHERE LENGTH(vtip) < 1024 ORDER BY RANDOM() LIMIT 1;')"
    }
    
    # tahání *.json s počasím z takovýho počasovýho serveru :D
    function zpracujPocasi
    {
    
    data=$(curl --silent --fail --max-time 5 "192.168.0.111/weather.json")
    
    if [ -z "$data" ] ; then
        mluv "data nejsou dostupná"
    else
    
        # vytáhnutí proměný z jsonu pomocí příkazu 'jq'
        t="$(echo "$data" | jq -r .teplota)"
        vlhkost="$(echo "$data" | jq -r .humidita)"
    
        cele=""
        float=""
        
        # kouknem jestli je ve stringu proměný 't' znak tečky tzn. jestli má nějakou desetinovou část
        if [[ $t =~ "." ]] ; then
            
            # noa jestli jako jo tak číslo tou tečkou rosekáme na celou a desetinovou půlku
            cele=$(echo $t | cut -d "." -f 1)
            float=$(echo $t | cut -d "." -f 2)
        else
            cele=$t
        fi
    
        # větka kterou řeknem
        # když je v proměný $float prázdnej string tak to prostě misto toho floatu mlčí :D ;D
        veta="teplota je $cele celých $float stupňů celzia, vlhkost $vlhkost procent"
        mluv "$veta"
    
    fi
    
    }
    
    # funkce na blikání světlama pomocí mqtt
    # (argument všech tědletěch funkcí je json vygenerovanej voice2jsonem)
    function zpracujSvetla
    {
        # vytažení stavu jakože zapnutí/vypnutí z jsonu
        stav="$(echo "$1" | jq -r .stav)"
        # a místa/názvu lampy/lustru
        misto="$(echo "$1" | jq -r .misto)"
    
        # chcem mit jistotu žeto jakoby bude jenom 'bool' 
        msg=$([[ "$stav" == "on" ]] && echo "on" || echo "off")
        
        # vypnutí/zapnutí všech světel v topicu /svetla
        # mqtt se umí subscribnout do víc topiců najednou ale asi jako
        # neumí publishnout jednu uplně stejnou zprávu v jednom topicu do všech věcí tam :O :/
        # takže to prostě jako musíme proiterovat pojednom :/
        if [[ "$misto" == 'all' ]]; then
        
             nazvy_svetel=( pokoj spizirna kumbal chodba sklep garaz kulna ) # mě s těma světlama všichni ženou pryč :O :O nevíte proč :D
             for svetlo_nazev in "${nazvy_svetel[@]}"
             do
                # pošlem mosquittem naši zprávu
                mosquitto_pub -h 192.168.0.123 -u greta -P 'fotbal1234' -t svetla/$svetlo_nazev -q 2 -r -m $msg
             done
        
        else
        
            tpc="svetla/$misto"
            mosquitto_pub -h 192.168.0.123 -u greta -P 'fotbal1234' -t $tpc -q 2 -r -m $msg && mluv "posílám do topiku $tpc zprávu $msg"
        
        fi
    }
    
    # funkce pro řeknutí času
    # volá dvě různý funkce jednu na řikání datumu druhou na řikání hodin
    # jj todle by bylo víc lepšejší rozkrojit na dva intenty :D
    function zpracujCas
    {
    
    co="$(echo "${1}" | jq -r .co)"
    
    case $co in
    
        čas)
        echo "čas"
        rekniCas
        ;;
        datum)
        rekniDatum
        ;;
    
        *)
        ;;
    
    esac
    
    }
    
    # strašně mě štvalo to 'jeden' na konci číslovejch slov
    # nóóó tak sem to zkusila takle podchytit pro ty hodiny a datumy :o :O
    function rekniCas
    {
    
        read -r hodina minuta <<< $(date +"%H %M")
        hodina=$((10#$hodina))
        minuta=$((10#$minuta))
        echo "hod: $hodina min: $minuta"
    
        jak_rict_hodiny=""
        if [[ $hodina -eq 21 ]]; then
            jak_rict_hodiny="je dvacetjedna hodin"
        elif [[ $hodina -eq 1 ]]; then
            jak_rict_hodiny="je jedna hodina"
        elif [[ $hodina -eq 0 || $hodina -gt 4 ]]; then
            jak_rict_hodiny="je $hodina hodin"
        else
            jak_rict_hodiny="jsou $hodina hodiny"
        fi
    
        if [[ $minuta -ne 0 ]] ; then
    
            if [[ $minuta -gt 4 ]]; then
                jak_rict_hodiny+=" a $minuta minut"
            elif [[ $minuta -eq 1 ]]; then
                jak_rict_hodiny+=" a jedna minuta"
            else
                jak_rict_hodiny+=" a $minuta minuty"
            fi
        fi
        
        mluv "${jak_rict_hodiny}"
    
    }
    
    function rekniDatum
    {
        read -r mesic den denTydne<<< $(date +"%B %d %A")
        den=$((10#$den))
        
        jak_rict_datum="$denTydne "
        
        if [[ $den -gt 29 ]]; then
            jak_rict_datum="třicátého"
            den=$((den - 30))
        elif [[ $den -gt 19 ]]; then
            den=$((den - 20))
            jak_rict_datum="dvacátého"
        fi
        echo "den: $den"
        
        # furt se tam vopakuje ého ího a věřim že to de ňák víc líp udělat :O :O
        # takle to asi ale jako stačí :D
        
        case $den in
            
            1)
            jak_rict_datum+="prvního"
            ;;
            2)
            jak_rict_datum+="druhého"
            ;;
            3)
            jak_rict_datum+="třetího"
            ;;
            4)
            jak_rict_datum+="čtvrtého"
            ;;
            5)
            jak_rict_datum+="pátého"
            ;;
            6)
            jak_rict_datum+="šestého"
            ;;
            7)
            jak_rict_datum+="sedmého"
            ;;
            8)
            jak_rict_datum+="osmého"
            ;;
            9)
            jak_rict_datum+="devátého"
            ;;
            10)
            jak_rict_datum+="desátého"
            ;;
            *)
            jak_rict_datum+="$deného"
            ;;
        
        
        esac
        
        jak_rict_datum+=" $mesic"
        
        mluv "${jak_rict_datum}"
    
    }
    
    # funkce pro řízení přehrávače audacious pomocí d-busu
    # jako de to používat ale moc sem stim neblbla protože bulhar moc neslyší co se řiká když mu mikrofonovýho ucha hraje muzika :D
    
    function zpracujHudba
    {
    stav="$(echo "$1" | jq -r .stav)"
    
    # zistíme jestli je přehrávač už hraje hudbu
    hraje=$(dbus-send --print-reply=literal --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.Paused | sed 's/^[ \t]*//')
    hraje=$([[ "$hraje" == "boolean false" ]] && echo "1" || echo "0")
    
    if [[ $hraje ]]; then
    
        # pauza
        if [[ "$stav" == "off" ]]; then
            dbus-send --print-reply --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.Pause
            
        # další písnička
        elif [[ "$stav" == "next" ]]; then
            dbus-send --print-reply --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.Advance
        
        # minulá
        elif [[ "$stav" == "prev" ]]; then
            dbus-send --print-reply --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.Reverse
            
        # nastavení hlasitosti
        elif [[ "$stav" == "hlasitost" ]]; then
            hlasitost="$(echo "$1" | jq -r .hlasitost)"
            dbus-send --print-reply --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.SetVolume int32:$hlasitost int32:$hlasitost
            
        # řeknout název písničky co hraje
        elif [[ "$stav" == "nazev" ]]; then
            index=$(dbus-send --print-reply=literal --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.Position)
            name=$(dbus-send --print-reply=literal --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.SongTitle uint32:${index##* })
            mluv "hudba se jmenuje $name"
        fi
    
    else
    
        # zapnutí
        if [[ "$stav" == "on" ]]; then
            dbus-send --print-reply --dest=org.atheme.audacious /org/atheme/audacious org.atheme.audacious.Play
        fi
    fi
    
    }
    
    
    # uplně jednoduchoučký změření jak jako bulhar dobře slyší
    # neměří se tam žádný snr lickýho mluvení prostě se vytáhne zezvuku vo kolik byl zesílenej :D ;D
    function zpracujTestMikrofonu
    {
    # vytáhnem jak moc jako byl zvuk zesílenej při nahrátí
    hlasitost=$(sox -t .wav ${temp_wav} -n stat 2>&1 | grep "Volume adjustment" | cut -d ':' -f 2)
    # přepočitáme na procenta
    hlasitost=$(echo "((100/$hlasitost)+0.5)/1" | bc)
    mluv "slyším tě na $hlasitost procent"
    }
    
    # vidiš krályku řek to počitač tak jeto jako pravda :P :P :D ;D
    function zpracujKlima
    {
    mluv "neexistuje. je to podvod na lidi"
    }
    
    # past na zavolání tý uklízecí funkce
    trap finish SIGTERM SIGINT
    
    # název minule volanýho intentu
    minuly_intent_nazev=""
    # sloty minulýho intentu
    minuly_intent_slots=""
    
    while true;
    do
        # čekání na budicí slovo
        echo 'cekam na probuzeni..........'
        voice2json --no-auto-download --profile cs wait-wake --exit-count 1
    
        # zahrajem pípací zvuk ze stejný složšky jako je tendle skript aby se jakoby vědělo
        # že bulhar ví vo tom že se mu chystáme něco říct
        # to & nakonci je tam přidaný z důvodu že lidi sou děsně netrpělivý a hnedka chtěj mluvit + spuštění toho nahrávání
        # malou nepatrnou chviličku trvá a děsně snadno se muže stát že začnem bulharoj řikat příkaz ještě když uplně neposlouchá ato
        # je v čédině kde informaci vo zapnutí/vypnutí má v sobě skovanejch pár prvních fonémů muže bejt pitomí :O :/
        play -q "${this_dir}/beep.ogg" &
        
        # nahrajem příkaz dokud nebude ticho/neuteče časovej limit výchozí
        echo 'nahravam prikaz'
        voice2json record-command > "${temp_wav}"
        
        # znova pípnem jakože je nahranej
        play -q "${this_dir}/beep.ogg"
    
        echo 'zpracovavam intent'
        
        # převedem *.wav na text a zněj zkusíme rozpoznat intent
        intent_json=$(voice2json --no-auto-download --profile cs transcribe-wav "${temp_wav}" | voice2json --no-auto-download --profile cs recognize-intent)
    
        # název intentu/ůmyslu
        intent_name="$(echo "${intent_json}" | jq -r .intent.name)"
        # ....a jeho možný slots
        slots=""
            
        # pokud je název intentu 'opakovat' tak se chováme jako by se znova zavovlal ten minulej
        if [[ $intent_name == "Opakovat" ]]; then
            intent_name=$minuly_intent_nazev
            slots=$minuly_intent_slots
        else
            # pokud nevopakujem tak vytáhnem z jsonu ty možný sloty
            slots="$(echo "${intent_json}" | jq -r .slots)"
            # ....a skováme název/slots pro příští vopakování možný
            minuly_intent_nazev=$(echo $intent_name)
            minuly_intent_slots=$slots
        fi
            
        # pokavaď je intent v seznamu známejch intentů vytaženejch ze sentences.ini
        if [[ " ${intenty[@]} " =~ " ${intent_name} " ]]; then
            # zavoláme funkci co začíná prefixem s názvem intentu a druhou půlku názvu má podle intentu
            zpracuj$intent_name "$slots"
        else
            mluv "nerozumím"
        fi
    
    
    done
    
    

    sentences.ini

    [Cas]
    (((kolik | jak) je [(teď | nyní)][hodin]):čas){co}
    (([řekni] [mi] čas):čas){co}
    
    ((kolikátého je [hodin]):datum){co}
    (([řekni] [mi] datum):datum){co}
    
    ((co je [(dneska | dnes)] za den):datum){co}
    
    [Vtip]
    (řekni | udělej) [mi] (vtip)
    
    [Pocasi]
    (jaké | jaká) je [venku] počasí
    řekni [mi] (počasí | teplotu | vlhkost)
    \[řekni [mi]](jaká | jaké) je [venku] (teplota | vlhkost)
    jak je venku
    
    
    [Svetla]
    stav = ((zapni | rozsviť | zapnout | rozsvítit | aktivuj | aktivovat):on | (vypni | zhasni | vypnout | zhasnout | deaktivuj | deaktivovat):off){stav}
    druh = (lampu | lampy | lustr | světlo | světla | žárovku | žárovky)
    
    misto = (([v] pokoji):pokoj | pokoje:pokoj | ([v] kumbalu):kumbal | ([na] chodbě):chodba | ([v] chodbě):chodba | chodby:chodba | ([ve] sklepě):sklep | sklepa:sklep | garáže:garaz | ([v] garáži):garaz | ([v] kůlně):kulna | kůlny:kulna | ([ve] spižírně):spiz | spižírny:spiz){misto}
    
    ((vše | všechno):all){misto} (<stav>)
    (<stav>) ((vše | všechno):all){misto}
    
    (<stav>)[(<druh>)](<misto>)
    (<misto>)(<stav>)[(<druh>)]
    
    [Hudba]
    stav = ((zapni | pusť | [za]hraj):on | (vypni | pauzni | stopni | zastav | přestaň hrát):off){stav}
    (<stav>)(hudbu | muziku | písničku | přehrávač )
    (((další | jinou)(hudbu | muziku | písničku)):next){stav}
    (([ještě [jednou]](minulou | předchozí )(hudbu | muziku | písničku)):prev){stav}
    
    (((název | [j]méno)(hudby | muziky | písničky)):nazev){stav}
    ((jak se [j]menuje (hudba | písnička | muzika)[ co [právě][teď]] hraje):nazev){stav}
    
    procenta = (deset:10 | dvacet:20 | třicet:30 | čtyřicet:40 | padesát:50 | šedesát:60 | sedmdestát:70 | osmdesát:80 | devadestát:90 | sto:100)
    # rozbitý :O :/
    #procenta=0..100,10
    (nastav | zesil | zesílit | ztlum[it] | ztiš[it]) hlasitost{stav} [(hudby | muziky | přehrávače)] na (<procenta>){hlasitost!int} [procent]
    maximální:100{hlasitost!int} hlasitost{stav}
    
    [Opakovat]
    (proveď | udělej) (znova | zas[e] | ještě [jednou])
    ((([z])opakuj) | opakuji) [(minulý | poslední)] (příkaz | povel | intent)
    
    [TestMikrofonu]
    jak [(dobře | špatně)] mě slyšíš
    
    [Klima]
    existuje člověkem vyrobený globální voteplování
    
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Max avatar 22.10. 00:09 Max | skóre: 69 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Oh, hoho, moc pěkně. Díky
    Zdar Max
    Měl jsem sen ... :(
    22.10. 08:49 Radovan
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    bulhar slyší na svý méno
    To mi připomnělo jednu povídku, kterou jsem v hloubi minulého milénia četl v nějakém dětském časopise. Kluci měli pifku na sousedku, tak vycvičili rodinného psa tak, že při vyslovení jejího příjmení vrčel a štěkal. To příjmení si nepamatuji, obsahovalo "ajz". Fungovalo to perfektně, pokaždé když jí zdravili na schodech pes reagoval požadovaným způsobem.

    Po čase se ale projevily ne zcela žádoucí vedlejší účinky, například když jednoho máti poslala pro něco "do špajzu", a druhému za špatnou známku táta chtěl jednou "majznout". Samozřejmě pes na příslušný zvuk opět perfektně reagoval...
    22.10. 09:27 /dev/ka
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Nemá to AI ? To je také necyberpunkové :-(
    22.10. 09:43 _
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    tolik kecu a pritom takova picovina
    22.10. 10:51 Vojelo
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Prestan zrat maso a dej se zaockovat!
    22.10. 13:57 Scott
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Příloha:
    Get the vaccine chud
    22.10. 14:08 _
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Lmao udělalo mi den
    22.10. 19:00 -
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Proč sem posíláš screenshoty ze sociální sítě pro debily?
    22.10. 19:05 Scott
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Jmenuje se to meme dedulo
    23.10. 19:55 guRu
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Huh kdyz uz nedavas portal na zabavu a vychazi ti z toho ze jsi debil tak mas v zivote radny problem. Terapie je nastesti jednoducha - nebud kokot!
    24.10. 14:58 Aleš
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Buď přesný. Portál na zábavu pro debily.
    Petr Tomášek avatar 28.10. 14:36 Petr Tomášek | skóre: 38 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    LOL, ten debil má dost vyjebaný oči. Takhle vypadají lidí, co si ničí zdraví tím veganským nesmyslem. hele.
    multicult.fm | monokultura je zlo | welcome refugees!
    Petr Tomášek avatar 28.10. 14:37 Petr Tomášek | skóre: 38 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Co je to zas za sračku? Maso je zdravé. Rostlinná "strava" způsobuje chronické nemoci.
    multicult.fm | monokultura je zlo | welcome refugees!
    27.10. 10:54 vykroužkovaný soukmenovec
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Šlehni si, udělá se ti dobře.
    22.10. 18:45 plostenka
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    \[udělej] vtip

    Wow, neparove escapovani!
    Bystroushaak avatar 22.10. 22:53 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Jo no, to jsem si taky říkal co to vymýšlelo za tatara.
    xkucf03 avatar 25.10. 17:48 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše syntaxe, INI

    +1 a taky nechápu, proč ty soubory mají příponu INI. Nicméně takhle tragicky to dopadá celkem často, když se lidi pokoušejí vymyslet vlastní „jednoduchou“ textovou syntaxi.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Bystroushaak avatar 25.10. 19:41 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: syntaxe, INI
    Že bych přidal čárku do My Greenspun's counter?
    Gréta avatar 23.10. 12:37 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬

    mužeš vyescapovat vobě lomítka ale stačí když se vyescapuje jenom to první :D

    takže todlecto taky funguje :O :O

    \[udělej\] vtip
    22.10. 20:56 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Greto, hosi na tom problemu se starymi zavislostmi zamakali - kukuc: https://github.com/MycroftAI/mycroft-precise/pull/141#issuecomment-949614065

    Tak to dopis do tohoto zapisku a uprav skripty, at ti to chodi lepe nez jenom na 70% ;)

    Jinak diky za zapisek - pred rokem se ke mne dostal podobny pozadavek, ale nepodarilo se mi to dotahnout do konce jako tobe!
    Gréta avatar 23.10. 12:32 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    26.10. 11:45 pokojar
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    A co takhle mit v pokoji primo vozralyho prezidenta Zemana? Mrkej:

    https://github.com/CorentinJ/Real-Time-Voice-Cloning
    Gréta avatar 26.10. 13:06 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬

    to vypadá jako uplně supr projekt podle toho videjka :D :D se ale bojim že to umí jenom anglinu ne?? :O :O

    26.10. 13:35 pokojar
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Tohle ukaze pouze test - odhaduji, ze to bude chodit docela prijatelne.
    Gréta avatar 27.10. 17:08 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Přílohy:

    tak jako český znáčky to jako neumí vubec a výsledek anglicky mluvicího babiše a zemana v příloze (vopakujou co povidal takovej jeden starej bílej nácek hele) :O :D :/ :D zeman jakoby neni poznat skoro vubec a z báby de +- poznat jenom takový to jeho skřehotatatání :D by se to asi jako muselo přetrénovat celý s českým korpusem :/ :/

    28.10. 00:26 pokojar
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Mne to prijde dost dobry - vsem kolemjdoucim doporucuji poslechnout!

    Na co bych se zameril nejdrive je to celkove zasumeni - neni to takhle zasumene nahodou uz z toho syntetizeru? V jake kvalite predkladas ten zvuk te AI?

    Jinak hacky a carky atd. - to se mi nezda, ze by to melo tak velky vliv. Nema v tom prsty zase ta synteza?
    Gréta avatar 29.10. 12:49 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬

    Na co bych se zameril nejdrive je to celkove zasumeni - neni to takhle zasumene nahodou uz z toho syntetizeru? V jake kvalite predkladas ten zvuk te AI?

    jj takle to z toho leze :O :D byl to rip nějakej jejich povidání z youtube a to jako nebyla žádná supr kvalita takže to je uplně klidně možný :O :D

    Jinak hacky a carky atd. - to se mi nezda, ze by to melo tak velky vliv.

    český znaky to fakt jako vubec nedává :O :/ když se tomu třeba daj ódy příliž žluťoučkýho koně tak ztoho vypadne jenom takovej uplně nesrozumitelnej žvejk :D

    3.11. 18:26 pokojar
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    A pridala jsi ceske znaky do te abecedy?

    Jinak ta zasumenost je zvolenym vocoderem - zkusila jsi vsechny mozne? A&nbps;ta obecna nekvalita je fakt tim modelem - ale da se pretrenovat (docela narocne) a nebo ohackovat a "castecne" pretrenovat (vyrazne jednodussi).

    Jo a mimochodem, hosi z MycroftAI maji novy wake word system, ktery by mel byt celkove lepsi, i kdyz to je stale alpha verze: https://github.com/MycroftAI/plugin-wake-word-precise-lite
    Gréta avatar 8.11. 21:33 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬

    A pridala jsi ceske znaky do te abecedy?

    jenom je tam napsat asi jako nestačí by se to muselo přetrénovat protože to nadává na špatnou dýlku nějakýho vektoru :O :/ commit asi jako patří k týdletý švédcký větvy hele :O :O

    11.11. 12:19 pokojar
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬
    Tak pak uz ti nezbyva nez zamestnat primo naseho byvaleho premiera ci stavajiciho prezidenta, aby ti predcitali v pokoji misto vozralyho bulhara :-D
    Gréta avatar 11.11. 18:16 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: vožralej bulhar u mě v pokoji?? 🍺 🇧🇬

    mužem to zkusit vysomrovat vod tamtoho antona až to jakoby bude mit hotový :D :D

    byvaleho premiera ci stavajiciho prezidenta, aby ti predcitali v pokoji misto vozralyho bulhara

    nebo vyzobat slova/slabyky z projevů a znich lepit věty hele třeba :D :D

    27.10. 11:29 Petr
    Rozbalit Rozbalit vše Problémy s Bulhary
    Vypadá to, že Bulhar úspěšně fakturoval, tak to šel trochu oslavit, až nakonec skončil u Gréty v pokoji. Dávejte si pozor, ke komu chodíte na testy - kdo kupuje kebab nebo chodí na testy k obchodníkovi s kebabem, podporuje terorismus.
    Gréta avatar 27.10. 17:16 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: Problémy s Bulhary

    bulhar asi jako bude jenom malinkatá rybka proto vo něm víme :D

    Seznam Zprávy se data o tom, kolik testů jednotlivé laboratoře a lékaři provedli, snažily získat několik měsíců. Jenže zdravotní pojišťovny - včetně té největší VZP - je dosud nechtějí poskytnout.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.