Audio/Scripting issue

So long story short — about a year or two ago, I asked for help because my custom audio files wouldn’t play in the project I’m working on. Thanks to your suggestions, I was able to run everything through ChatGPT and finally got the sound working. Apparently, my game requires all audio to be in Mono, 11025 Hz, 8-bit PCM for it to load correctly.





Now I’ve run into another issue: I’m trying to use two separate audio files in one animation. For some reason, the first audio never plays, but the second one does.





Also is there a way I can time or place the sound calls so they sync properly with the animation frames? So everything lines up? Also is it a script or audio issue?
 
Instead of asking ChatGPT, you can ask the question here and get a more precise answer:
Openbor supports WAV and OGG audio files in CD quality, that is, at 44100Hz.
I also advise you to convert them to mono rather than stereo if you have two copies of the same track.
Audacity is a program that can be useful for this type of audio conversion.
 
Instead of asking ChatGPT, you can ask the question here and get a more precise answer:
Openbor supports WAV and OGG audio files in CD quality, that is, at 44100Hz.
I also advise you to convert them to mono rather than stereo if you have two copies of the same track.
Audacity is a program that can be useful for this type of audio conversion.
I do both and yes I have done all of that it’s mono what I need and it still doesn’t play
 
Pretty much what @kimono said. ChatGPT only knows what the general web knows, and when it comes to OpenBOR, people outside this community don't know jack squat. We've been trying to fix that for years and it doesn't take. It's more than just incomplete - most information you'll find outside here is hilariously erroneous, and will lead you to lots of headaches and frustration. Most of the wider world still thinks OpenBOR is an emulator of all things.

Anyway, not sure what you mean by sound syncing. Sounds play on the frame you designate them, no more or less. Please clarify what you're after and we can try to help.

DC
 
Pretty much what @kimono said. ChatGPT only knows what the general web knows, and when it comes to OpenBOR, people outside this community don't know jack squat. We've been trying to fix that for years and it doesn't take. It's more than just incomplete - most information you'll find outside here is hilariously erroneous, and will lead you to lots of headaches and frustration. Most of the wider world still thinks OpenBOR is an emulator of all things.

Anyway, not sure what you mean by sound syncing. Sounds play on the frame you designate them, no more or less. Please clarify what you're after and we can try to help

DC
Yes I mean syncing the sound to the animation. Anyways here’s the code will be sending files shortly 🙏🏿

anim idle
drawmethod 270 270
loop 1
delay 10
offset 67 130
bbox 53 68 30 61

frame data/chars/he-man/idle1.png
frame data/chars/he-man/idle2.png
frame data/chars/he-man/idle3.png
frame data/chars/he-man/idle4.png
frame data/chars/he-man/idle5.png
frame data/chars/he-man/idle6.png
frame data/chars/he-man/idle7.png
frame data/chars/he-man/idle8.png
frame data/chars/he-man/idle9.png
frame data/chars/he-man/idle10.png
frame data/chars/he-man/idle11.png
frame data/chars/he-man/idle12.png
frame data/chars/he-man/idle13.png
frame data/chars/he-man/idle14.png
frame data/chars/he-man/idle15.png
frame data/chars/he-man/idle16.png
frame data/chars/he-man/idle17.png
frame data/chars/he-man/idle18.png
frame data/chars/he-man/idle19.png
frame data/chars/he-man/idle20.png
frame data/chars/he-man/idle21.png
frame data/chars/he-man/idle22.png
frame data/chars/he-man/idle23.png
frame data/chars/he-man/idle24.png
frame data/chars/he-man/idle25.png
frame data/chars/he-man/idle26.png
frame data/chars/he-man/idle27.png
frame data/chars/he-man/idle28.png
frame data/chars/he-man/idle29.png
frame data/chars/he-man/idle30.png
frame data/chars/he-man/idle31.png
frame data/chars/he-man/idle32.png
frame data/chars/he-man/idle33.png
frame data/chars/he-man/idle34.png
frame data/chars/he-man/idle35.png
frame data/chars/he-man/idle36.png
frame data/chars/he-man/idle37.png
frame data/chars/he-man/idle38.png
frame data/chars/he-man/idle39.png
frame data/chars/he-man/idle40.png
frame data/chars/he-man/idle41.png
frame data/chars/he-man/idle42.png
frame data/chars/he-man/idle43.png
frame data/chars/he-man/idle44.png
frame data/chars/he-man/idle45.png
frame data/chars/he-man/idle46.png
frame data/chars/he-man/idle47.png
frame data/chars/he-man/idle48.png
frame data/chars/he-man/idle49.png
frame data/chars/he-man/idle50.png
frame data/chars/he-man/idle51.png
frame data/chars/he-man/idle52.png
frame data/chars/he-man/idle53.png
frame data/chars/he-man/idle54.png
frame data/chars/he-man/idle55.png
frame data/chars/he-man/idle56.png
frame data/chars/he-man/idle57.png
frame data/chars/he-man/idle58.png
frame data/chars/he-man/idle59.png
frame data/chars/he-man/idle60.png
frame data/chars/he-man/idle61.png
frame data/chars/he-man/idle62.png
frame data/chars/he-man/idle63.png
frame data/chars/he-man/idle64.png
frame data/chars/he-man/idle65.png
frame data/chars/he-man/idle66.png
frame data/chars/he-man/idle67.png
frame data/chars/he-man/idle68.png
frame data/chars/he-man/idle69.png
frame data/chars/he-man/idle70.png
frame data/chars/he-man/idle71.png
frame data/chars/he-man/idle72.png
frame data/chars/he-man/idle73.png
frame data/chars/he-man/idle74.png
frame data/chars/he-man/idle75.png
frame data/chars/he-man/idle76.png
frame data/chars/he-man/idle77.png
 
