Hoppa yfir í efnið

Hljóð, tíðnir og rófsrit

Hljóðskrá þarf ekki aðeins að vera hlustuð. Við getum líka séð hana.

CTF-hljóð getur innihaldið:

  • tal sem er spilað aftur á bak,
  • skilaboð í annarri hljóðrásinni,
  • Morse-píp,
  • DTMF-símatóna,
  • mynd eða texta í rófsriti,
  • gögn sem sérstakt mótalds- eða launritunartól les,
  • lýsigögn eða viðbætt safn eins og aðrar skrár.

Við vinnum kerfisbundið: staðfestum skráarsniðið, skoðum tæknigildi og lýsigögn, hlustum varlega og veljum síðan myndræna eða sjálfvirka greiningu.

Lækkaðu hljóðið áður en þú ýtir á spilun

Óþekkt hljóð getur innihaldið skyndilega háværa tóna. Byrjaðu með mjög lágan hljóðstyrk, ekki nota heyrnartól við eyrað í fyrstu og hækkaðu aðeins ef þörf er á. Heyrnarskaði er ekki CTF-fáni.

Fyrsta yfirferð

Við byrjum á sömu grunnspurningum og áður:

file hljod.wav
exiftool hljod.wav
ffprobe -hide_banner hljod.wav

Stytt ffprobe-úttak gæti verið:

Audio: pcm_s16le, 44100 Hz, stereo, s16
Duration: 00:00:12.40

Þetta segir okkur meðal annars:

  • kóðunin er 16 bita PCM-kóðun (e. pulse-code modulation),
  • hljóðtökutíðnin (e. sample rate) er 44.100 sýni á sekúndu,
  • skráin hefur tvær rásir,
  • lengdin er 12,4 sekúndur.

Við athugum líka skráarstærð:

ls -lh hljod.wav

Óþjappað stereo PCM-hljóð getur eðlilega verið stórt. Stærðin ein sannar því ekki að viðbætt gögn séu til staðar.

Æfing: lestu upplýsingarnar

Æfing 1

ffprobe sýnir:

Audio: pcm_s16le, 8000 Hz, mono, s16
Duration: 00:00:05.00

Svaraðu:

  1. Hve margar rásir eru til staðar?
  2. Hver er hljóðtökutíðnin?
  3. Hve mörg hljóðsýni eru um það bil í skránni?
  4. Getum við fullyrt út frá þessu að skilaboð séu falin?
Lausn við æfingu 1
  1. mono þýðir ein rás.
  2. Hljóðtökutíðnin er 8.000 sýni á sekúndu.
  3. Um það bil 8.000 × 5 = 40.000 sýni. Haus og aðrir gagnahlutar bætast við skrána, en sjálf hljóðröðin hefur um 40.000 sýni.
  4. Nei. Þetta eru eðlilegar tæknilegar upplýsingar. Við þurfum frekari vísbendingu úr hlustun, bylgjuformi, rófsriti eða verkefnalýsingu.

Bylgjuform og rófsrit

Bylgjuform (e. waveform) sýnir styrk hljóðmerkis yfir tíma.

Y-ás: styrkur
X-ás: tími

Það hjálpar okkur að sjá:

  • hvar hljóð og þagnir eru,
  • hvort regluleg píp eru til staðar,
  • hvort merkið klippist við hámarksstyrk,
  • hvort stuttur hluti er falinn í lokin,
  • hvort vinstri og hægri rás eru ólíkar.

Rófsrit (e. spectrogram), oft kallað litrófsmynd, sýnir hvernig tíðni breytist yfir tíma.

X-ás: tími
Y-ás: tíðni
Litur/birta: styrkur á þeirri tíðni

Þannig getur texti sem teiknaður var með ákveðnum tíðnum orðið sýnilegur þó hann hljómi aðeins eins og suð.

Vissir þú?

Rófsrit voru notuð í talrannsóknum löngu áður en CTF-keppnir urðu til. Sérhljóð og samhljóð mynda einkennandi mynstur, svo málvísindafólk getur lesið ýmislegt úr mynd af hljóði án þess að hlusta á það.

Audacity: sjáum hljóðið

Audacity er opið hljóðvinnsluforrit.

Öruggt grunnflæði:

  1. Opna afrit af skránni í Audacity.
  2. Lækka hljóðstyrk áður en við spilum.
  3. Skoða bylgjuformið og rásirnar.
  4. Smella á valmynd hljóðrásarinnar.
  5. Velja Spectrogram eða Spectrogram Settings.
  6. Prófa eðlilegt tíðnibil og stilla síðan ef vísbending krefst þess.

