» »

[C#] Spreminjanj frekvence datoteki ding.wmv

[C#] Spreminjanj frekvence datoteki ding.wmv

TheCyborg ::

Pozdravljeni!

Imam projekt narediti virtualni piano in imam problem. Obstaja funkcija Console.Beep(freq, duration), ki piskne tako grdo, da znoriš, vendar pa odzveni na tisti frekvenci, ki jo podaš. Jaz imam datoteko ding.wmv, ki lepše zveni in bi njej rad nastavljal frekvenco, da uredim celo lestvico.

Sem že preiskal googla na dolgo in široko in nisem našel veliko. Naletel sem sicer na nekaj, ampak tisto je bil 'Writer' sounda, kar mi pa ni pomagalo.

Torej mojo vprašanje, kako spreminjam frekvenco datoteki ding oz. kako nastavim naj odzveni na določeni frekvenci?

Hvala, LP,

//cyborg

BlueRunner ::

Fizika 1: Tako, da jo predvajaš pohitreno ali pa upočasnjeno.
Fizika 2: Tako, da vržeš računalnik skozi okno, oziroma prosiš prijatelja, da to stori, ko boš ti pod oknom (Doppler in prijatelji).

Sicer pa boš verjetno imel več uspeha, če pogledaš MIDI sekvencer in možnost njegove uporabe iz C#.

TheCyborg ::

Ni slaba ideja, da pospešiš ali upočasniš, samo kako naj ugotovim kakšen ton sem dobil?

BlueRunner ::

V bistvu to je slaba ideja. Sicer si lahko ročno narediš celotno banko zvokov, vendar pa ti še vedno predlagam, da "klavirje" delaš s pomočjo MIDI-ja. Resno. Tam imaš banke različnih instrumentov že narejene.

jernejl ::

Tudi jaz predlagam MIDI, saj je temu namenjen.

Sicer je pa tako:
Če posnetek predvajaš hitreje, res dobiš višjo frekvenco, a se bo posnetek tudi prej zaključil. Visoki toni bodo kratki, nizki pa dolgi.
Boljša možnost je pitch-shift.
Vhodni signal pretvoriš v frekvenčni spekter s fourierjevo transformacijo - za pretvorbo v "skoraj realnem času" se uporabi npr. STFT.
V frekvenčnem spektru lahko ustrezno pomakneš frekvence navzgor ali navzdol, nato pa z inverzno STFT dobiš signal s spremenjenimi frekvencami.

Tukaj sem našel en primer: link (kako deluje ta konkretni algoritem pa ne vem, ker ga nisem preizkušal).

Vendar se spet pojavi težava, namreč frekvenčni spekter za pianino se glede na višino tona razlikuje tudi po obliki, tako da samo s premikanjem frekvenc navzgor/navzdol ne dobiš več realističnega posnetka zvoka.

Tukaj pa je nekaj frekvenc za nekaj tonov.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Programiranje - prepoznavanje tonov

Oddelek: Pomoč in nasveti
121764 (1216) ginekk
»

Fourierjeva vrsta, fourierjeva transformacija

Oddelek: Šola
146896 (3682) marjan_h
»

Voice changer

Oddelek: Programska oprema
81285 (1154) poweroff
»

Kaj je res, da ...

Oddelek: Mobilne tehnologije
424759 (4159) BBB
»

Spreminjanja zvoka

Oddelek: Znanost in tehnologija
61246 (1123) shock

Več podobnih tem