WOLFRAM

New Technology

Best of Blog

How I Built a Virtual Piano with the Wolfram Language and the Unity Game Engine

You know what’s harder than learning the piano? Learning the piano without a piano, and without any knowledge of music theory. For me, acquiring a real piano was out of the question; I had neither the funds nor space in my small college apartment. So naturally, it looked like I would have to build one myself—digitally, of course. And luckily, I had Mathematica, Unity and a few hours to spare. Because working in Unity is incredibly quick and efficient with the Wolfram Language and UnityLink, I’ve created a playable section of piano, and even learned a bit of music theory in the process.

Announcements & Events

Launching Today: Free Wolfram Engine for Developers

It happens far too often. I’ll be talking to a software developer, and they’ll be saying how great they think our technology is, and how it helped them so much in school, or in doing R&D. But then I’ll ask them, “So, are you using Wolfram Language and its computational intelligence in your production software […]

Announcements & Events

What We’ve Built Is a Computational Language (and That’s Very Important!)

What Kind of a Thing Is the Wolfram Language? I’ve sometimes found it a bit of a struggle to explain what the Wolfram Language really is. Yes, it’s a computer language—a programming language. And it does—in a uniquely productive way, I might add—what standard programming languages do. But that’s only a very small part of […]

Education & Academic

Shattering the Plane with Twelve New Substitution Tilings Using 2, φ, ψ, χ, ρ

Similar Triangle Dissections

Version 12 of the Wolfram Language introduces solvers for geometry problems. The documentation for the new function GeometricScene has a neat example showing the following piece of code, with GeometricAssertion calling for seven similar triangles:

[Wolfram_Notebook_Download]
&#10005 o=Sequence[Opacity[.9],EdgeForm[Black]];plasticDissection=RandomInstance[GeometricScene[{a,b,c,d,e,f,g},{ a=={1,0},e=={0,0},Line[{a,e,d,c}], p0==Polygon[{a,b,c}], p1==Style[Polygon[{b,d,c}],Orange,o], p2==Style[Polygon[{d,f,e}],Yellow,o], p3==Style[Polygon[{b,f,d}],Blue,o], p4==Style[Polygon[{g,f,b}],Green,o], p5==Style[Polygon[{e,g,f}],Magenta,o], p6==Style[Polygon[{a,e,g}],Purple,o], GeometricAssertion[{p0,p1,p2,p3,p4,p5,p6},"Similar"]}],RandomSeeding->28]
Education & Academic

The Data Science of MathOverflow

New Archive Conversion Utility in Version 12

Soon there will be 100,000 questions on MathOverflow.net, a question-and-answer site for professional mathematicians! To celebrate this event, I have been working on a Wolfram Language utility package to convert archives of Stack Exchange network websites into Wolfram Language entity stores.

The archives are hosted on the Internet Archive and are updated every few months. The package, although not yet publicly available, will be released in the coming weeks as part of Version 12 of the Wolfram Language—so keep watching this space for more news about the release!

Announcements & Events

Free-Form Bioprinting with Mathematica and the Wolfram Language

In past blog posts, we’ve talked about the Wolfram Language’s built-in, high-level functionality for 3D printing. Today we’re excited to share an example of how some more general functionality in the language is being used to push the boundaries of this technology. Specifically, we’ll look at how computation enables 3D printing of very intricate sugar structures, which can be used to artificially create physiological channel networks like blood vessels.
Announcements & Events

Launching the Wolfram Neural Net Repository

Today, we are excited to announce the official launch of the Wolfram Neural Net Repository! A huge amount of work has gone into training or converting around 70 neural net models that now live in the repository, and can be accessed programmatically in the Wolfram Language via NetModel:
✕ net = NetModel["ResNet-101 Trained on ImageNet Competition Data"]
✕ net[]
Neural nets have generated a lot of interest recently, and rightly so: they form the basis for state-of-the-art solutions to a dizzying array of problems, from speech recognition to machine translation, from autonomous driving to playing Go. Fortunately, the Wolfram Language now has a state-of-the-art neural net framework (and a growing tutorial collection). This has made possible a whole new set of Wolfram Language functions, such as FindTextualAnswer, ImageIdentify, ImageRestyle and FacialFeatures. And deep learning will no doubt play an important role in our continuing mission to make human knowledge computable.
Announcements & Events

Learning to Listen: Neural Networks Application for Recognizing Speech

Introduction

Recognizing words is one of the simplest tasks a human can do, yet it has proven extremely difficult for machines to achieve similar levels of performance. Things have changed dramatically with the ubiquity of machine learning and neural networks, though: the performance achieved by modern techniques is dramatically higher compared with the results from just a few years ago. In this post, I'm excited to show a reduced but practical and educational version of the speech recognition problem---the assumption is that we’ll consider only a limited set of words. This has two main advantages: first of all, we have easy access to a dataset through the Wolfram Data Repository (the Spoken Digit Commands dataset), and, maybe most importantly, all of the classifiers/networks I’ll present can be trained in a reasonable time on a laptop.

It’s been about two years since the initial introduction of the Audio object into the Wolfram Language, and we are thrilled to see so many interesting applications of it. One of the main additions to Version 11.3 of the Wolfram Language was tight integration of Audio objects into our machine learning and neural net framework, and this will be a cornerstone in all of the examples I’ll be showing today.

Without further ado, let’s squeeze out as much information as possible from the Spoken Digit Commands dataset!

Announcements & Events

Five Ways to Make Your Technical Presentations Awesome

"Tell me and I forget. Teach me and I remember. Involve me and I learn." -- Benjamin Franklin I can count on one hand the best presentations I have ever experienced, the most recent being my university dynamics lecturer bringing out his electric guitar at the end of term to demonstrate sound waves; a pharmaceutical CEO giving an impassioned after-dinner oration about how his love of music influenced his business decisions; and last but not least, my award-winning attempt at explaining quantum entanglement using a marble run and a cardboard box (I won a bottle of wine). It's perhaps equally easy to recall all the worst presentations I've experienced as well---for example, too many PowerPoint presentations crammed full of more bullet points than a shooting target; infinitesimally small text that only Superman's telescopic vision could handle; presenters intent on slowly reading every word that they've squeezed onto a screen and thoroughly missing the point of a presentation: that of succinctly communicating interesting ideas to an audience.