Tamriel Mixdown

Show off your mod creations or just a work in progress.
User avatar
alphaTECH
Posts: 142
Joined: Sun Oct 07, 2018 6:24 am

Re: Tamriel Mixdown

Post by alphaTECH »

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

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

Re: Tamriel Mixdown

Post by pango »

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"'
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: Tamriel Mixdown

Post by King of Worms »

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: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango »

Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
alphaTECH
Posts: 142
Joined: Sun Oct 07, 2018 6:24 am

Re: Tamriel Mixdown

Post by alphaTECH »

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: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango »

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

User avatar
alphaTECH
Posts: 142
Joined: Sun Oct 07, 2018 6:24 am

Re: Tamriel Mixdown

Post by alphaTECH »

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: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Tamriel Mixdown

Post by pango »

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).
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: Tamriel Mixdown

Post by pango »

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 204 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

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

Re: Tamriel Mixdown

Post by pango »

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.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Post Reply