Tunica

Z Wikiverzity
Skočit na navigaci Skočit na vyhledávání

Tunica = TUNnIng & sCAnning = program pro analýzu scanu – vývoj

Podstránky[editovat]

Reálný scan[editovat]

Použijeme Hudební nástroje: Databáze/Varhany/Poláček/2008-11-30 – scanning ladění. Pro jednoduchost budeme pracovat se souborem oktávbas 8' PV081130_0102_05.wav. Nejhlubší tón je velké C, který by při temperovaném ladění a'=440 Hz měl mít kmitočet

440 Hz / (2^2 * 2^(9/12)) = 440 / (2^(2+(9/12))) = 65.406 Hz

Utilitou wavinfo si zjistíme informace o souboru:

wavinfo PV081130_0102_05.wav

Header info for: PV081130_0102_05.wav
WaveHeader Size:	12
ChunkHeader Size:	8
FormatChunk Size:	16
RIFF ID:	RIFF
Total Size:	18002534
Wave ID:	WAVE
Chunk ID:	fmt 
Chunk Size:	18
Compression format is of type: 1
Channels:	2
Sample Rate:	44100
Bytes / Sec:	176400
wBlockAlign:	4
Bits Per Sample Point:	16
in size compare
wavDataPtr: 46
wavDataSize: 18002496

Celkovou dobu záznamu si spočeme jako:

(wavDataSize / 4) / SampleRate = (18002496 / 4) / 44100 = 102.05 s

Velikost dat v bytech jsme dělili čtyřkou, protože jeden vzorek má 16 bitů = 2 byte a navíc je to stereo záznam dvou kanálů. Jak bylo vysvětleno v Hudební nástroje: Databáze/Varhany/Poláček/2008-11-30 – scanning ladění, na začátku souboru jsou 2 takty = 6 sekund ticho, pak 30 tónů * (2+1) = 90 s, na konci 1 takt = 3 s ticho, celkem 99 s; spočtených cca 102 s nasvědčuje tomu, že na konci byly opět dva takty ticho.

Na soubor se tedy nejdřív podíváme nějakým zvukovým editorem (např. ecawave): na začátku je skutečně 6 s ticho, pak vidíme za sebou 30 burstů, odpovídající chromatickým tónům C, C#, .. , f1, o celkové délce 90 s a na konci 6 s ticho, což souhlasí.

Pro jednodušší zpracování si soubor vyexportujeme jako raw, tj. jako holá data, zvolíme např. Little-endian (Intel = LSB, MSB):

wav2cdr --infile PV081130_0102_05.wav --toraw --outlittle --outfile PV081130_0102_05.raw 
Host is:            little
Byte order in, out: little -> little
Format in, out:     wav -> raw
Scale:              100%, * 1.000000
Swap channels:      no
Do ->mono->stereo:  no
Find silences:      no  
Add silence:        0 C = 00:00.00 min, 0 C = 00:00.00 min
Fade-in / -out:     0 C = 00:00.00 min, 0 C = 00:00.00 min
Input data size:    18002498 b = 7654 C = 102 s = 01:42.05 min
Number of cuts:     0
Skipping before:    00:00.00 min = 0 C  (excl) (first cut)
Skipping after:     00:00.00 min = 0 C  (incl) (last cut)
Input filename:     PV081130_0102_05.wav
Output filename:    PV081130_0102_05.raw.%02d
-
Opening file(r):   PV081130_0102_05.wav
-
Opening file(w):   PV081130_0102_05.raw.01
Can only process data in multiples of 4 bytes, truncating 2 bytes.
Wrote bytes:       18002496 -> PV081130_0102_05.raw.01
Execution time:    00:00:00 h  (0 s)
-
Wrote bytes total: 18002496
Exec time total:   00:00:00 h  (0 s)

Moc jsem nepochopil, kde se v těch datech vzaly ty 2 byte navíc:

Input data size:    18002498 b
Can only process data in multiples of 4 bytes, truncating 2 bytes.