![]() |
Page 2 of 2
|
Quote: Originally posted by Wojtek
i can't stand having so many genres playing on a single radio station |
Quote: Originally posted by FeathervsFlower
I gotta agree, not just for keeping genres together but also for community lots. If you have a lot that plays a specific station, and you want it to play your custom music, it would be nice to just shove your tunes in the respective station and be on your way. And sometimes, you just want to listen to one particular type of music anyway, and having them, all in the right station just makes it easier to listen to that band, or that album or whatever. Having more options to do anything can be a good thing, despite if half the users have no reason for it, the other half do. |
Does anyone know how to decode .audtun files?
|
@Wojtek Do they not? Based on the name of the files, some of them should have voice audio in them.
|
I did read through the whole thread a few times before.
But there are some AUDTUN files that follow the same naming pattern as SNS and SNR files that contain voice audio. For instance, one of the SNS files I've converted to .wav is named this: S3_01A527DB_001407EC_00C5929C3C4C71E1_vo_bed_talk_listenaA_fa22%%+_AUD. The two letters and numbers before the percent indicate that it is a voice file, and which voice it is. b=baby, p=toddler, c=child, m=male voices teen--elder, f=female voices teen--elder. a--c is voices a, b, or c. Knowing this allowed me to know which SNR and SNS files I needed to convert to .wav files. But there are AUDTUN files that follow the same naming pattern, so it really seems like there should be voice audio in there. For instance, one of the files is named: S3_8070223D_001407EC_82D1F5AB32CAE95A_vo_btrap_toilet_trc_cb%%+AUDT. So it should have a Child Voice B file in there. |
Oh, okay. Thank you very much for the information.
Sorry for being so stubborn! |
1 Attachment(s)
Quote: Originally posted by Infernus Animositas
I know it is an old topic, here's what I found, once you export the file, use a Hex Editor to modify the first 2 digits to be "00" and save it. And this worked for me. |
Ooooh my god I hate HEX editing so much. Why, why, why. Thanks for the very complete tutorial by the way.
|
After doing some testing, it appears the issue with switching to the next track is solved by simply encoding the entire MP3 as a single SNR file using "--single-block". The AUDTUNs and XMLs still need to be created, but only the SNR file needs to be encoded and no further hex editing should be necessary.
|
Problems with using ealayer3 -E NAMEOFYOURMP3FILE.mp3 -o NAMEOFYOURMP3FILE.sn
Quote: Originally posted by jje1000
Whenever I use ealayer3 -E NAMEOFYOURMP3FILE.mp3 -o NAMEOFYOURMP3FILE.sn "the EALayer3 Parser could not be initialized (The bitstream format is not readable)" shows up and nothing happens. I followed all the instructions but I've hit a dead end. Is the EA Layer 3 broken or is Audacity saving unreadable MP3 files? I need help to fix this problem. |
1 Attachment(s)
EALayer3 0.7.0 was unable to process some loop files (University load/enroll loop, into the future loop...), so I updated it. Here is the new file with the source code I changed
edit: https://bitbucket.org/Translu/ealayer3b/downloads/ |
Quote: Originally posted by transu
Your FIRST post on this site is a solution to a gripe I've had with EALayer3 for years. No fanfare or anything, either, just "Here's a thing, have fun." ![]() @transu If we can now use this to decode looping SNRs, might it be possible to modify EALayer3 0.6.3 to encode loops? |
Quote: Originally posted by gamefreak130
https://bitbucket.org/Translu/ealayer3b/downloads/ I finally had time to fix encoding and do this ![]() --two-files create a headerless file (the .SNS) and a header-only file (the .SNR) --loop use with --single-block or --two-files, mark the file as a loop Seems like any file can be marked as loop (even radio songs). A loop has a optional "starting part" which gets played only the first time, at the beginning, currently the encoder leaves it empty. |
First, my gratitude to you all for the considerable progress that's taken place since I was last on this thread many years back. "Helpful" isn't even a good enough button; some of this work should be tagged "Sheer Genius."
My question concerns decoding .SNR files by ffmpeg. My goal is to create a corpus of Sim speech. In processing the .SNR files, I find that most of them are type 05 and ealayer3 works fine, but I am still left wanting to decode some voice .SNR of the kind that need ffmpeg.
Quote: Originally posted by Wojtek
I'm trying to read some with a type byte of 04, for which ffmpeg is (or formerly was) the recommended tool. My problem is that the command:
Code:
ffmpeg -f ea_cdata -i <snr_filename> <wav_filename> fails due to "[NULL @ 000001ae6dc6dc00] Requested output format 'ea_cdata' is not a suitable output format" ... which is very plausible because I don't have the plugin which, if I understand rightly, was used by ffmpeg to allow it to read that kind of SNR file. Does anyone know whether or from where the appropriate special sauce for ffmpeg is available any more? EDIT: Or even any information about the ea_cdata compression format? |
Quote: Originally posted by transu
I can't believe I'm only just seeing your post! THANK YOU SO MUCH FOR THIS. I had pretty wrapped my head around everything with choppy hex editing but your update simplifies everything so much more. And streamed SNS file looping works now, too! Thank you!!! ![]() |
Does anyone know how to make an snr file with a loop and an initial part? Roughly speaking, repetitive music with an initial phase that is not repeated. EaLayer3b from Translu does not provide this feature, only a loop without the initial part. I also tried to understand the hex editor, but I do not know what exactly needs to be edited in the bytes responsible for the loop and the beginning of the sample. I will be very grateful for your help.
|
Quote: Originally posted by iiiiiiiii
I don't remember ever getting this to work. The only game files with separate intro + loop regions that I could find were vehicle sounds, and they use the two file method, so it's kinda hard to compare the HEX values. After playing around for a bit I kinda assumed I'd come pretty close to cracking the format with my findings below, but no matter what combination I tried, the game would not play my file smoothly. ![]() Again, the information above might be completely incorrect, but I hope I'm able to point you in the right general direction ![]() |
Quote: Originally posted by mypantsfelldown
I just found out about this when I looked at the properties of music tracks with this cycle: when converting via ealayer3 from snr to mp3, such a track was converted into two files, and vgmstream shows that layout: segmented (2 segments). Files with a simple loop are designated layout: flat.
Quote: Originally posted by mypantsfelldown
So the game didn't even play the modified files? Or playing, but somehow not so?
Quote: Originally posted by mypantsfelldown
I would like to know how information is encoded in these bytes and what to write there, since for me it is just a set of letters and numbers.
Quote: Originally posted by mypantsfelldown
I think if study the source code of the new version of ealayer3, or for example, how vgmstream decodes the format, the situation will become clearer, because vgmstream also shows which sample the loop starts with in the snr file. Do I understand correctly from the above that there is no way to make an snr with a loop and an initial part yet? If so, it's sad, but thanks anyway for trying to help and answering. |
Quote: Originally posted by iiiiiiiii
Which music tracks are encoded in this way? I remember the ITF loading music was but I don't remember it actually having an intro segment.
Quote: Originally posted by iiiiiiiii
It varied. My testing was somewhat messy and I was playing with this quite a while ago now so my memory might be a tad muddled. I would test the file in VGM stream first and if it played back at all I would chuck it into the game and try it there. Most of the time the game would crash before playing anything, I don't remember any other outcome.
Quote: Originally posted by iiiiiiiii
Most of it is guesswork, it requires experimentation. If the values you're investigating are representative of numbers (like loop start sample/total samples), you can check this by using a hex to decimal converter like this one. Then you can kind of connect the dots.
Quote: Originally posted by iiiiiiiii
Technically it might be, I don't know of anyone other than myself that's attempted this. I did manage to achieve success with the two file method, so I'm not sure if that would be helpful to you. You're welcome for the help though! |
Quote: Originally posted by mypantsfelldown
Music tracks for adventures in Spore Galactic Adventures. For this game, I need a loop to make a mod for custom music.
Quote: Originally posted by mypantsfelldown
I'll try it.
Quote: Originally posted by mypantsfelldown
The two-file method? Can I learn more? |
Quote: Originally posted by mypantsfelldown
I tried to use it, and the necessary bytes show the beginning and end in the form of samples. But unfortunately, after studying the flat (normal loop) and segmented (loop with the initial part) tracks, I realized that they are different. The header seems to be the same, but apparently due to the fact that the segmented file has 2 tracks, changing the bytes in the flat track makes it unreadable. |
OMG! I managed to make a loop with the initial part!
After studying the loop files from Spore again, I figured out how to do everything, and I did it! I used two files converted via ealayer3, combined them in the HEX editor, added/changed the necessary bytes, and voila, everything works. I haven't tested it in the game yet, but vgmstream plays the file correctly, and shows the properties. (UPD. - I checked if my track works in the game, it works) mypantsfelldown, thank you for the hex to dec converter, thanks to you I learned about it, and was able to do what I needed! |
Quote: Originally posted by iiiiiiiii
That's great! When joining the files together, did you remove any of the header from the second file? I'd love to get this working myself. |
Quote: Originally posted by mypantsfelldown
If you're talking about the Ealayer3 header, which starts with byte 05, etc., then yes, I'm removing it from the second file. |
Quote: Originally posted by iiiiiiiii
Please could you walk me through how you managed to accomplish this? I've successfully concatenated two files and the whole thing is looping, but every time I try to change the "loop start sample" bytes the file becomes unreadable. |
Quote: Originally posted by mypantsfelldown
The file is unreadable in vgmstream and the game? Or only in one of the options? |
Quote: Originally posted by iiiiiiiii
Unreadable in vgmstream and crashes the game. |
Quote: Originally posted by mypantsfelldown
Can I have an example or a screenshot of the first bytes of the file? |
Quote: Originally posted by iiiiiiiii
Here you go. My file is 44.1kHz stereo, so the bytes at 00 and 02 may differ slightly from yours. ![]() I also uploaded the sound file to Google Drive if you'd like to play around with it. |
Quick question, does anyone know where I can find the latest tutorial on replacing TS3's soundtrack?
|
If anyone is still interested in an encoder for the XAS format (.SNR starting with 04), there's one here: https://github.com/lgdel/eaxas/releases
|
Quote: Originally posted by transu
This download is immediately flagged as containing a trojan virus. Likely a false positive, but I would err on the side of caution given that this Github only appeared and uploaded this a few days ago. May need some time to be reviewed and have it marked as safe- if someone has a Github account it would help to report it so it gets checked. |
All times are GMT +1. The time now is 7:44 PM. |
Page 2 of 2
|
Powered by: vBulletin Version 3.0.14 · Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.