My PrBoom+ build with in-demo voice recording support and something extra

I have made my prboom-plus build with some new features:

  • In-demo audio recording.
    Yes, you can now actually record your voice commentaries while recording demos and they will be packed inside demo footer. When you start the demo with voice commentary, it will start playing automatically.
    (!) Be sure that you are using my version for voice recording and playing, check your program associations first if you double-click on demo file with voice recording (so you won't have situation when you're playing demo via old version of prboom+ and there is no audio coming out)

    The demos are fully compatible with all other versions of prboom+ (not sure about vanilla, but I think it will run out of memory).
    To record voice commentary, add -voicerecord command after -record demoname.lmp (so it'll look something like prboom-plus.exe -iwad doom2.wad -record demo.lmp -voicerecord)
    Voice recording and playing doesn't work with SDL midi player. If you are building prboom+ by yourself, you need to use SDL >= 2.0.5
    During recording the demo speed-up and speed-down buttons are disabled to retain sync between demo and audio. Still, you can rewind the voice demos with speed-up/level skip.
    You could adjust the voice volume in sound menu (there is a separate track bar for voice)
    Multi-level demos are possible too.
    Here is the example of Memfis playing Doom 2 map14 with voice commentary.

    If you want to cut off voice commentary from demo:
    Spoiler

    https://github.com/Mistranger/cutaudiorec/releases/download/1.0/cutaudiorec.exe

    Just drag-and-drop the demo file on program and it will generate a new demo with "-novoice" suffix.

    Sources: https://github.com/Mistranger/cutaudiorec

     

  • Boom -complevel 9 longtics support (demover = 215)
    Just what it says - smooth turns in Boom compatible demos. Unfortunately, demos in this format aren't backwards-compatible with older versions of prboom+.
  • Alternative level stats counting (could be toggled via General menu, "Alternative kills counter"). When enabled, resurrected and summoned monsters (except Lost Souls) are counted in stats, so you can't exceed 100% kills (like in ZDoom)
  • -levelstat2 command line option, generates levelstat2.txt file, including the same info as regular -levelstat option, but with total time and deaths count (useful for FDAs).
  • -dumpthings X option, dumps information about all things and players every X tics, also includes kills, spawns and damage info. This dump file in future could be processed by my Map Balancer Doom Builder plugin.

 

Download here

Sources: https://github.com/Mistranger/prboom-plus

There is still some problems with sync (I have disabled the wipe effect during voice recording and playing), so I'm open to all commentaries about my build. It would be nice if you will record some FDAs with voice commentary (check if it works first)

I hope entryway will include all these features into master branch of prboom+.

Edited by cybermind
9 people like this

Share this post


Link to post

This is really really cool, I can see myself using voice recording for FDAs all the time.

 

Would be nice if it also created voiceless demos at the same time (so you would get a large file and a small one).

Share this post


Link to post

 

17 hours ago, Memfis said:

This is really really cool, I can see myself using voice recording for FDAs all the time.

 

Would be nice if it also created voiceless demos at the same time (so you would get a large file and a small one).

 

Amazing Comrade!


Memfis... ehmm your from uhhh spain or maybe france or portugal? accent very similiar

Share this post


Link to post

This is very cool! I have a suggestion though: Please change the source to require a new complevel, or a demo-saved option for the longtics support. PrBoom+ has worked very hard to prevent incompatible demos from being created. If you're recording demos marked version 2.15 Boom complevel that are not compatible with version 2.15 Boom complevel, that's a bad thing to be doing!

 

Maybe I've missed a detail that causes this to not be problem, but please check for this specific issue, and fix it quickly, to avoid a situation where the program cannot distingiush between 2 different demos marked with exactly the same version numbers and complevels.

 

By the way, a nice option would be to mix the sound effects out-of-phase into the voice recording, to counteract picking up the sound effects through the microphone. This might be a bit difficult, and might require an SDL hack.

 

Another idea is for voice transmission across the network. You'd need a nice ping. You could filter voice down to about 8-bit 2.4 kHz to reduce the size, which would sound terrible for anything but voice, but it could become feasible at that size.

 

Very cool addition!

 

Share this post


Link to post

Thanks for comments, but still no one have recorded a voice demo to test out that feature (to check if the audio syncs properly). Someone, please record a FDA for something with voice recording.

7 hours ago, kb1 said:

Please change the source to require a new complevel, or a demo-saved option for the longtics support. PrBoom+ has worked very hard to prevent incompatible demos from being created.

This is not needed. complevel 2 longtics demos have demover 111 (recorded in demo header), and they haven't introduced a new complevel for that. If you will try to watch complevel 9 longtics demo in current official version of prboom+, it will just bomb out with "Unknown demo format 215"

7 hours ago, kb1 said:

Another idea is for voice transmission across the network. You'd need a nice ping. You could filter voice down to about 8-bit 2.4 kHz to reduce the size, which would sound terrible for anything but voice, but it could become feasible at that size.

This feature is intended for single player only, prboom+ is rarely used for network play and I haven't bothered with that.

Share this post


Link to post
On 9/9/2017 at 2:30 AM, cybermind said:

Thanks for comments, but still no one have recorded a voice demo to test out that feature (to check if the audio syncs properly). Someone, please record a FDA for something with voice recording.

This is not needed. complevel 2 longtics demos have demover 111 (recorded in demo header), and they haven't introduced a new complevel for that. If you will try to watch complevel 9 longtics demo in current official version of prboom+, it will just bomb out with "Unknown demo format 215"

Good to know. I wasn't sure - I thought Imread something into what you typed that apparently wasn't there :)

 

On 9/9/2017 at 2:30 AM, cybermind said:

This feature is intended for single player only, prboom+ is rarely used for network play and I haven't bothered with that.

It seems like a natural progression of the idea, that's all.

Share this post


Link to post

I feel using demo version 215 is a land-grab*, but okay, one can just blacklist the demo version number (I_Error on detection). I think beyond the current maximum 214, the only other one that has been used is 255 (by Eternity, which then changes the format a bit to add its own extra version number -- IIRC they're up to 300+ by now)

 

________

* FWIW the upstream prboom_7_compatibility branch, which adds a new complevel, uses 215 as its version number. But I never managed to get it merged/released.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now