Inform 7, sound, web publishing (newbie, searched already)

Hey everyone,

I’m new to writing IF. Many thanks if you can point me in the right direction.

I’m writing a piece that I will be releasing for play online in a web browser. I would like very much to incorporate sound.

Reading the documentation I have the understanding that:

Inform7 only supports sound in Glulx (
Parchment (for web publishing) only supports Z-machine. (
Vorple (for web publishing) only supports Z-machine (
Quixe (for web publishing) does not support sound. (

I’m probably misunderstanding something here, but it looks like I may be unable to make a web-playable IF with sound since the only interpreters that support sound require Z-machine and Inform7 only does sound with Glulx.

If I’ve got this all screwed up or if there’s a workaround I’d love to know it.

Also, just for completeness, I’ve read and understand that some audiences have a negative reaction to sound or other multi-media etc. I’m ok with that and understand. The audience for this particular work will thoroughly enjoy the existence of sound and I’d love to provide it for them (along with text descriptions for people who have sound off, don’t have hearing, etc). So if possible, I’d like to stay focused on finding a solution to the technical issue if there is one.

Thank you for your time and assistance!

What’s your time frame?

I’m working on a proof of concept with another author to get embedded images in a custom web template using FyreVM (Glulx-Inform 7 based story files with special extensions).

FyreVM can support turn-based sound manipulation.

The WebUI for TADS 3 should certainly support sound. I’ve only used sound in a self-contained TADS game, not in a Web-based game, but if you require sound, I would say offhand that T3 is probably a much more robust solution than Inform.

TADS is perhaps not as easy to learn as Inform, unless you’re already familiar with programming. Also, the Workbench IDE for TADS only runs in Windows (or in a Windows emulator on Mac or Linux). But if you can deal with that, I suggest you give it a look.

Jim Aiken: I’m Mac and I don’t mind an emulator but I’d rather not–one more layer of complexity. I might look into it if I have to though.

The examples on Vorple look exactly like what I’d like: play a sound on command and play a sound on room change. Just trying to see if there’s a way to get to that on Inform.

DavidC: I’m starting to author right now. I really like the approach of things you are pushing with your project (especially being able to handle typography outside of the authoring environment!). Please keep me in the loop on how things go with your thing. My project is going to be serially updated and perhaps when your project is complete I can migrate content over to something like that (I’d almost certainly be using the self-hosted option).

I had great success using sound and music in TRANSPARENT with Daniel Stelzer’s music extension which simplifies channels for you. Glulx only I’m afraid, till the browser interpreter that handles sound comes out.

Inform 7 only has built-in support for sound with Glulx: you can make a Z-code story file with sound support with a bit of work, since all that’s really involved is making sure that the appropriate Z-code opcodes get called to tell the interpreter to play the sounds.

The real stumbling block on such issues is interpreter support. You need an interpreter that supports both the opcodes for playing sounds, and has some way to actually find the sound files to be played. This rules out Quixe and Parchment, since neither has sound support.

Vorple is somewhat different, since that consists of a modified Parchment interpreter that can call Javascript code, some Javascript code to make things happen, and some Inform 7 code to glue it all together. Although I haven’t tried it, the Vorple documentation does mention sound support, so that seems like your best bet. The API for graphics and sound in Vorple is completely different to the usual Z-code (or Glulx) approach, so Vorple very much does things its own way. Anyway, I would suggest experimenting with Vorple first.

Excellent. Thank you all for your help. I’ll experiment with Vorple and see if I can wrap my head around it while waiting to see how DaveC’s project comes together.

Thanks again everyone!