Rófsrit getur litið óskýrt út ef:

  • tíðnibil er of stórt,
  • gluggastærð gefur of litla tíðniupplausn,
  • litaskali er óheppilegur,
  • skilaboðin eru aðeins í einni rás,
  • við erum of langt aðdráttarlaus.

Við breytum einni stillingu í einu og skráum hvað bætti sýnileikann.

Stærri gluggi er ekki alltaf betri

Stór greiningargluggi greinir nálægar tíðnir betur en gerir snöggar breytingar í tíma óskýrari. Lítill gluggi sýnir tímasetningu betur en tíðnir grófara. Þetta er málamiðlun, ekki töfrastilling.

Búum til rófsrit á skipanalínu

Fyrst búum við til möppu fyrir afleiddar niðurstöður:

mkdir -p nidurstodur

FFmpeg

ffmpeg -i hljod.wav \
  -lavfi "showspectrumpic=s=1600x900:legend=1" \
  -frames:v 1 nidurstodur/rofsrit.png

SoX

sox hljod.wav -n spectrogram -o nidurstodur/rofsrit.png

Við skoðum myndina sjálfa og höldum skipuninni í lausnadagbók. Ef texti er mjög daufur prófum við markvissar stillingar, til dæmis annað tíðnibil eða myndstærð, en forðumst að lýsa tilviljunarkenndu mynstri sem orði.

Æfing: bylgjuform eða rófsrit?

Æfing 2

Veldu gagnlegri fyrstu framsetningu fyrir hverja spurningu:

  1. Hve löng þögn er milli pípa?
  2. Eru stafir teiknaðir við 15–18 kHz?
  3. Er hægri rásin alveg þögul?
  4. Hvaða tvær tíðnir mynda hvern símatón?
Lausn við æfingu 2
  1. Bylgjuform sýnir tímabil hljóðs og þagnar vel.
  2. Rófsrit sýnir teikningu eftir tíma og tíðni.
  3. Bylgjuform rásanna sýnir fljótt hvort önnur sé flöt, þó við getum staðfest með mælingu.
  4. Rófsrit eða tíðnigreining sýnir tíðniparið.

Vinstri og hægri rás

Stereo-skrá hefur tvær rásir. Þær gætu innihaldið:

  • venjulegt hljóð vinstra megin og skilaboð hægra megin,
  • tvö brot sem þarf að bera saman,
  • merki sem hverfur þegar rásir eru lagðar saman,
  • ólíka bita eða tóna.

Við skiptum rásunum með SoX:

sox stereo.wav nidurstodur/vinstri.wav remix 1
sox stereo.wav nidurstodur/haegri.wav remix 2

Síðan skoðum við hvoru tveggja:

ffprobe -hide_banner nidurstodur/vinstri.wav
ffprobe -hide_banner nidurstodur/haegri.wav

Við getum einnig borið saman rófsrit þeirra.

Sýnidæmi: andhverfar rásir

Ef hægri rás er nákvæmlega formerkisandhverfa þeirrar vinstri:

vinstri:  1000,  500, -200
hægri:   -1000, -500,  200

þá getur einföld samlagning í mono gefið núll. Þetta kallast fasaniðurfelling (e. phase cancellation) í þessu einfalda tilfelli. Við skoðum því rásir sitt í hvoru lagi áður en við breytum stereo í mono.

Hljóð aftur á bak og á röngum hraða

Tal aftur á bak hljómar oft eins og óreglulegt muldur. Við búum til afleitt afrit:

ffmpeg -i hljod.wav -af areverse nidurstodur/ofugt.wav

Hraði og tónhæð geta líka verið viljandi röng. Ein einföld hraðabreyting með FFmpeg er:

ffmpeg -i hljod.wav -af "atempo=2.0" nidurstodur/tvöfaldur-hradi.wav

atempo=2.0 tvöfaldar spilunarhraðann án þess að hækka tónhæð á sama hátt og einföld breyting á sýnatíðni. Ef CTF-vísbendingin fjallar um „plötu á 45 snúningum“ gæti hins vegar átt að breyta bæði hraða og tónhæð. Audacity aðgreinir aðgerðir eins og Change Tempo og Change Speed.

