Wolfram Research

Function Repository Resource:

WolfieSay

Source Notebook

Have Wolfie say an expression

Contributed by: Richard Hennigan (Wolfram Research)

ResourceFunction["WolfieSay"][thing]

asks a cool wolf to say thing.

ResourceFunction["WolfieSay"][thing,pos]

positions the wolf according to the position specified by pos.

Details and Options

ResourceFunction["WolfieSay"] is a variation of the world-famous resource function ResourceFunction["BirdSay"].

Examples

Basic Examples

Have a wolf say your output:

In[1]:=
ResourceFunction["WolfieSay"][Plot[Sin[x], {x, -5, 5}]]
Out[1]=

Position the wolf on the right:

In[2]:=
ResourceFunction["WolfieSay"][Plot[Sin[x], {x, -5, 5}], Right]
Out[2]=

WolfieSay a cool wolf:

In[3]:=
ResourceFunction["WolfieSay"][
 Labeled[Style[
   ResourceFunction["FromCharacterName"]["WolframLanguageLogo"], 100],
   "This is a pretty cool wolf", Top]]
Out[3]=

WolfieSay an even cooler wolf:

In[4]:=
ResourceFunction["WolfieSay"][Labeled[\!\(\*
GraphicsBox[
{Thickness[0.019230769230769232`], 
{FaceForm[{RGBColor[0.624, 0.584, 0.584], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}}}, CompressedData["
1:eJxTTMoPSmVmYGBgBGJhIGYC4sg2i2tHe3Udem5nMOT/9HI4Jxl4S3qOrsPv
t68PWHZ7O0Rv3P9m3h1dh8gVpmet2XwcxNWCWRcX6Tn4X5wY88/bx+EEu+3s
0HwDhyX39/HNyfZ16AsuUZnub+6ws5ftg9gDTwelnIqqpTEWDlvNfxxKCXJ3
EMvy/dzHbOnQFnV5z+M9rg5FP/lfbo83dYjXPC1w3MjN4evOW11/txo5MM/i
kJ4X5ubQtjz8lJGIoQNQ96qEHDcHS1f3op/xBg5uqqVMsxpcHZbuPSiuZqzv
cEbg+K4drW4Y/NV24dEb5fUdOKXnxWkudnM4CPIAs76Dyy+gBy+6OZx5d/Kw
U6+egyBQeW+fu8MFlxsfvmTpOiwF+afb0wE9fADNlYgf
"]]}, 
{FaceForm[{RGBColor[0.741, 0.702, 0.702], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, CompressedData["
1:eJxTTMoPSmVmYGBgBGIlIGYCYt/PfcElKUIOcwWX7j343dhB4eRT+yX3L+23
vHY018TBwmGHQ9Oj4zMe7hcSsT92p9TB4dUjM6kD0hIOPJNXNgV6Ojpsu8hw
jylTxSFs/uq1N847OtxoLHabEqbusEkvbzGjj6ODUl9pofRbbYfp/yfU/dZy
cUhzycz/sFTPoUQFKHLP1aGJ5Wi/4XIjhw3Mz3s0at0dLu95LCIraepQ9JP/
5XZ/DwfH82lXn/8yc+j6m/r9yUcPh+WmZ639Em0cDkQrOH5c7OmwVfT36Xcf
HR2mgJzD6+kwfQJ/ldlmoLmBnnMbyoD6Qc6/7OYAdu5cN4eN+9/Ms/ni5hDn
fYLdNtvN4dRhp7WZ0zwcai5sjvz60tmBQenvt1IOTwc5sSzfz/scHJZMsmL0
1fF04DgnGXir2trBt4XXf72PpwPXzwXpm7nMHF566P1XDPV0mLl72gT+X4YO
Z9+dPOwE5H+bfndye6uew4YpqR3JQD7Ql+W6inoOjduBAerv6WCyaIv5j0O6
DiBjpV08HTQWdG54mKnroFHXszOb0dOhQldR/kuOtsPC9M2vive6O2xPqr9p
u1PZocpstV34YkeHK8Bg5+SSdfCqbtb3MTNx+BOTe/SfkYBD0DTFvtKLWg6L
QcY/UcTgz1mkvPOPuhYknLgNHDi65JPfVak7KHzJCavN03ZATw8A3+H0MQ==

"]]}, 
{FaceForm[{RGBColor[0.8780000000000001, 0.07100000000000001, 0.], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}, {0, 1, 0}}}, CompressedData["
1:eJxTTMoPSmVmYGBgBGIRIGYCYjW2xqnOr/Uc1t2IL/Nvc3NA5wf0Ts8TEjZ0
WLB67Y34eV4OBndV2BqPGjh86QsuUVnv46C3ae775WUGDnmLGfewnvJzqNg3
X0p/r65DX2mhNO+cAAfFDUUZE2UNHHar83NvvRXgUDpZgiUsztBh0ul6j/2S
gQ4eD6tE1k23dsjK/9B6siLQIUkgwnKLgpND+Bv93erCgQ7TnLtznhe7OWgA
tS9bG+CwbPYRhQ2rPBy2X2S4xyQb4HCl4qWaoYGng9fcBrVDff4OU4DG8231
dIhRcPyY/MTPISrF+r6/qodDkCdQgZa3g819/97pah4OWyK/7ry1yNNBBqRA
3cMhaeE1k/cKHg4+5p2OCW/dHQ5EAw347YrBZwCBCgcHN/ein/yK7g4A2C2B
vw==
"]]}, 
{FaceForm[{RGBColor[0.698, 0.063, 0.], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {
        1, 3, 3}, {1, 3, 3}}}, {{{30.769499999999997`, 54.291000000000004`}, {25.8025, 54.437000000000005`}, {
        21.046499999999998`, 54.12800000000001}, {16.683499999999995`,
         53.577000000000005`}, {16.347499999999997`, 49.553000000000004`}, {15.459499999999997`, 45.04900000000001}, {15.459499999999997`, 45.04900000000001}, {32.9375, 46.259}, {47.854499999999994`, 43.969}, {47.854499999999994`, 43.969}, {48.1585, 46.82300000000001}, {48.265499999999996`, 49.513000000000005`}
        , {44.2445, 51.73500000000001}, {38.2735, 54.071000000000005`}, {30.769499999999997`, 54.291000000000004`}}}]}, 
{FaceForm[{RGBColor[0.902, 0.255, 0.2], Opacity[1.]}], FilledCurveBox[{{{0, 2, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}}}, {{{44.7334, 51.230500000000006`}, {
        46.625400000000006`, 65.42150000000001}, {48.662400000000005`,
         64.5605}, {49.8904, 63.737500000000004`}, {50.3774, 63.11550000000001}, {51.4144, 61.78450000000001}, {48.2914, 54.3295}, {48.3014, 51.27250000000001}, {48.3034, 50.71750000000001}, {48.2894, 50.11950000000001}, {48.2654, 49.51350000000001}, {47.2184, 50.090500000000006`}, {46.0384, 50.67550000000001}, {44.7334, 51.230500000000006`}}}]}, 
{FaceForm[{RGBColor[0.89, 0.165, 0.10200000000000001`], Opacity[1.]}],
        FilledCurveBox[{{{0, 2, 0}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}}}, {{{29.260699999999996`, 54.3022}, {31.231699999999996`, 68.8932}, {27.135699999999996`, 69.1472}, {
        23.148699999999998`, 68.8902}, {20.274699999999996`, 68.4772}, {20.168699999999994`, 53.9512}, {
        23.072699999999998`, 54.2132}, {26.123699999999996`, 54.337199999999996`}, {29.260699999999996`, 54.3022}}}]}, 
{FaceForm[{RGBColor[
       0.729, 0.15700000000000003`, 0.10200000000000001`], Opacity[
       1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}}}, {{{
        29.260699999999996`, 54.3022}, {26.123699999999996`, 54.337199999999996`}, {23.072699999999998`, 54.2132}, {
        20.168699999999994`, 53.9512}, {20.1027, 44.8942}, {
        28.129699999999996`, 45.926199999999994`}}}]}, 
{FaceForm[{RGBColor[0.757, 0.251, 0.2], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1,
         3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1,
         3, 3}, {1, 3, 3}, {0, 1, 0}}}, CompressedData["
1:eJxllGtQVVUUxy9XQHkGyuOKoKCYphhQiAGafwr2XkTIiERIBAQSGCZISGRl
Y45pRBr4wBFvRGpAKiojomRM+IqsFEmHHJNMMVLjKY/ggrTgnOlLe2Z/+O1z
9tpr/dfDLTE9InmcRqMx4h3JW8s7e80Uq1uvCnjddDfdoA9BmH3eC/eNJZb7
Ha/PjgqB+6mhzT1FEs38eadFCG7N++yLf9wI6xfPj6upo/+4q/RC6ALmZbvc
tq5lfta8aV9GFeFOtGP1FVdC3qpWQ3k5wS8laGU6c//s2G1n9ISDl69F/T2N
UP1w+GpOPiGg4McPiHmHzjjKehPh8GDsm+enEjIXscEcwnI2p2Guu1gSfCKN
cO/6ocFYF0IvX78XR8jZ++WMU86E2d4TDjlHEMbH737Rnvmwc8yKAEkoZPfW
TCGEJ9pE+y0kmOVOS2p3IlwN4wNvQtVX73z/BPOu5z9Z1TqDkHj2l7nJk0nR
w4Ewx58d1BFG+LnHzQg1LM8NR0JxBwswIuGRPPl2tKMaf6/E6VmPWVQ5qP4+
kEjl8DvtCSVOnjfdmyW8vuEfmPXnXI9mNkgMeP9ZMdOOEF8TYqk9K7Gl50bT
hkmsc/inhatrJHQcfvNEQhC7ZzgmUcru+jNf4Oup5RLOVpwRG8Kv+zIWmW+T
uBhZV7bfmvDKioDfw9dK7Owzjd9tSUg7nbVdFysVfZiPZabmt0VKrGNzBRak
1EOYRJvnqIOE7O2cECHRqGnWmpkTbq+zq5B+EievjB4QBpbdOVDkIaFn+YfG
E7obWVBXVQ/mg118oFP1MCUksfzHbSRC7xv72Jqq9swk7F5jwU0IK/Pb3ls8
LBQ9jNX8dAmcKdu/BOMIfxnKuxrvCixN2/P2Xi3hyUp9R2mzUOrRiPCy9bxK
fZNARuemHyKN1PcahFJ/GjU/5wWM2PtcztswmwurEWitmNmy8ZFEyB/s0BGB
sf4YlthauHrixjIBEx9b34XMY/VfIhQ9hyRyAxPuNuwRCJzEARgkquqza4sL
BBq4vD0Nqv1cgQSWO29Q/f6hwHqXZ1KCBiQu/cQrSyj69Uu0HCg655oqUPzz
15ev9Uk1X0LRixn8fEikQG0ENxzXWdiCjwMTwgTeSOeAe9T+FQK/NW14SzDP
4XbrhUA42MGHEj5P8wpQ9WQuYLnn+wqMhvdtt/q/l1Dqi/kpbqcYDwEnru7q
Lgl/Nl87S2B0Wvgwt/P1uOkCI5Xvdh/tlPjowdKTU10EXuLyW8I81r86ofR7
h1T6217Vn9lKO3ezg61Q+p95rD+sBbLEjj5T5i0O1y/1WwhlHrRL+HL4luZC
qW/m+lAWYIKAa1J7zHPM07kd8k2EMi/aVb21aj7bJOQJHjgagSOc7s+ZU17n
9ShYmSdt6nuG//N373PCWoIVva0E/gWAoEKY
"]]}, 
{FaceForm[{RGBColor[0.8780000000000001, 0.07100000000000001, 0.], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, CompressedData["
1:eJxTTMoPSmVmYGBgBGIxIGYCYq7riwtsdxk4JIYEqS8QdHfYN19K/26LuoPT
+bSrz5PcHZbOPqKwYZKGQ7D6gs4Nlp4OPEza7WI/lR0e7OObY/zLw+HD8mPe
5iflHEwWbTH/scvDoTvn+e+VgcoOa7tvZzCEuztk7SmZLLFE3UH+S05Y7TQ3
B/NOx4SnH7QdTj21X3L/mqtD84FTC13VjBw4pefFaQa7OhRlTHxb42/mMIsD
KLDR1eFEGdBF9VYOO3vZPogJuDnskGt9HTjBwcGrulnfZ527wzWg87nqXR3e
vT5gqfzI1aHG3jRu10RPh8gVpmet01wc9O+qsDXqejgc7Tcs113p4vB75cdL
vl6eDs+A1u8rc3XIFwK6INPLoZQJaKObm0PC0wtKty+6OZyz9rs48YiHwzRn
oI+KnR14C9d03y7wgLh/gT3EP2IeDkkCEZZbLEwcQoHB13nDzQE9PAF5P5e9

"]]}, 
{FaceForm[{RGBColor[0.624, 0.584, 0.584], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, CompressedData["
1:eJxTTMoPSmVmYGBgBGJJIGYC4rbXgTvkQp0c2D+IeQRMcXdYPvuIwoZNTg6J
IUHqCzZ6OPDrbpr7Xt3ZQWNB54aHHz0dDO6qsDUudXaYH6d5WuC9l8PSAluu
68wuDsKfHM+nrfV28OZh0m5Pc3E4I3B81w5XHwfBCMstJ465OEgVXxf61Onj
IKMPNOCiq8Mz+yX397n5Otw69z348Vc3B/45xou28Hs78AK1i2W6O5yz9rs4
McTD4dCpha7bJrtD7A90d9g/X0r/7hZ3h+T6m7aVB1wdHlWJrHNPdHeIXGF6
1hpoz6dLvkkCGu4Ov9++PmAp7eKg0y5281y7G8R/LFC+uZvDf+dfb1//cIbw
n7s6fJ9+d3L7W2cHB9O4XZ5vXBz+SgAdLOXikDnxbY39VReHwD9AgV0uDpOA
XNN9Lg6HU1YlhES5Orh05zz/fdPZQa2UaRbHZVeH3Z7AAEh3dvh5CKjgjKvD
A//e6XlJTg4GPsu43Pa6OnQArfvO7OSQyZDfyDLXzQE9/AGOIK9R
"]]}, 
{Thickness[0.019230769230769232`], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, {{{25.3696, 37.517599999999995`}, {25.150599999999997`, 35.55459999999999}, {26.818599999999996`, 36.0196}, {
        28.787599999999998`, 35.8026}, {30.7566, 35.5836}, {32.2826, 34.76559999999999}, {32.5006, 36.727599999999995`}, {
        32.718599999999995`, 38.690599999999996`}, {
        31.299599999999998`, 40.4586}, {29.330599999999997`, 40.67659999999999}, {27.362599999999997`, 40.8946}, {25.5886, 39.4796}, {25.3696, 37.517599999999995`}}}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, {{{10.855500000000003`, 37.2114}, {11.124500000000003`, 35.4644}, {12.457500000000003`, 36.2534}, {
        14.209500000000002`, 36.5214}, {15.962500000000002`, 36.7894}, {17.471500000000002`, 36.435399999999994`}, {
        17.2025, 38.1814}, {16.933500000000002`, 39.928399999999996`}, {15.294500000000003`, 41.1284}, {
        13.542500000000004`, 40.8594}, {11.789500000000002`, 40.5914}, {10.586500000000003`, 38.9584}, {
        10.855500000000003`, 37.2114}}}], FilledCurveBox[{{{0, 2, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1,
         3, 3}, {1, 3, 3}, {1, 3, 3}, {0, 1, 0}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, CompressedData["
1:eJxdVG1QVVUUBZ6BAZEQECNQIVS+Bzzufefed+57SCwGFREqdOJDIULCIgcF
wSEkQi0UskgdQMYgLAIBIQQUyYaQMSVSBAIl8AtMEo0+iAo0RDp3Lr/6cX7c
ufusvfZaax+3+OS1G1UmJiam7ASzY8bOeFqzw8wFNfJ2r+9v7afwNX0x57Ee
NWZ+G283sO9g7Zzb7JQG66rFi75lFLym5oneBV5wcP3+Z/9tFLHXVqoyrLwx
XXy9IDecIvH4LwxRi6z3fUKPGCmuOmdt0Dn4IDOKAXhS7JgxpnQv5HD/TMLR
OA+KRXdbjqkseBxsst5a58z6p3Tn9T3ksTni3fqTOoqHG6dHN5gSfHQ10SR5
DUV79DMBf6oELP+XEXyLojryvO6srYj9/NvebvsoftIvZiV6qD5Z6FzWTeFX
En641pvNEfbAKc1CQv3ga+kvx0qYdUr70W6JBJdxdiPOoMxTKCGr9/i6f7Yb
YJq8a8G5wxI8iuf2Z5cYFLx6Sen/rQG/thvcV9dKIGcbtVtuGRT9CiTI3QNs
jZgLZARTJFgmLknKWGzEUwy+wkfCrufO7KmaNij9zSQsk+eNNeBUvvmEo0TB
qjMruySM2jNC+/SwaeMOaSQJWren/07qEHFjxKqgppyicrjNplQl4gGTM29S
j51DftujJAGHNE5Flx7V484mz6niiwRbvjBtfaRPxLKXfjgQU0/AywWFIhpv
3i1qKiWQ5fkySsTAGLuQS2BuZ+/f4SJCKD9B76USHH1vTfCnIwI6v/4q3zyO
4MNZZsjnAla/wwyOIMitYgYkCGiJ3zHkF0zgIzd8VoDRnVX4EyR0vRrSOUaU
fIgEK4JS7z9eM+8nTyDLEbmJ4DyTZ1hL0JPXd2PEkyDdjAnOvsU/pBVBOt18
fghiQzot/Hx57G1gA8QTNGlZwxgOg3aTAT0DBPLvknAOSz/7oOHmEIHJgewZ
Yxin8Bkmir6hHN68zAa+TRQ/Azn8FdDzxuVpgsxKr0CXEA6FucxQawH+Hdea
cxj+lMzfQZjPC4eyWPWFRU8KqGDy2l3iUBv3ytrnwwRFnwAeFhOOq8KSBMQw
+Nfr+Pl8CAqfBh5c6BHLlUUCrjfnsMjxip4HBSUfLTwmZT7FAiYkWTEOV5i9
1ZUC5HieMnLo9mWGdgnIsPJYmm3to9x3FKEL5zQ1/d6w/Y4ZFiFizLXqzqp6
L0SydYo/JsK+d/ngxAlPvMDgRFc90kdKbSu/0SC6v/WWfb5+ft/Vyv7ZUaV+
mxqnbUpJeQXF+j3SwLnNakWfOgr/yOjG00lq5LB1tzxJMbx178ejqWrcZna2
tVEYWLWwUw3pHlv4Xoog9lp4VKvxO3te3K9Q/P/9+Q9hrfNI
"]], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}, {
        1, 3, 3}, {1, 3, 3}}}, CompressedData["
1:eJxTTMoPSmVmYGBgBGJhIGYCYnVDjjUyUV/tj3mbdzoaODhEWG45Ubbvlz3X
9cUFtl0ODiDe/FkcDhPf1tibznNw+LPy4yVfJUEH1sapzt1rHBzctn3+e8VC
zOHc9+DHS3c7OHjyMGm3X5N2mPt++THv6Q4O6WlAsEzWIXCHXOvrRAcHEDet
TcGBHWhrym97B3vTuF2eOooODUDjctTtHYozgDbVy0PMu23rMA9kTrmcw6IC
W67rybYOouvcH1aFSDo8qBJZ577QxgHEFXkn5PAG6Ly4WTYOeULNB04pcjoY
GQPBZBuHLseEpxeU/tnPk9K/q/LMxmEBiGb7ZW8B9pitQ+VLNWAIfLTXahe7
eU7c3qFksgRLGN9reweQtmh7B/TwAQAbFYKU
"]]}, 
{FaceForm[{RGBColor[0.8780000000000001, 0.07100000000000001, 0.], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}, {
        0, 1, 0}, {1, 3, 3}, {0, 1, 0}, {0, 1, 0}, {1, 3, 3}}}, {{{
        26.0376, 7.0869}, {25.9856, 8.3969}, {24.6936, 9.2959}, {
        23.442600000000002`, 8.8919}, {18.9296, 7.4338999999999995`}, {14.416600000000003`, 8.8919}, {13.1656,
         9.2959}, {11.873600000000001`, 8.3969}, {11.822600000000001`,
         7.0869}, {11.6636, 3.0529}, {11.613600000000002`, 1.7558999999999996`}, {12.808600000000002`, 0.762900000000001}, {14.079600000000001`, 1.0449000000000002`}, {18.9296, 2.1229000000000005`}, {
        23.7806, 1.0449000000000002`}, {25.0516, 0.762900000000001}, {
        26.2466, 1.7558999999999996`}, {26.195600000000002`, 3.0529}}}]}, 
{FaceForm[{RGBColor[1., 1., 1.], Opacity[1.]}], FilledCurveBox[{{{1, 4, 3}, {1, 3, 3}, {1, 3, 3}, {1, 3, 3}}}, {{{15.691899999999999`, 5.0653999999999995`}, {
        15.691899999999999`, 6.8473999999999995`}, {17.1419, 8.2924}, {18.9299, 8.2924}, {20.7179, 8.2924}, {22.1679, 6.8473999999999995`}, {22.1679, 5.0653999999999995`}, {
        22.1679, 3.2833999999999994`}, {20.7179, 1.8373999999999993`}, {18.9299, 1.8373999999999993`}, {
        17.1419, 1.8373999999999993`}, {15.691899999999999`, 3.2833999999999994`}, {15.691899999999999`, 5.0653999999999995`}}}]}, 
{FaceForm[{RGBColor[0.8780000000000001, 0.07100000000000001, 0.], Opacity[1.]}], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {
         0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{
         20.580599999999997`, 5.2598}, {20.073599999999995`, 5.4468000000000005`}, {20.376599999999996`, 5.8758}, {
         21.009599999999995`, 5.7388}}, {{20.504599999999996`, 4.7428}, {20.297599999999996`, 5.0118}, {20.5326, 4.9238}, {
         20.777599999999996`, 4.6508}}, {{20.312599999999996`, 4.239800000000001}, {20.043599999999998`, 4.3248}, {
         20.399599999999996`, 4.4298}, {20.705599999999997`, 4.3248}}, {{19.6226, 3.5608000000000004`}, {
         19.636599999999998`, 4.1068}, {20.150599999999997`, 3.9448000000000003`}, {20.214599999999997`, 3.3018}}, {{
         19.198599999999995`, 4.9858}, {19.754599999999996`, 5.1728000000000005`}, {20.123599999999996`, 4.6938}, {
         19.540599999999998`, 4.5228}}, {{19.290599999999998`, 3.5008000000000004`}, {19.097599999999996`, 3.1698000000000004`}, {19.097599999999996`, 3.4858000000000002`}, {19.297599999999996`, 3.7768000000000006`}}, {{18.929599999999997`, 3.8288}, {
         18.586599999999997`, 4.3268}, {18.929599999999997`, 4.7908}, {19.272599999999997`, 4.3268}}, {{
         18.761599999999998`, 3.1688000000000005`}, {18.5676, 3.5008000000000004`}, {18.560599999999997`, 3.7778}, {
         18.761599999999998`, 3.4858000000000002`}}, {{
         18.318599999999996`, 4.5228}, {17.735599999999998`, 4.6938}, {18.104599999999998`, 5.1728000000000005`}, {
         18.661599999999996`, 4.9858}}, {{17.644599999999997`, 3.3028000000000004`}, {17.708599999999997`, 3.9448000000000003`}, {18.222599999999996`, 4.1068}, {
         18.235599999999998`, 3.5608000000000004`}}, {{17.1546, 4.3258}, {17.4596, 4.4298}, {17.815599999999996`, 4.3248}, {
         17.546599999999998`, 4.239800000000001}}, {{
         17.326599999999996`, 4.9248}, {17.5616, 5.0118}, {
         17.354599999999998`, 4.7438}, {17.081599999999998`, 4.6508}}, {{16.850599999999996`, 5.7388}, {
         17.482599999999998`, 5.8758}, {17.785599999999995`, 5.4468000000000005`}, {17.278599999999997`, 5.2598}}, {{
         17.854599999999998`, 6.2738000000000005`}, {
         17.864599999999996`, 5.909800000000001}, {17.7156, 6.1208}, {
         17.676599999999997`, 6.5138}}, {{18.299599999999998`, 6.5418}, {18.447599999999998`, 6.353800000000001}, {18.1226, 6.4688}, {17.956599999999998`, 6.6928}}, {{
         18.761599999999998`, 5.8908000000000005`}, {
         18.761599999999998`, 5.2998}, {18.206599999999998`, 5.486800000000001}, {18.1896, 6.0938}}, {{
         18.929599999999997`, 7.2438}, {19.254599999999996`, 6.6898}, {18.929599999999997`, 6.2758}, {18.604599999999998`,
          6.6898}}, {{19.668599999999998`, 6.0938}, {
         19.652599999999996`, 5.486800000000001}, {
         19.097599999999996`, 5.2998}, {19.097599999999996`, 5.8908000000000005`}}, {{19.559599999999996`, 6.5418}, {
         19.902599999999996`, 6.691800000000001}, {
         19.737599999999997`, 6.4688}, {19.412599999999998`, 6.353800000000001}}, {{20.004599999999996`, 6.2738000000000005`}, {20.1836, 6.5138}, {
         20.143599999999996`, 6.119800000000001}, {19.9946, 5.9088}}, CompressedData["
1:eJxTTMoPSmViYGAQAWIQbb/k/j6+GhOHpX4OwomHJRy43FRLmWaZOMhZpLtk
5ss6NOv7LONqM3Zgj5/hI9oj7TAx5p/zr7dGDjWfNgRkz5J3mN+54eHLUCO4
PNC0OcZOhnD9j0VkTz6NN3Q4UCtrkX5EwgGo+fUBSwMoXxyinskQYr+ziEPN
um1J9UD5Lvnkd1GHBOD6ReyP3dnawu8gUXxd6JOjoYNyTkXVUh02uP3SB6IV
HD9ywt03J3T+6rU3GOHuh8nD/AfTD/M/zPylIAWLTB0KPrSeDDkoAFF/ywTu
Ppg8JLzEHQDH+X3c
"]}]}},
AspectRatio->Automatic,
ImageSize->{47.31510416666656, 63.333333333333336`},
PlotRange->{{0., 52.}, {0., 70.}}]\), "This is an even cooler wolf", Top]]
Out[4]=

Scope

Position at the top left:

In[5]:=
ResourceFunction["WolfieSay"]["top left", {Top, Left}]
Out[5]=

Position at the left top:

In[6]:=
ResourceFunction["WolfieSay"]["left top", {Left, Top}]
Out[6]=

See all valid positions:

In[7]:=
positions = Join[Tuples[#], Tuples[Reverse[#]]] &[{{Left, Right}, {Top, Bottom}}]
Out[7]=
In[8]:=
ResourceFunction["WolfieSay"][Row[#], #] & /@ positions
Out[8]=

Applications

Create a notebook that prints messages in a really cool way:

In[9]:=
wolfBox = Module[{expr},
   With[{b = ToBoxes[ResourceFunction["WolfieSay"][expr]]}, Replace[CurrentValue[{StyleDefinitions, "MessageTemplate", "TemplateBoxOptionsDisplayFunction"}], HoldPattern[e_ &] :> Function @@ {b /. SymbolName[expr] -> e}]]
   ];

nb = CreateDocument[{ExpressionCell[Defer[1/0], "Input"], ExpressionCell[Defer[First[x]], "Input"], ExpressionCell[Defer[ResourceFunction["WolfieSay"]["Neat!"]], "Input"]},
   StyleDefinitions -> Notebook[{Cell[StyleData["MessageTemplate"], "TemplateBoxOptionsDisplayFunction" -> wolfBox]}]];

NotebookEvaluate[nb, InsertResults -> True]
Out[10]=

Properties and Relations

WolfieSay can say a BirdSay:

In[11]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/2d4f6f90-139c-4974-9499-622a95a8def2"]
Out[11]=

Similarly, BirdSay can say a WolfieSay:

In[12]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/9f6335a3-a857-4a75-9102-d280995dc761"]
Out[12]=

The output of WolfieSay is an Interpretation that can be copied and pasted:

In[13]:=
ResourceFunction["WolfieSay"][a + b]
Out[13]=

Copy and paste the output into another expression:

In[14]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/b9e2ba1c-6197-4dd0-b53b-a72c4788944c"]
Out[14]=
In[15]:=
ResourceFunction["WolfieSay"][%]
Out[15]=

Say WolfieSay:

In[16]:=
AudioPlay[SpeechSynthesize["WolfieSay"]]
Out[16]=

WolfieSay what was just said:

In[17]:=
ResourceFunction["WolfieSay"][%]
Out[17]=

Possible Issues

It is very tempting to WolfieSay everything:

In[18]:=
$Post = ResourceFunction["WolfieSay"]
Out[18]=
In[19]:=
1 + 1
Out[19]=
In[20]:=
$Post =.

Neat Examples

WolfieSay a Wolfram:

In[21]:=
ResourceFunction["WolfieSay"][
Entity["Person", "StephenWolfram::j276d"][
EntityProperty["Person", "Image"]]]
Out[21]=

WolfieSay another wolfram:

In[22]:=
ResourceFunction["WolfieSay"][
Entity["Element", "Tungsten"][
EntityProperty["Element", "Image"]]]
Out[22]=

This one is probably a stretch:

In[23]:=
ResourceFunction["WolfieSay"][
 ImageAssemble[
  ConformImages[{Entity["Species", "Species:CanisLupus"][
EntityProperty["Species", "Image"]], Entity[
    "Species", "Species:OvisAries"][
EntityProperty["Species", "Image"]]}]]]
Out[23]=

WolfieSay a WolfieSay that is WolfieSaying a WolfieSay more times than you care to say WolfieSay:

In[24]:=
Nest[Function[
  ResourceFunction["WolfieSay"][
   ImageResize[
    ImageCrop[
     ImageRotate[Rasterize[#1], -Pi/26, Background -> White]], Scaled[3/4]]]], "", 20]
Out[24]=

Animate your WolfieSay:

In[25]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/0fb59bf9-ce74-494e-8975-7ff2dddd236c"]
Out[25]=

Act out a play:

In[26]:=
script = StringTake[ResourceData["Hamlet"], {828, 949}]
Out[26]=
In[27]:=
Grid[List /@ StringCases[
   StringReplace[script, "Bernardo" :> "Birdnardo"], {"Ber.\n" ~~ Shortest[line__] ~~ "\n" :> Item[ResourceFunction["BirdSay"][line], Alignment -> Left], "Fran.\n" ~~ Shortest[line__] ~~ "\n" :> Item[ResourceFunction["WolfieSay"][line, Right], Alignment -> Right]}]]
Out[27]=

Resource History

See Also

License Information