From 13ef7f957d45a0e3488eaef9083d727f2a6b054a Mon Sep 17 00:00:00 2001 From: Sveinbjorn Thordarson Date: Mon, 7 Mar 2022 22:34:09 +0000 Subject: [PATCH] Updated icon and docs, errmsg for unimplemented reading from stdin --- README.md | 15 +++++++-------- icon.png | Bin 10293 -> 11406 bytes src/Hear.m | 6 ++++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4d3fe71..314c3cb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![Language](https://img.shields.io/badge/language-objective--c-lightgrey)]() +[![Build](https://github.com/sveinbjornt/hear/actions/workflows/macos.yml/badge.svg)]() + # hear hear @@ -8,16 +12,16 @@ Apple's macOS has long shipped with the `say` tool, a command line interface for the operating system's venerable speech synthesis capabilities. As of -10.15 "Catalina", macOS also ships with highly capable speech recognition for a variety +10.15 "Catalina", it also ships with highly capable speech recognition for a variety of languages. This project is an attempt to provide a robust CLI for this functionality -since no such tool is provided by Apple. `hear` supports speech recognition of both +since no such tool is provided by Apple. **hear** supports speech recognition of both microphone audio and audio files in a variety of formats. ## Download -`hear` is free, open source software. The source code is freely +**hear** is free, open source software. The source code is freely [available](https://github.com/sveinbjornt/hear) under a [BSD license](#bsd-license). **If you find this program useful, please [make a donation](https://sveinbjorn.org/donations).** @@ -51,11 +55,6 @@ hear -m hear -i /path/to/someone_speaking.mp3 > transcribed_text.txt ``` -### Transcribe audio from standard input -``` -cat /path/to/audio_file.wav | hear -i - -f wav -``` - See the [man page](https://sveinbjorn.org/files/manpages/hear.1.html) for further documentation. ## Build diff --git a/icon.png b/icon.png index b9ddcd0cac13f2f5e9583037b7160a9283527315..0a2607f4e1a40ff8b6dbe69e79328773127dbad9 100644 GIT binary patch literal 11406 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 literal 10293 zcmZu%cRbX8{QulAjFWUhBXNz#%S`)*_gnEN2aj4Cm!p@-pD>G3 zVVE*hf4eT^te11=$d_@QHtL?mNN=ql%I|NxycGDn@xaVC&84Iuee*6a4I8O6H$Bbr zuLOqPfiyRrx2esVhreY-WwPhC&Me}JZkf?%YtQsFP%#$Yu-#)m`JmGu(XFB+x#-E` zUxZ>gjdaiNIsb*e&A=5!-uXQOJDO1{hLVp8xP8N|%%!I{KF!Fa_V=T{j|~uV z`A_cLByC&XG8Y?d@lLYKcCWMlq7^SZDw-Y6i{y{ax*LL5A5L9tzx?ARy`=~k5Ah=7 z#CS`ls^ZKtWR8V9xHRuj4<%*LV4{2MS*XkFDPbuf8qB;ghv)PQkRBxK?n$}&0`QDs zP?+MDq{xojR!Ux7?^3=BGhd+Uv;6t-rgY=pDx8qgEYk;~x^FYw`w2fPx!JsTji=FyFB;HpDH8%mQc{Tys4|klK;X-ip_uquJO5q?(9|Z8M`+u zBX^@hJ@k~0?J!#J+(m{FR;RYw*(gvk$L*j!lco6tVY#4gzhAf5-j{0JeQ=)`vKh~j zkVh2yV!DR1gNxm1BU)u8L{IvgPL*9k3aY3B`Zk1$KA&o;j_vaBK2AW9V+ok5z% z2>V{o$;BH(>&wsr-7U%*w^?^?Y|QZ~7Y&j<>++Wn8<_C2iZcZfW6RFfqJ4EFx8~v< zZGw$Me{a-?GEqBcMo^Ky?C6Rii^Xxl&h8MgfQ}OQNfhUd6k!;41~OW4@wPaB{;VS& zZb!pl)Xnh$;^)%#=g{pkx+;9i;@9c%og@^Z9%%zRu5Qt!MJ8h%*{m?i5ytPAr>2jq zR@TPVtXb6UY)Ed0ZVo+L^r73;NhMVtCYpAV9rwjIGk)O@l0M$|7Q|9 ztJz4WPWNNE4V{K->&_1S&8f00Idpf>`Twbz-ZkY8MI7GydOW8b`TbIQ1+GpKXQ}*H z&>H^GuuLxOmSlx3!^YB^Q8Yo7U)?(st*x0C6eJW94Wc5=HlK`rSIjSV%=npwoP| z2dFyE0I>UuXWbh!-Wd8K=d)NsA-DdprsCY1RSQgFg;aPSn7(alfmSC^2@#L~v2F73 zVJD0Rf0@NY`qZ{kHVRGYl&7NN@_?qi-kE4E-by97%Dd>}LK7y-3^wntC>L=@gy^Ym z7BZK7pH6u}w#+2YV?K~lS&pbXBO8*;i|){fbVbpPl0PL%R@wK6csS{OXWry|>Ck50 z;zyfgcP&}Q(8OiE6Th+T&WWzPrR>3ly?Jb!k+}e-qSBqXVv;I=!DKGmI3z${gFQ;Q zifw|JaJ*6Rmb(pi7zg_U5HQ4U>@H*J1Ao@00*WHf_!jcWYGz1!;D-Mrs#C)x_FXg? z^2U4RuW94mhz?;RlQV>H9=R zydU|%-_Ib?1lvn_e^=Q|0+SCHrCSxR##1x}BSI&p^pFG9Fb+ql3B$)`Mc)^zsBy7W z(Tb-U;QWK59?m4&X*v#{TcJ?u=*}JWZ7oCITxNFa>}K0?8KSTD198hkx`dAHmQWR; z&7TbQI9Lb|)|@e7FWEA-`R=y_DPLBbh#N*(l$h?B(}mx?&76P4t-Jz=5I--1hZy?| zK`Z>m{I+#FP+Ft#*>CqvAyh`r**`vVB<^92HakKoFg(o^uJhx~jWpF6v;|;X8B=W*y!b zVHh^xoaK=T33i0(&Iw1tbpPdIGy5-^xBaa|R3Wcv0s|CwMpj0%gdJ}#S}vlNvOA9O zNBj}wNMfwW`7N0l6oJ(PZs0@Jlx6-TEas~foB+oJKb64C5B9UAeoU{trCKZ=KLk*; zaa3G7i9b0Fwiv~RQ0_=q{~G+{e{4DHYDl~5vD)e6V7NV6JP$`TEgQJe4sO35jTN-H zvy~WK?$c7aTHEJ*+(muC5I`a11EGZAwra{K&ZzT5+x&V)D;+qxZyIVm*n1+5UOCYJ z$@62r7_D(cJ~zHSxmv*UAdGG5DWXK@lz9;GFjUu%tUh?42t`x!{iQBn5ok5<)6ne= zqr?7NCNW6jb~UurNRAeXS!QjN#o)lg5ulRWKoo`mTWJZTR?wa*L?EAx4Z|^$VpT~LY7@5M zZIm!+MBH7lZVhR8Hzimm`x%fOxU!3+$w8I*5#NNs9a{l7DR9Qq0c=vXm2BLZtbGpN zZs~*AeNb3{IU%BWOsN1XqA-1xXGA=d;oZHMJ(>?*0`Gw5epqXyGI~%+q-2=tvKHuX zt{D+*ZJuY+bag(gChxx_ok^Q!DXMtANIzvvKz#$7+YiY?f(TIbtU7@z*HC7+tZ$>q zat98rBaX@()q=%=TSK1*NQ1_f*U2W1*21I4c10ijnP9J=QSN7@b~!(1_etECt=JM) z{K|Ifa#H_hCabN5x(%7f{9u=Fb(Ydhzr5fkKqleOuRN=J9#&rOpIc&>d9ywJJnzlA zX)i}b+xmf%X@H>eDYt)ISRVd271T>pOQ9 zIjs~uZDHv=COyl@925|bj<<%A+<`5@0t$Zcw~9`NPFoS1vicw?Jt!qc-v2T1RI<%; z3lV5%v?=(_RGj5Sh*dd2A_$Tw4F0V@IWU<-NXh8~E=-t0jvC+JoYwFrX8ajJQg>jI zZSJYCA?kXGDCKhhO4h=Qiqdl+nP&$VjQ5UK8(O3g|PNqVr>p!1hV(rF%nEn;Q(2>-yt1EFu9<#~@E2v+&K zeH4Vzv~#;eL@)14pZ)}7?sy%|Z^bas4EowTBOpE(l<-?Q$pJ6J<`sJGNRwe?d=gz| zoVF*k+Kj}(`Ul;4QR3Bz`mr7&ei5E ziiZ_9U-F`7zDz;u+Y3!vFUZlCh-O_D0iCxa01jk#k2jv`?aP0$S5E~Qgpn_%)9&_o z4uiHp$X5%}hJj2;7oIbdrkI;HWq8Tf6X_g`bV{4+u15*8$7q)@#@kZl*~*Q8XGf5g z`^#r?kR&mPmpTOMc@Qu2r}RP&J%ece(UnH9Bzgza0m>@AUG+?dSHtXmLqhv&u>_Ee zFJ6*8R~JRkm4wJB$@uy%cN7Ex%k?;aJ6#W4V`!?NZ0IuHdbyw9kSsaFfKYQwPRaod3`ch8q2<*H>j>z5qjUMISM30u-wk|<+Yv)I5;(w3p z>^9|uH@7?(u_zLIj@tlhfmn7{Z3rA^t4i3?7Hl2@Vov{Zy7Bi}F#(xm;NMffa);?O z{MM0lM_rNbfy998P@z?>{yXY{e0Ml*Xq|$gpa7~BUDkZR!X6*0XmzU=`Z9!+;RmHT1vI3o_c~2)A1u939(xSiSneW1pBKL#5TT`Y()x z;=cE5k@lK-o2~8bn;>{!8Ip)~4u7=0-26$Qr)GSb2inHXe*rx|nLg#eOY#o8xjY^C zM+QiN18U7ETsaMVKql6SlmPpp0wPrsxy=Y3w6B7y1i^bEvsN$2?HPIeA9y;y2I_)k z2>rIA{?=_M$ZOZ?d|HGiZDV) zJ@GOicjtG2+Y%{|?QpEd+f6bR9uynz}GpLrd(g!`1&9@4IIv5mrkj1Q^{Ne@%394nS5~S zgJS=Vu@d%kC~d=T&TKueanOGn1ZPSqX0J-;VzAG>GFgXWOYxAxkpWuf41g!e#``Uh zlKTO0E!l7>2H9# z2;dTPZGDEH`wOr*s=H`!j(ZFM>RuE8>41BfCH;$$YmkoLfKIF`b3-JjOoQO2DaaPd z$PEwIx#WpNjNaHQ7$!KUl?5%FK#RiD+8n-r^4kNfonXoMdw7vY^9s*wtjBi#NzCYS)m_&oVau(1YZiej?C=8sgCjCQhXL}V; zI$RsUHHoS$Uki|I^}gFruAb~u$Um^RAE7_SUH&J-p3pwMwRZ`m1PYr8dlFc#dAmU^ zM`|B~ark-R5Lz}wCr{;LfFoM0udnhYuflaxoANAfCr7)10?&-*%3oRi0Mx0oC`oj( z+@b&czW65+W|>CODe=&L&0XkDdJ1D1p>~RIJ~GI6kXoCR0=eO5F%JtzI788-R$F|n zg4~!#289$VQ%JzLZ@=Sh8{73HIy&&t5@L-%drY^I6|V3O8wf#aWQ4}{mMh@g=>7j$ zEDnT$Zp^-0fl?}1ltwM_mIcxl@7!RVhlLk4QPKp_a5o44#1k6wf+t zJaf(krsN;Lr(>)gk4pRQI(PnV?mIyI4#2*R3eqW$r@_2$EP^IA(RXIWfpd$;~k+^G369AWAq2D8^7uNyET{dZ+Pq1BZO`n|D9^D{7 zYr&x0^5AKl)HyYe(YM+Vuv=gb0KrhRSgGsj5B4GVNs%qkYtO@q%})xk2k^w8O;&h8 zxABUa;e^>2-iZPJZ_SywfpiI& zOcTXYg0-X2mUXf1l@VNdX3pYMJC!ns3XL4EwFX!EyT1j((0(kp9TO2quph&cN-zj{ zOcIP}_BZf{Vy?q1kHLI~;Njhpy`S^0iXhJ7sgK6U59NAzIcESHS(cnwG!{g$7#9SJ zl5|Jy#$a2zfl8-&C~iXpM0X-gf}xamk1%KA0xokbIE3&wG$kr*{e{C#eoIX4i)h7y zttvRaG!VKHn_7=W!mz#Gfoe zq0&t>YtQY36uHz{c80Vh*-Mk!On#Ddoq1-y`sqmMDLo5hNUzBV=;+9hJbMz_euHpq zo#9#>%x}4JJB@w`F{giDWw>H3b#N>jPdGc%^iLeY2|Coq8kd|xSr&xC><9XfP=Kq_ zwQ5=^5^1d7Sse=jv0!B3VlAKM#TK^z`3n}%|p5EIr`JZcOQC4pw=m$rzK{Xb*GtGfAR&N*BZn=mC7e1 zJ$ho#@w`2tp!zGsz)X`Cuxz3D8hM#53&Ccb*5#EKTrFaPGlZ-1nSYDJpJUIpAy|aF z%4%Q3&o?H&YGpv%$Lq+;1CO88UJQlahVTVIDDw778!BfuUM^?!yyn5!@YQNmBp8-! zB0gmzIWnd87}Xyb3~!tRFihs5=yTjVjU2AEhnYa#>+h6e12j49+9$r>(YR~~b|c#7 zoepj=Us~pz0hoK32OJ&wQj#k`Eo}8dTmd_yqw{Jov7kg)jycuXE);w4LO1M5p1Xkh z8Wj;{;^pFlso)S4XE`Sc2G2?~6v_18lj8h4L>PDAER$;;;x3>In0>eVCivnBjfupj zG|->TZy_d$nC)($8>1$`Hd4&@-wK5I&@mp~1nf+4YSNN>)kpEeww8w-S8cl;AD$zh zuvlq7Qa21&ak@bCzuF&-`j+6AS1rOLB?IvVnyZ2kM}uni1xx{j zYPjq>nKvH*d;;-als6Z~+}vh>{+42z;Ptq=S3H2r z44nF-Hdx!^rtn;PScE)bHD`P_B^x-6^16?vhGwQmH~&+8Y5n}>1%VLL&s!bz$#OVV z{sE{ABpQrc@=AIFa$D0y>6L|0&N5*pZq%`5W8Wy9>A8aa=N@JQKE8p{>hs8_nMx7x zSW2{d_%--`3a*(AO6hYbz0PZ%=T7V>#Wgd`LP!|1_0LJI4wWes%YL9wY;`|eS6E(7 z1d}}QB>u`KskcXl-GIHNv?so4@{gIlzEXwJ!nDW_*WFHa-*6Yu2h7aKsP#j{%((-I zK5QP_3Xx+TuEIX#wnRByK{wI4h-9{dVWifTU%+HeZG}w15^GV6xNYd25gOz*rDODA z${(LvL`qSYkCNn_&|{yH$&{=M_>RWNHZ5Cx+=ef}Fhv!&38RZsZx(O(yanVZEkc$}tfF?7G5-Ua})i3E}z%!5_QvI*hhoxajn(Kf% zoeN<7{{;#ZS1r}< z%Y8(c9jF_4j}W`QY?Puj|Cnhsc?lSALjeua&fD*YxRK@GX@MLKFV5wbJF-euPJ|fY z7lm`N`}-;~j^nXTdr)j&w|$C|K^sNG43~MkiBk}wKV}0)Vfnn3>}tcD2l!m75A(?1 zo@R_?>|)B2&;{(Yd87kY%iaEawZpo6#^UaLCE%c7-LJ8`bNt~n3QicdSs0f8u9Fm} z6Y<~;7(@#)H>nKTKFmgUbQPE&NRaV9U?C?k1^FB#e@h6C;>4YH)Lt>OdLRIT;J)>4 z>M~#F@OHXPtP?i?nz*b(YXdW$#jr+l3KvD`{5kg}ItkJl7BmUYU3nW>n=>YSKo>|LWJlYi z`0NC1)bak++~n0X+xB1>c2ojs3GhaC9;8{8UgPx#Cf*rSZW$tW_t@`$1Nq%Ws*te( z9L!0MPAy=>d$MGMYOTIuGz0uj=XEO=JHl-`nPduB(akY9V9OI|S>O5~>g@FcW~{3;ufh+n)+fZ%7zPCn19kpB>bD5o@8>^>Y|jK)!Bu7k6SjWUIzVu! z5!R1^tH%{T z6Yw0;0!3sNqVmhNX@D^a2@M`!qLK(j4UUp^9iS_>&tMy8afVSEMql@Xp6$e&;9G&N zC+QWzsQ2;J1B`&t*qFuzPmBtsFQ>665U0SMAcuZ)Q9rVh~~mpSj5zu^LISCpqH&puY!l|7DyU{Sy!PebUvApF{u{M=qY z60E(O%E}`rPfz>V4nP?2c)ep%kicwca{sUIZNZoOHYfr&fr8+|?L|CX<=_`ZdrSro zNaC}3_NTq|NwHto$lTJf_In4=z28C=gb5jYf`#l-bF`CRioD^JUA6y*jeBx_xLM}c z^g&)=*B^ZKX!;7|3Wm3+S8tRyh-(8`mRa1hD#?_0>LnU?b(cZT5dymK+nbI)>Y!<`DWSidZ{Z=9%?l-IZ7g9oq3Uiz(>rhr3U$$RGpE{;#ImM0(77N0{5@CU3(bF zi&mO{c?fvC@~5`!<@Hdcy>ccyORD>B?_ESc4B)6~55H?^*RG~;3_F?j=}>|<}@AEFQH$@GqsBP)nw zwdcHwANa@xed+SFd)D>7>D!sF$=P3Drm$1kfdNDQt-OART4$iXn|O7Ki;cavdThEz z_Udq2(Cz###K%uC=+9?oSN#+d(ki-v=Z0Tz_A_lgcAK@?Xcdmuq?(r(2hTesY=sxB6o`vQV{mqUoLBvAoqCHt$LR!H0RqVC{b* zCKx)&X_~aHtith^KS?_$_;ZQ{&zwK@AAD>XoY<`l*qCUzXkvxz(4zsp z4xk9plFPvdkYjp%Cf~#zim=J>(8nq5wcpB{ORVxBbaN*aRq9eBU(#CNkQYmEYuT-= z>i?eMaYpXcFY5VmuSM+VW8XSy$Pu|&PEPQdpTm>j`0j33IO9=utQ$``es zBa`-PoX=LeIjq>wZuZ*1Jxo&YIVbbnA*;K6Jm&xBK*mb3F-WV(?`QhgNCpvD?l<0RKOSI^oFAf{aa{zkXi zGYWyKpb7~#uNbOQz@2R*!i<<-#PjI$lO?z)x=Y0Pk@_NXkoKh!L`46I&2h7*O=VrB z-ot=ERh~!>mxntt<)j|yNPyjd>!V+S^_pLo^}xe1aN9k9kqQjBQ*1hHdh8H#p`{!! zg{(Y&bGvLJ)1#;7V9?jJ&)E|F7{xpQ#>FhR5WMqc@oenDfdnE9#%7PvkQ>ub6zsPeqjB%mTx zA-S{5Nk-+*JoeQ^^0y(Kc+$&6tGm%A{U6RFk>&okKgqpx>tJ+1YuerwrAov+P-K7p zx>jYm_@SCd3?W-3G9zv4eP#of?_u)HiRXIbQnf*mP9O$^0g$KVI6-1hZR>; zm)L8D9n*5@_f5?f*MG#e#o3>N@q6?{#f6Gk{KgWTsAq;5Vd-ScH)s*cx zbwDJ!KX+Vxzku&m-Tm><3|l6i0X`(n(%2Wz!`e_?#qV|7^hW{6Py)!&1m7;a9HOG@kdpE^2xRccl*iSLuXjn-OS?qwjJv!32P zCKV#!v$S85GisG!<9x|b#-T+!CWL2ksu6>d;9^>^#|japuihjFVz_H(ZwTI$_RDv= zkn%k{>c%=+&5nmrB+B}ZX@fCHH+nb0ZOUz^5UcUd+1`&<@71}8nada07MG!~5!69Z za$SS@wu~*r4>a9|+DeVB9Xok%so0cDnoJ!8Mw;+nnnh%OcNkJF^1eD9EOts;kAkKP zf9O5aA~jlLQ*&5VW^`V_unt} zHu`c!ne%g)bRPU>&)m!lj?@`1HV5I3K_S9VClCuOF~h~terW-JAs%3M&#GK-xwd4Mz4S3 zc^ex%@Pk(2K6a!uQOl_7?};40Vf%-THzX!)%G)Jdo;o*>RZq3LKM^j8`~J=TRhHmX zEfr*5(l)-#_wb{;$!OuM3DfjrufP8lmGh8b-Ea+!^X1Egcm|vd+t$IH2(_xgme_wv z#f=wVOxUDpy-m1}vxkEJRCl^~pE+?PtDlv8{3x(dq@iXS6rY$lEl|Vtof9twLX`$$ z5YLJg`bI`Zy4HGk>8A-VcnWl`hQmeC(L)7_w#CzjCtH!{{6rWs9Um%HlE=j_I{A86 z-kM6V?!{k9jZ&1So~US22=p=X)eT&BAb)bdg)pMh!G2Jzk|vg_M550gl+MtK`q^zpGCmth6ckRSM9r|E z7x~OEs@M5LYJ=*3UrHz!c~r<5IH;5mLG!gUE#0M;6XYQ47c?$DRA^$VjwJNGeC3C{ zwZD|^aZtYWQXEd9ciF4G+?byUmb40MM?hJQaB6@8)ue)Pi4#XnSS~SE@UKtY_RY$_ z`;)=ek(kOh7dV7|iZJosn!HO`U(~eEpBc#uQc2=)?ePdD-deuK%ILXR){B8KtYKNI zRLw26+gk?tSA*8SZ6WZh7x%Ep;C26i8~^Vse3eusYff^o2OBT0Z)>RND3>c*h5ip) C{r%7Y diff --git a/src/Hear.m b/src/Hear.m index 40f1177..590ffe9 100644 --- a/src/Hear.m +++ b/src/Hear.m @@ -44,6 +44,7 @@ @interface Hear() @property (nonatomic, retain) NSString *language; @property (nonatomic, retain) NSString *inputFile; @property (nonatomic, retain) NSString *inputFormat; +//@property (nonatomic, retain) NSString *tempFile; @property (nonatomic) BOOL useMic; @property (nonatomic) BOOL useOnDeviceRecognition; @property (nonatomic) BOOL singleLineMode; @@ -147,8 +148,9 @@ - (void)processFile { NSString *filePath = self.inputFile; if ([filePath isEqualToString:@"-"]) { - // TODO: Read from stdin and save to temp dir - // filePath = tmpPath + // TODO: Read from stdin and save to temp dir/feed to audio buffer processing? + NSPrintErr(@"Reading from standard input remains unimplemented"); + exit(EXIT_FAILURE); } else if ([[NSFileManager defaultManager] fileExistsAtPath:filePath] == NO) { NSPrintErr(@"No file at path %@", filePath); exit(EXIT_FAILURE);