Beta

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Vision and Sound From the Ideally Bare Numeric Impression giZmo

timothy posted more than 2 years ago | from the bizarre-and-fascinating dept.

Graphics 38

jones_supa writes "Ville 'viznut' Heikkilä presents us with an interesting project. 'As demonstrated by the video, IBNIZ (Ideally Bare Numeric Impression giZmo) is a virtual machine and a programming language that generates video and audio from very short strings of code. Technically, it is a two-stack machine somewhat similar to Forth, but with the major exception that the stack is cyclical and also used at an output buffer.' The main goal of IBNIZ is to provide a new platform for the demoscene. Something that would have the potential to displace MS-DOS as the primary platform for sub-256-byte productions."

cancel ×

38 comments

Sorry! There are no comments related to the filter you selected.

But (1)

gottspeed (2060872) | more than 2 years ago | (#38549716)

Will it blast annoying music when you run it?

Re:But (0)

Anonymous Coward | more than 2 years ago | (#38550082)

If you watch the video, you'll find that answer is most definitely YES!

Un messago sponsoro (2, Funny)

Anonymous Coward | more than 2 years ago | (#38550394)

Beneres? Niko fuerto tipomagico - te musica-gizmo. Novello proboscis - molto molto kin agrophos. Vo, tidiaka mit functioni moronico. Te facilos action-pumpo! Zo, nea shopping, nea collo, te "musica-gizmo"!

Very cute. (3, Informative)

Animats (122034) | more than 2 years ago | (#38549804)

That's very cute. That's the most obscure programming language I've ever seen not created as a joke. They can generate mediocre techno with about 20 characters of code.

Re:Very cute. (2)

Ihmhi (1206036) | more than 2 years ago | (#38550848)

They can generate mediocre techno

And in related news, Skrillex will be suing for copyright infringement and trademark dilution. Skrillex was quoted as saying, "I own bad electronic music, dammit! I work hard to make loops in Garageband and press Play on my Macbook!"

Re:Very cute. (1)

R3 (15929) | more than 2 years ago | (#38553838)

They can generate mediocre techno

And in related news, Skrillex will be suing for copyright infringement and trademark dilution. Skrillex was quoted as saying, "I own bad electronic music, dammit! I work hard to make loops in Garageband and press Play on my Macbook!"

I see Skrillex has already been covered, logging out of this thread satisfied. :P

atari 800 (0)

Anonymous Coward | more than 2 years ago | (#38550064)

The result reminded me of antic/pokey demos on the atari

Re:atari 800 (1)

jjoelc (1589361) | more than 2 years ago | (#38554480)

Thank you! I thought the exact same thing! Ahhh.. the good old days of spending hours on end dutifully typing in programs from the pages of Antic! saving the results to cassette... It was what got me into the minimal programming I do today.

and yeah.. get off my lawn, I'm reminiscing here, and you're getting in the way!

Re:atari 800 (0)

Anonymous Coward | more than 2 years ago | (#38560908)

Oh yes, the ANTIC (video) and POKEY (audio) allowed all sorts of fun bit twiddling tricks. The ANTIC was particularly cunning, it had it's own simple CPU (running a "display list") out of system RAM, so it could change video modes, color pallet, fonts, and "framebuffer" location for that line for every line. The POKEY also could do fun stuff.

simple but fairly clever (4, Interesting)

Trepidity (597) | more than 2 years ago | (#38550108)

The simplicity of the code you can write in this language seems to be mostly due to the cyclic nature, which is something other beat-oriented computer-music languages also have: once you have "repeat" as a built-in thing, anything built on regular repetitions is easy to program. But it adapts it in a way that feels more low-level and demo-scene-ish by tying it to a cyclical "stack" in a bastard-son-of-Forth sort of way. Will have to play around with it a bit.

libglitch and making music a with C compiler (4, Interesting)

erlehmann (1045500) | more than 2 years ago | (#38550180)

I wrote something similar to IBNIZ, yet vastly simpler, a composing software called glitched [github.com] (needs pygame 1.9.1). The forth variant I use has no subroutines or recursion and is not even turing complete and the stack has only 256 fields. However, it is compatible with that of several other implementations (see README). Like IBNIZ, it has live editing and stack visualisation [dieweltistgarnichtso.net] .

It is important to note that sound made with this kind of tools is not limited to chiptunes. There is a video of an older version of glitched [dieweltistgarnichtso.net] , doing Karplus-Strong-string synthesis [wikipedia.org] .

(Apologies in advance to the users of a totally unrelated glitch library [rhydd.org] , which is also written in python. I have met one of it's developers last night and we agreed insane troll logic dictates a merger of our two projects to rectify the namespace collision. I may have to bring that up again when he is sober.)

Oops, forgot the C compiler part. (2)

erlehmann (1045500) | more than 2 years ago | (#38550482)

Before IBNIZ, viznut was using a C compiler to, well, discover minimal music. You should read his paper regarding algorithmic composition using small programs. [arxiv.org] und check out my repository of formulas for C programs that generate sound [github.com] .

People without easy access to compilers (I met a gal a few days ago who had old OS X and no 99$ to spare for a dev account) should still check out a track from the repository as wave file [dieweltistgarnichtso.net] to get an impression of the style.

I also wrote a program generating a crude chiptunes version of the IT crowd melody [dieweltistgarnichtso.net] (of course, the melody is not algorithmically generated, but rather encoded in the source, feel free to consider that cheating).

Re:Oops, forgot the C compiler part. (2)

Goaway (82658) | more than 2 years ago | (#38552086)

You don't need a dev account to develop for OS X, just for putting things on the Mac App Store. Xcode is available for download without an account, or you could just install your own gcc.

Re:Oops, forgot the C compiler part. (1)

erlehmann (1045500) | more than 2 years ago | (#38552320)

This page [apple.com] asserts that "Xcode 4 is a free download for all members of the iOS and Mac Developer Programs.", continuing "Sign in to your account to begin the download." and according to Apple [apple.com] , an account costs 99$/year.

Maybe I am missing something big here, for example "free" meaning "free" as in "free beer if you buy a subscription", but I have since suggested installing Debian [debian.org] . Proper package management makes it vastly easier to install and develop software.

Re:Oops, forgot the C compiler part. (1)

Goaway (82658) | more than 2 years ago | (#38552750)

http://itunes.apple.com/us/app/xcode/id448457090?mt=12 [apple.com]

It is free to everyone.

Re:Oops, forgot the C compiler part. (1)

deniable (76198) | more than 2 years ago | (#38552962)

Everyone running OS X 10.7 or higher. "I met a gal a few days ago who had old OS X"

Re:Oops, forgot the C compiler part. (1)

Goaway (82658) | more than 2 years ago | (#38555932)

Well, the older versions are available for download somewhere, just hard to find.

Re:Oops, forgot the C compiler part. (1)

tlhIngan (30335) | more than 2 years ago | (#38554102)

This page asserts that "Xcode 4 is a free download for all members of the iOS and Mac Developer Programs.", continuing "Sign in to your account to begin the download." and according to Apple, an account costs 99$/year.

Maybe I am missing something big here, for example "free" meaning "free" as in "free beer if you buy a subscription", but I have since suggested installing Debian. Proper package management makes it vastly easier to install and develop software.

All versions of OS X came with XCode. If you have Snow Leopard (10.6), it came with XCode 3, which is still a perfectly usable development environment. 10.7 (Lion) comes with Xcode 4.

XCode4 has some nice changes, enough so that Apple pulled the SOX thing as they've claimed revenue for the Mac purchase when you bought it and can't offer significant feature upgrades without restating revenues.

But you're not obliged to use the latest and greatest - you can just as well pop in your OS X CD and double click "Install Developer Tools". They still work. Just install it, and code away. You can even distribute apps outside the Mac App Store (amazing!).

Re:libglitch and making music a with C compiler (0)

Anonymous Coward | more than 2 years ago | (#38551436)

Can u supply a windows version of glitch? All my media progams are on windows and i wouldnt know how to capture the output of this in linux much less run it.

Re:libglitch and making music a with C compiler (1)

erlehmann (1045500) | more than 2 years ago | (#38551628)

The glitter.py script is your friend; it just outputs the audio bitstream. You can pipe that into sox [sourceforge.net] but I wouldnt know how to capture the output of this in Windows *SCNR*.

Working example that outputs 16 seconds of the track "sidekick" (128000 = 8000 * 16): ./glitter.py `cat tracks/sidekick.glitch` | head -c128000 | sox -c 1 -r 8000 -t u8 - sidekick.wav

Re:libglitch and making music a with C compiler (0)

Anonymous Coward | more than 2 years ago | (#38552000)

oh, im more interested in capturing the video, how would i do that?

Re:libglitch and making music a with C compiler (1)

erlehmann (1045500) | more than 2 years ago | (#38552188)

I use RecordMyDesktop [wikipedia.org] .

Re:libglitch and making music a with C compiler (0)

Anonymous Coward | more than 2 years ago | (#38554598)

ffmpeg -f pulse -i "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" -f x11grab -r 30 -s 2560x1600 -i :0 -vcodec libx264 -preset ultrafast -crf 20 -threads 0 -acodec pcm_s16le -ar 44100 desktop-$(date +%y%m%d_%H%M%S).mkv

change values accordingly to your system/setup/preference

The potential to displace fuckall (4, Insightful)

billcopc (196330) | more than 2 years ago | (#38550208)

Okay, I can appreciate the novelty factor, as this is very much one of those things guys like me would toy around with, maybe for an evening or two. I don't see a demoscene rising out of this, at best a few dozen guys circle-jerking on Facebook about it. To say it could display MS-DOS as a "platform" is to completely ignore the fundamental tenets of the demoscene. Rotozooming tunnel-mapped munching squares are what you do when you're learning to code graphics effects, and this IBNIZ tool abstracts the real math away in favour of random-looking gibberish. Just because typing "7KJHBB&*@#$B" yields a spinning bitmap doesn't teach the user anything about how to actually spin a bitmap on an algorithmic level, nor the problem-solving methodology involved in building far more impressive effects upon those foundations.

It used to be that demo coding was a precursor to game programming, at least in the Amiga and DOS days. Now with all these abstract graphics and sound APIs, it's a bit less so, though there is still plenty of opportunity for new demo sceners to cut their teeth on DirectX demos, focusing on graphical polish and synced A/V interplay rather than the vicissitudes of software rendering. IBNIZ really misses the boat for all of that, it's more like a Winamp visualizer with its own crappy digital monosynth, and who's going to bother with that illegible syntax ?

Sorry but I don't see the technical merit in a virtual machine that basically shifts garbage around. You could accomplish the same by feeding random noise into your TV's composite input.

What? (-1, Redundant)

imthesponge (621107) | more than 2 years ago | (#38550316)

What?

Ow, my ears! (0)

rrohbeck (944847) | more than 2 years ago | (#38550746)

How about
while true; do cat /dev/mem >/dev/audio; done
?

Re:Ow, my ears! (0)

Anonymous Coward | more than 2 years ago | (#38550876)

Dudue, I tried this and it sucked! Worse than Lady GaGa.

Ultrabook Notebook Tipis Harga Murah Terbaik (-1, Offtopic)

Jhon82 (2543136) | more than 2 years ago | (#38551208)

Some really interesting points you have written.Helped me a lot, just what I was searching for : D. Ultrabook Notebook Tipis Harga Murah Terbaik [blogspot.com]

fagro8z (-1)

Anonymous Coward | more than 2 years ago | (#38551458)

"Politically Correct"? (1)

Jane Q. Public (1010737) | more than 2 years ago | (#38551832)

It's a pretty bad name. But I guess they decided they would catch too much flak if they called it IBNIG.

Re:"Politically Correct"? (0)

Anonymous Coward | more than 2 years ago | (#38551962)

A quick Google search didn't come up with anything relevant. How would IBNIG be non-PC compared to IBNIZ?

Re:"Politically Correct"? (1)

Jane Q. Public (1010737) | more than 2 years ago | (#38552688)

"A quick Google search didn't come up with anything relevant. How would IBNIG be non-PC compared to IBNIZ?"

Technically, it probably wouldn't. But living as we do in a society in which a celebrity can catch all kinds of hell for using the word "niggardly" (which has absolutely nothing to do with race or racism), I think they were playing it safe.

Re:"Politically Correct"? (1)

deniable (76198) | more than 2 years ago | (#38552984)

The Igs might take offense. A bigger problem is that people would want to spell it IBING and that would cause all kinds of confustion.

Fractal Music Implementation (1)

user flynn (236683) | more than 2 years ago | (#38552032)

Might work with some of [shameless plug] my fractal formulas * [fractalforums.com] [/shameless plug], although you'd have to use sqrt [1-sin^2 (x)] for cosine as it apparently isn't implemented? (I only see sin and atan2).

  Probably try it with simple 2d fractal formulas first. Nice...

    On another note (I'll scan thread carefully), any recommendations for other open source mathematical music programs?

  *others scattered around the website.....

256 bytes including the interpreter? (2)

Warwick Allison (209388) | more than 2 years ago | (#38552212)

Otherwise, a SPORE creature save file is a better "demo". (note, must install interpreter...)

this one is for bookmarks (2)

vst (2539516) | more than 2 years ago | (#38552582)

this is enlightening http://www.youtube.com/watch?v=qlrs2Vorw2Y [youtube.com] more music should be made in this manner, not the self-serving bullshit dominating the radio waves today...

Wilhelm scream (1)

mapkinase (958129) | more than 2 years ago | (#38555354)

As if it was not enough that the same scream is used in many blockbuster movies.

Visual Perl (1)

Tablizer (95088) | more than 2 years ago | (#38557776)

nuf sed :-)

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>