Ekki skrifa yfir verkefnisskrána

Hraðabreyting, viðsnúningur, mögnun og síun búa til nýtt hljóð. Notaðu lýsandi úttaksheiti svo skýrt sé hvaða aðgerð var framkvæmd.

Æfing: röddin er of djúp

Æfing 3

Verkefnalýsing segir „snældan gengur á hálfum hraða“. Röddin er mjög hæg og djúp.

Hvort er líklegra næsta skref?

  • tvöfalda hraða með varðveittri tónhæð,
  • tvöfalda hraða þannig að tónhæð hækki líka,
  • skoða EXIF GPS-hnit.
Lausn við æfingu 3

Líklegast er að tvöfalda hraða þannig að tónhæð hækki líka. Hljóð sem var spilað eða tekið upp á hálfum snælduhraða verður bæði hægara og dýpra.

Í Audacity myndum við prófa Change Speed með stuðli sem tvöfaldar hraðann. Við vinnum á afriti og hlustum fyrst með lágum styrk.

Að varðveita tónhæð gæti lagað hraðann en skilið röddina óeðlilega djúpa. GPS-hnit tengjast engri gefinni vísbendingu.

Morse-kóði

Morse notar stutt og löng merki:

.   stutt merki
-   langt merki

Bil aðgreina hluta:

  • stutt bil milli punkta og strika í staf,
  • lengra bil milli stafa,
  • enn lengra bil milli orða.

Nokkrir stafir:

Stafur Morse
A .-
F ..-.
G --.
I ..
L .-..
S ...
O ---
T -

Við getum skoðað bylgjuformið, mælt lengdir pípa og skrifað niður punkta og strik. Ef stutta pípið er um 0,1 sekúnda og langa um 0,3 sekúndur er hlutfallið 1:3, eins og algengt er í Morse.

Sýnidæmi

--. --. / ..-. .-.. .- --.

verður:

GG FLAG

Í raunverulegu hljóði þurfum við fyrst að greina mörkin rétt; þýðingin er auðveldi hlutinn þegar punktar, strik og bil liggja fyrir.

DTMF-símatónar

DTMF (e. Dual-Tone Multi-Frequency) er tónakerfi takkaborða í síma. Hver takki er táknaður með tveimur tíðnum samtímis: einni úr röð og einni úr dálki.

Hz 1209 1336 1477 1633
697 1 2 3 A
770 4 5 6 B
852 7 8 9 C
941 * 0 # D

Til dæmis er takkinn 5 samsetning af 770 Hz og 1336 Hz.

multimon-ng getur greint DTMF úr hentugri WAV-skrá:

multimon-ng -a DTMF -t wav tonar.wav

Sjálfvirk greining getur brugðist ef hljóðið er mjög lágt, þjappað eða með miklum hávaða. Þá hjálpar rófsrit eða tíðnigreining.

Æfing: lestu símanúmerið

Æfing 4

Þrír tónar innihalda þessi tíðnipör:

697 Hz + 1209 Hz
770 Hz + 1336 Hz
941 Hz + 1477 Hz

Hvaða þrír takkar eru þetta?

Lausn við æfingu 4

Við finnum röð og dálk í DTMF-töflunni:

  • 697 + 1209 → 1
  • 770 + 1336 → 5
  • 941 + 1477 → #

Niðurstaðan er:

15#

Myndir sendar sem hljóð

Sum snið umbreyta mynd í röð hljóðtóna. SSTV (e. Slow-Scan Television) er þekkt dæmi úr amatörfjarskiptum. Merkið hljómar gjarnan eins og löng röð vélrænna tóna en getur afkóðast sem mynd.

Verkfæri eru meðal annars:

  • qsstv á Linux,
  • RX-SSTV á Windows,
  • sérstök SSTV-smáforrit.

Við notum þau þegar verkefnalýsing, einkennandi upphafstónn eða rófsrit styður SSTV-tilgátu. Ekki hvert skröltandi hljóð er SSTV.

Önnur verkefni nota FSK, mótaldshljóð eða sérsmíðuð tíðnimynstur. Þá skráum við fyrst:

  • hvaða tíðnir sjást,
  • hve lengi hver tónn varir,
  • hvort tvær eða fleiri stöður endurtaka sig,
  • hvort mynstrið líkist bitarunu.

Mögnun og síur

