Feri - izredni študij Seznam forumov Feri - izredni študij
Feri - izredni študij
 
 Pogosta vprašanjaPogosta vprašanja   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   RSS Feed   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Zasebna sporočilaZasebna sporočila   PrijavaPrijava 




Naloga z zvokom

 
Objavi novo temo   Odgovori na to temo    Feri - izredni študij Seznam forumov -> Osnove sistemske programske opreme OSPO
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
igor
Administrator foruma


Pridružen/-a: 20.09. 2009, 17:22
Prispevkov: 192

PrispevekObjavljeno: 20 Jan 2010 17:22    Naslov sporočila: Naloga z zvokom Odgovori s citatom

A je že kdo delal?
Kako sploh generiramo zvok ? Če funkcija kao vrača double, mi pišemo na /dsp znotraj funkcije ? Ali vrne funkcija to, kar potem zapišemo na zvočno (double???)?
Na internetu je mali miljon primerov kako predvajat zvok, to mi vse dela, samo kako pa generiramo nekaj (verjetno nek binarni format al kaj) pa nič ni za najt...
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
igor
Administrator foruma


Pridružen/-a: 20.09. 2009, 17:22
Prispevkov: 192

PrispevekObjavljeno: 20 Jan 2010 18:31    Naslov sporočila: Odgovori s citatom

Ok, malo že kapiram. Pomagala je ta stran:
http://www.codeproject.com/KB/audio-video/CPIAudio.aspx

Zvok je sestavljen iz 44.100 podatkov, ki so predstavljeni s 16-bitnim številom (torej od -32.768 do +32.768).
To si jaz predstavljam kot recimo polje z 44.100 elementi, ki so 16bitno število. Število je predstavljeno binarno, valjda.

Ni mi jasno samo to navodilo v nalogi:
Citiram:
Na napravo zapisujte preko vmesnega pomnilnika dolžine 44100 zlogov. Prepovedano je ločeno pošiljanje 16-bitnih besed na zvočno napravo ali vnaprejšnje generiranje celotnega signala.


Po mojem mnenju bi vmesni pomnilnik moral biti dolg 16*44.100 zlogov, ker bi tako spravili vanj točno 1 sekundo zvoka, ali ne?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
jani_k



Pridružen/-a: 21.01. 2010, 17:28
Prispevkov: 8

PrispevekObjavljeno: 21 Jan 2010 17:39    Naslov sporočila: Odgovori s citatom

Ok jaz sem to nalogo komaj zacel delati, tako da mogoce razmisljam narobe.

Kar funkcija vraca ni pomembno, kolikor jaz razumem. Komot bi bla na primer void. Saj pisemo na napravo znotraj funkcije. Ne bi bilo prvic da so nam dali napacno signaturo funkcije.

Naprava se odpre in nastavi parametre tako kot na vajah. Dejansko lahko kar prekopiramo tisto kodo.

Kako generiramo zvok?

Z funkcijo write pisemo buffer na napravo.
Tezava nastane ker moramo pisati z write. Write pa sprejme buffer tipa char*. In tu pri meni nastane tezava. Char je kul ko na primer beremo iz datoteke in se vrednosti kar direkt zapisejo v nas buffer, znak po znak. Zadeva je sicer cloveku neberljiva, a dela.

Jaz ne razumem kako zdaj moje izracune krivulje(44.100 vrednosti, ki niso char) spravim v char*. Po mojem z write ne bo slo, ali pa jaz ne razumem zadeve.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
igor
Administrator foruma


Pridružen/-a: 20.09. 2009, 17:22
Prispevkov: 192

PrispevekObjavljeno: 22 Jan 2010 13:38    Naslov sporočila: Odgovori s citatom

E vsaj nekaj, sem pisal mail asistentu Glaserju, naj spremeni roke za oddajo nalog in se nas je usmilil ter podaljšal rok do nedelje zvečer!
Vsaj majhna zmaga...
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
jani_k



Pridružen/-a: 21.01. 2010, 17:28
Prispevkov: 8

PrispevekObjavljeno: 22 Jan 2010 15:41    Naslov sporočila: Odgovori s citatom

http://www.opensound.com/pguide/audio.html

Cisto na koncu strani je opisan nacin kako 16bitne podatke spravit v obliko, ki jo write() lahko sprejme. In celo dela.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Feri - izredni študij Seznam forumov -> Osnove sistemske programske opreme OSPO Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu


MojForum.si - brezplačno gostovanje forumov. Powered by phpBB 2.