Skip to main content

Wall art, poetry, music and even movies: this is how AI is transforming the creative industry

In a previous article we discussed how Artificial Intelligence is pushing the boundaries of art, and how collaboration between humans and AI is enriching the creative industries. Although the term "AI Art" is often used to refer to wall art made by Artificial Intelligence, the rise of these generative techniques has impacted other artistic domains such as musicpoetry and even film.

Wall Art. After a portrait made by AI was sold at auction at Christies for almost $500k, we have seen many other digital artists exploring this domain. Some of the most relevant pioneers in this field are Cueva Gallery (Ireland), D'Agostino AI (France) and, of course, our own gallery AImade.art (Norway) ;-)

Music. One of the emerging uses of AI nowadays is the generation of music in collaboration with humans. Two useful resources are MuseNet and Magenta, which are tools that allow you to create your own music with different styles.


Poetry. Robot poetry is becoming so good that, according to this experiment by Microsoft and Kyoto University, most people couldn't differentiate it from human poetry. One good example is Poem Portraits, a Google project where you can inspire a robot to create poetry. This is the personalized poem we got:

Your serendipity can throw 
the waters of the sun.
Our ignition stars
discover the wild waves


Movies. 
There are even movies already directed, written and even performed by AI, but don't expect a masterpiece (yet). This one is called Zone Out and it is worth watching (6 min):


Popular posts from this blog

How to disable cookies on Google Analytics so that you don't need a consent banner

The integration of Google Analytics into a website or blog is not GDPR-compliant by default . You must first obtain explicit consent of the end-users to store cookies, describing in your privacy policy how you intend to use collected personal data. This is the reason why most websites nowadays display an annoying (but necessary) consent banner. If you fail to do so or if you only ask for implicit consent, you are at risk of being fined. However, it is possible to disable cookies on Google Analytics (GA) respecting end-users privacy, so that you don't need to ask for consent. The downside is that you will not be able to distinguish the type of user (unique vs new vs returning) and you will miss some session insights. If these details are not relevant for you, here is how you do it. Disable Google Analytics cookies on a custom website If you have a custom website with full access to the source code, you can simply insert the script below between the <head>  and </head>...

How to convert a PWA into an Android app in 5 minutes

In early 2021 I developed a memory game called Kobadoo  as a PWA (Progressive Web App) using ReactJS. It works pretty well as a browser game and gets decent traffic, but I wanted to reach more potential users by making it available on the official mobile app marketplaces. Since I didn't want to spend any time coding a native app, the easiest solution I found was to convert the PWA into a TWA (Trusted Web Activities) app. It barely takes 5 minutes to do it. TWA essentially allows you to easily create an Android app ( .apk file) that displays a full-screen browser view of your PWA. The user experience is almost identical to a web app and the views from the TWA will count as traffic on your web app. This means that if you have ads on your PWA, they will still work (and generate revenue) from the TWA. Another advantage is that every update you make on the PWA will be immediately reflected on the TWA without the need to submit a new version on Google Play. Here's how I convert...

How to jump to time offsets in HTML5 video

Let's say that you have a 30-minute WEBM video file, from which you just want to play the following video segments , jumping from one to the other automatically  without interruptions : [00:01:25.00 - 00:02:25.00] -> from second 85 to 145 [00:11:40.00 - 00:11:55.00] -> from second 700 to 715 [00:20:26.00 - 00:21:07.00] -> from second 1226 to 1267 [00:26:11.00 - 00:28:01.00] -> from second 1571 to 1681 To increase the complexity, let's think that you have these video segments in a PHP variable $arrayVideoSegments  (normally the case if they were retrieved from the database).   $arrayVideoSegments[0]->startTime = 85   $arrayVideoSegments[0]->endTime = 145   $arrayVideoSegments[1]->startTime = 700   $arrayVideoSegments[1]->endTime = 715   $arrayVideoSegments[2]->startTime = 1226   $arrayVideoSegments[2]->endTime = 1267   $arrayVideoSegments[3]->startTime = 1571   $arrayVid...