Dauft merki getur orðið skýrara með mögnun eða síu. En þessar aðgerðir geta líka:

  • magna hávaða,
  • klippa toppa,
  • fjarlægt hluta falinna gagna,
  • skapað mynstur sem var ekki greinilegt áður.

Dæmi um nýtt magnað afrit:

ffmpeg -i hljod.wav -af "volume=4" nidurstodur/magnad.wav

Við skoðum bylgjuformið fyrir og eftir og lækkum spilunarstyrk. Mögnun um stuðulinn 4 getur auðveldlega valdið klippingu ef upprunalega hljóðið er þegar sterkt.

Sjáðu áður en þú magnar

Mjög hátíðni skilaboð þurfa kannski alls ekki spilun eða mögnun. Rófsrit er bæði öruggara fyrir eyrun og gagnlegra fyrir myndrænan texta.

Lýsigögn, viðhengi og önnur lög

Áður en við kennum hljóðinu um flókna tíðnikóðun athugum við einfaldari staði:

exiftool hljod.wav
strings -n 8 hljod.wav
binwalk hljod.wav

WAV er gagnaskipan með hlutum og getur innihaldið athugasemdir. MP3 getur haft ID3-reiti og jafnvel albúmmynd. Safnskrá getur einnig verið límd aftan við gilt hljóð.

steghide, sem við sáum í myndakaflanum, styður einnig WAV og AU. Ef verkefnið gefur bæði hljóð og lykilorð gæti verið eðlilegt að prófa:

steghide info hljod.wav
steghide extract -sf hljod.wav -p lykilord

Lokaverkefni: fjögur merki

Æfing 5

Þú færð sending.wav og lýsinguna:

Við sjáum það sem við heyrum ekki. Hægri leiðin hringir fyrst, síðan kemur stutta og langa svarið.

Athuganir:

$ ffprobe -hide_banner sending.wav
Audio: pcm_s16le, 44100 Hz, stereo, s16

$ exiftool sending.wav
Comment : hægri rás

Skrifaðu skipulega greiningarleið og segðu hvaða tilgátur orðin í lýsingunni styðja.

Möguleg lausn við æfingu 5
  1. Halda óbreyttu afriti og byrja með lágan spilunarstyrk.
  2. Skipta stereo-skránni í rásir:
sox sending.wav vinstri.wav remix 1
sox sending.wav haegri.wav remix 2

Bæði Comment og orðið „Hægri“ styðja þá tilgátu að hægri rásin skipti máli.

  1. Skoða bylgjuform og rófsrit hægri rásarinnar. „Sjáum það sem við heyrum ekki“ bendir sérstaklega á rófsrit:
ffmpeg -i haegri.wav \
  -lavfi "showspectrumpic=s=1600x900:legend=1" \
  -frames:v 1 haegri-rofsrit.png
  1. Leita fyrst að DTMF-tónum, því „hringir fyrst“ gæti vísað á símatóna:
multimon-ng -a DTMF -t wav haegri.wav
  1. Eftir tónana skoðum við bylgjuform seinni hlutans. „Stutta og langa“ styður Morse-tilgátu. Við mælum lengdir pípa, skráum . og - og greinum bilin milli stafa.
  2. Staðfesta samsetta niðurstöðu með fánasniði eða næstu vísbendingu.

Við gerum ekki ráð fyrir að öll skráin noti eina kóðun. Lýsingin bendir á röð: hægri rás → símatónar → Morse.

Samantekt

Í þessum kafla lærðum við að:

  • skoða skráarsnið, lýsigögn, hljóðtökutíðni, lengd og rásir áður en við hlustum,
  • byrja með lágan hljóðstyrk,
  • bylgjuform sýnir styrk yfir tíma,
  • rófsrit sýnir tíðni yfir tíma og getur afhjúpað mynd eða texta,
  • vinstri og hægri rás geta geymt ólík skilaboð,
  • viðsnúningur og hraðabreytingar eru gerðar á afritum,
  • Morse notar stutt og löng merki,
  • DTMF notar tvær tíðnir fyrir hvern takka,
  • SSTV og önnur mótöld geta umbreytt myndum eða bitum í hljóð,
  • sjálfvirk verkfæri þurfa staðfestingu með vísbendingum og mælingum,
  • mögnun og síur geta bæði hjálpað og eyðilagt upplýsingar.

Í næsta kafla skoðum við QR-kóða, önnur strikamerki, textagreiningu og hvað við gerum þegar kóðinn er snúinn, skorinn eða illa læsilegur.