Yes I mean syncing the sound to the animation. Anyways here’s the code will be sending files shortly 🙏🏿

anim idle
drawmethod 270 270
loop 1
delay 10
offset 67 130
bbox 53 68 30 61

frame data/chars/he-man/idle1.png
frame data/chars/he-man/idle2.png
frame data/chars/he-man/idle3.png
frame data/chars/he-man/idle4.png
frame data/chars/he-man/idle5.png
frame data/chars/he-man/idle6.png
frame data/chars/he-man/idle7.png
frame data/chars/he-man/idle8.png
frame data/chars/he-man/idle9.png
frame data/chars/he-man/idle10.png
frame data/chars/he-man/idle11.png
frame data/chars/he-man/idle12.png
frame data/chars/he-man/idle13.png
frame data/chars/he-man/idle14.png
frame data/chars/he-man/idle15.png
frame data/chars/he-man/idle16.png
frame data/chars/he-man/idle17.png
frame data/chars/he-man/idle18.png
frame data/chars/he-man/idle19.png
frame data/chars/he-man/idle20.png
frame data/chars/he-man/idle21.png
frame data/chars/he-man/idle22.png
frame data/chars/he-man/idle23.png
frame data/chars/he-man/idle24.png
frame data/chars/he-man/idle25.png
frame data/chars/he-man/idle26.png
frame data/chars/he-man/idle27.png
frame data/chars/he-man/idle28.png
frame data/chars/he-man/idle29.png
frame data/chars/he-man/idle30.png
frame data/chars/he-man/idle31.png
frame data/chars/he-man/idle32.png
frame data/chars/he-man/idle33.png
frame data/chars/he-man/idle34.png
frame data/chars/he-man/idle35.png
frame data/chars/he-man/idle36.png
frame data/chars/he-man/idle37.png
frame data/chars/he-man/idle38.png
frame data/chars/he-man/idle39.png
frame data/chars/he-man/idle40.png
frame data/chars/he-man/idle41.png
frame data/chars/he-man/idle42.png
frame data/chars/he-man/idle43.png
frame data/chars/he-man/idle44.png
frame data/chars/he-man/idle45.png
frame data/chars/he-man/idle46.png
frame data/chars/he-man/idle47.png
frame data/chars/he-man/idle48.png
frame data/chars/he-man/idle49.png
frame data/chars/he-man/idle50.png
frame data/chars/he-man/idle51.png
frame data/chars/he-man/idle52.png
frame data/chars/he-man/idle53.png
frame data/chars/he-man/idle54.png
frame data/chars/he-man/idle55.png
frame data/chars/he-man/idle56.png
frame data/chars/he-man/idle57.png
frame data/chars/he-man/idle58.png
frame data/chars/he-man/idle59.png
frame data/chars/he-man/idle60.png
frame data/chars/he-man/idle61.png
frame data/chars/he-man/idle62.png
frame data/chars/he-man/idle63.png
frame data/chars/he-man/idle64.png
frame data/chars/he-man/idle65.png
frame data/chars/he-man/idle66.png
frame data/chars/he-man/idle67.png
frame data/chars/he-man/idle68.png
frame data/chars/he-man/idle69.png
frame data/chars/he-man/idle70.png
frame data/chars/he-man/idle71.png
frame data/chars/he-man/idle72.png
frame data/chars/he-man/idle73.png
frame data/chars/he-man/idle74.png
frame data/chars/he-man/idle75.png
frame data/chars/he-man/idle76.png
frame data/chars/he-man/idle77.png

