Tamriel Mixdown

Show off your mod creations or just a work in progress.
Helegad
Posts: 48
Joined: Sun Oct 07, 2018 6:24 am

Re: Tamriel Mixdown

Post by Helegad » Tue Oct 16, 2018 1:05 am

You've adjusted the gain (-eadb) on a whole heap of them. Was that intentional?

User avatar
pango
Posts: 800
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango » Tue Oct 16, 2018 5:33 am

Hi,
I used the RMS levels adjustments in your mixdown as reference, assuming you modified the volume of whole samples; Those conversion instructions should be run on original DAGGER.SND

What I did (mostly Unix command lines):
Create the table of RMS levels from original DAGGER.SND:

Code: Select all

(Run DaggerSoundExtract.exe under Wine)
$ for i in *.wav; do mv "$i" "${i%.wav}.raw"; done
$ for i in *.raw; do sox -r 11k -e unsigned -b 8 -c 1 "$i" "wav11k8b/${i%.raw}.wav"; done
$ for i in *.wav; do echo -e "$i\t$(sox "$i" -n stats 2>&1 | sed -ne 's@^RMS lev dB *\(.*\)@\1@p')"; done > rms.lst
Do the same on your mixdown DAGGER.SND to create a second table of RMS levels.

Create the table of output names from Daggerfall Unity's SoundClips.cs:

Code: Select all

$ ls *.wav|perl -ne '$fn = $_; chomp $fn; $n = $fn; $n =~ s@^0{0,2}(\d+)_\d+\.wav$@\1@; $map = `grep "= $n," ~/src/daggerfall-unity/Assets/Scripts/SoundClips.cs | tail -n1`; chomp $map; $map =~ s@^\s*(\w*).*@\1@; if ($map eq "") { $map = $n } print "$fn\t$map\n"' > dfu_names.lst
Join all tables and create conversion instructions (spaces in -t" " are tabs):

Code: Select all

$ join -t "     " rms.lst ../../mixdown/wav11k8b/rms.lst|join -t"       " - dfu_names.lst|perl -ne 'chomp; @args = split(/\t/); $gain = $args[2] - $args[1]; print "ecasound ".($gain != 0 ? "-eadb:$gain " : "")."-i resample-hq,11025,$args[0] -f:16,1,44100 -o ../wav44k16b-mixdown/$args[3].wav\n"'
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
King of Worms
Posts: 1184
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow
Contact:

Re: Tamriel Mixdown

Post by King of Worms » Tue Oct 16, 2018 9:40 am

Thanks for Info Helegad! I downloaded it :)

Pango, why it would not be safe to share? Id like to see the files, Im curious.

User avatar
pango
Posts: 800
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango » Tue Oct 16, 2018 12:12 pm

When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Helegad
Posts: 48
Joined: Sun Oct 07, 2018 6:24 am

Re: Tamriel Mixdown

Post by Helegad » Wed Oct 17, 2018 2:07 am

pango wrote:
Tue Oct 16, 2018 5:33 am
Hi,
I used the RMS levels adjustments in your mixdown as reference, assuming you modified the volume of whole samples; Those conversion instructions should be run on original DAGGER.SND

What I did (mostly Unix command lines):
Create the table of RMS levels from original DAGGER.SND:

Code: Select all

(Run DaggerSoundExtract.exe under Wine)
$ for i in *.wav; do mv "$i" "${i%.wav}.raw"; done
$ for i in *.raw; do sox -r 11k -e unsigned -b 8 -c 1 "$i" "wav11k8b/${i%.raw}.wav"; done
$ for i in *.wav; do echo -e "$i\t$(sox "$i" -n stats 2>&1 | sed -ne 's@^RMS lev dB *\(.*\)@\1@p')"; done > rms.lst
Do the same on your mixdown DAGGER.SND to create a second table of RMS levels.

Create the table of output names from Daggerfall Unity's SoundClips.cs:

Code: Select all

$ ls *.wav|perl -ne '$fn = $_; chomp $fn; $n = $fn; $n =~ s@^0{0,2}(\d+)_\d+\.wav$@\1@; $map = `grep "= $n," ~/src/daggerfall-unity/Assets/Scripts/SoundClips.cs | tail -n1`; chomp $map; $map =~ s@^\s*(\w*).*@\1@; if ($map eq "") { $map = $n } print "$fn\t$map\n"' > dfu_names.lst
Join all tables and create conversion instructions (spaces in -t" " are tabs):

Code: Select all

$ join -t "     " rms.lst ../../mixdown/wav11k8b/rms.lst|join -t"       " - dfu_names.lst|perl -ne 'chomp; @args = split(/\t/); $gain = $args[2] - $args[1]; print "ecasound ".($gain != 0 ? "-eadb:$gain " : "")."-i resample-hq,11025,$args[0] -f:16,1,44100 -o ../wav44k16b-mixdown/$args[3].wav\n"'
Ah, I see, I thought you converted directly from my files. Good thinking :)

User avatar
pango
Posts: 800
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango » Sun Oct 28, 2018 12:26 am

That looks promising...
Make all sound effects respect volume setting (by Allofich)
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Helegad
Posts: 48
Joined: Sun Oct 07, 2018 6:24 am

Re: Tamriel Mixdown

Post by Helegad » Tue Oct 30, 2018 9:56 am

Was that specifically a DFUnity problem? All SFX respected the volume slider in OG Daggerfall, at least they did for me.

Anybody got any feedback for Tamriel Mixdown?

User avatar
pango
Posts: 800
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango » Sun Dec 16, 2018 10:35 am

Helegad wrote:
Tue Oct 30, 2018 9:56 am
Was that specifically a DFUnity problem? All SFX respected the volume slider in OG Daggerfall, at least they did for me.
The patch (re-)sets the volume in several places, I assume in some cases it didn't (say, sounds triggered by quest events, stuff like that). Also, that ensures that if you modify the volume slider, it will immediately take effect (or a close approximation).
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 800
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango » Sun Dec 16, 2018 10:37 am

I removed noise some AmbiantCrickets.wav
Was simple enough for this one, as you can select silence between chirps. Also, they're higher pitched than background noise
Attachments
AmbientCrickets.zip
(95.61 KiB) Downloaded 10 times
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 800
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango » Sun Dec 16, 2018 8:33 pm

Ok, it took the whole afternoon, but I filtered noise (hiss) from all sounds the best I could:
SoundClips-1.2.zip
I removed the sounds not used in game (all numbered wav files), so it's a bit smaller.

They're still some sounds I've not totally satisfied with:

Code: Select all

  AmbiantPeople1.wav
  AmbiantPeople2.wav
  AmbiantPeople3.wav
  AmbiantPeople6.wav
  EnemyFrostDaedraAttack.wav
  EnemyIceAtronachAttack.wav
  EnemyIronAtronachAttack.wav
  Spooky2.wav
  SpookyHigh2.wav
The AmbiantPeople*.wav have unique noise and no silence, so they're hard to clean (but maybe not impossible).
Others are in a bad shape to start with, so maybe I just don't know how to get better results out of them...
Last edited by pango on Mon Dec 17, 2018 2:17 am, edited 1 time in total.
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Post Reply