Don't see any sound calls there at all. Next time though, make sure you use code tags to post samples with. Makes it much easier for us to read and diagnose.


DC
 
Code:
anim    special
    drawmethod 220 210
    loop 0
    delay 7
    offset 67 170
    bbox 37 35 35 88

    # Sword of Omens charge – "Thunder... Thunder... Thunder... Thundercats..."
    sound data/sounds/ThundercatsSwing.wav
    frame   data/chars/lion-o/spec1.png

    offset  46 130
    frame   data/chars/lion-o/spec2.png

    offset  39 121
    attack  0 5 164 235 10
    frame   data/chars/lion-o/spec3.png

    offset  90 133
    attack  0 5 164 135 10
    bbox    53 23 45 100
    attack  0 5 164 135 10
    frame   data/chars/lion-o/spec4.png

    offset  102 133
    attack  0 0 0 0 0 0
    frame   data/chars/lion-o/spec5.png

    offset  99 134
    attack  0 5 164 235 10
    frame   data/chars/lion-o/spec6.png

    offset  61 134
    attack  0 0 0 0 0 0
    frame   data/chars/lion-o/spec7.png

    offset  43 196
    attack  0 5 164 235 10
    frame   data/chars/lion-o/spec8.png

    # "HOO!" right as the sword swings (first big hit section)
    sound   data/sounds/thundercats_ho.wav
    offset  58 160
    attack  0 0 0 0 0 0
    frame   data/chars/lion-o/spec9.png

    offset  54 121
    attack  0 5 164 235 20 1
    frame   data/chars/lion-o/spec10.png

    offset  55 122
    attack  0 0 0 0 0 0
    frame   data/chars/lion-o/spec11.png

    offset  54 121
    attack  0 5 164 235 20 1
    frame   data/chars/lion-o/spec12.png

    offset  54 122
    attack  0 0 0 0 0 0
    frame   data/chars/lion-o/spec13.png

    offset  55 122
    attack  0 5 164 235 20 1
    frame   data/chars/lion-o/spec14.png

    offset  52 121
    attack  0 0 0 0 0 0
    frame   data/chars/lion-o/spec15.png

    offset  55 123
    frame   data/chars/lion-o/spec16.png

    offset  52 121
    frame   data/chars/lion-o/spec17.png

    offset  70 121
    frame   data/chars/lion-o/spec18.png

    offset  52 122
    frame   data/chars/lion-o/spec19.png

    frame   data/chars/lion-o/spec20.png

    offset  52 121
    frame   data/chars/lion-o/spec21.png

    offset  57 122
    frame   data/chars/lion-o/spec22.png

    offset  53 120
    frame   data/chars/lion-o/spec23.png

    offset  55 121
    frame   data/chars/lion-o/spec24.png

    offset  55 121
    attack  108 24 176 77 23 0
    frame   data/chars/lion-o/spec25.png

    offset  43 120
    frame   data/chars/lion-o/spec26.png

    offset  22 121
    frame   data/chars/lion-o/spec27.png

    offset  59 122
    frame   data/chars/lion-o/spec28.png

    frame   data/chars/lion-o/spec29.png
 
You have a Thundercats Swing.wav sound file and you call ThundercatsSwing.wav as the sound in your animation.
Pay attention to spaces in the naming of your resources.
 
Now I’ve run into another issue: I’m trying to use two separate audio files in one animation. For some reason, the first audio never plays, but the second one does.
Also is there a way I can time or place the sound calls so they sync properly with the animation frames? So everything lines up? Also is it a script or audio issue?
Also, about your question, you can natively play only one sound effect per frame, using the "sound bla bla bla" native feature.
If you need two sound effects playing on the exact same frame, you will need script for that.
 
Okay that worked thanks my next question is how do I get the sound effects to sync up to the frames?

You don't. Animators and game designers don't sync sounds to animations. They sync animations to sounds. That's why voice acting lines for games, shows, movies, etc. are always recorded before video production begins.

In theory you can play sound effects and the music cues separately. Start the dramatic tune, then play the "Thunder,", Thunder, ..." on given frames. You'd still be animating around the sound, but that would give you an easier time of it. Unfortunately, you need to HAVE separated voices and music clips. Which I'm pretty sure doesn't exist for Lion-o's Thundercats call.

So you're just going to have to time your animation to sync up with the full clip, not the other way around. Using script, you can do interruptions if it needs cut short - like Lion-o getting punched in the face before he can finish.

DC
 
Back
Top Bottom