Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 mar 2026, o 21:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 
Autor Wiadomość
PostNapisane: 25 sie 2013, o 19:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

witam.
mam pytanie jak używając bibliotek PetitFS sprawdzić długość pliku .wav ???

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 19:13 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

pf_lseek()

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 19:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

poczytałem troche o tej funkcji na elm-chan.org i znalazłem przykład:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


tylko że nie weim o co w nim chodzi :( a jak próbowałem tłumaczyć teksty i komentarze w google tłumacz to porażka

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 19:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

aha długość pliku możesz też pobrać z nagłówka WAV (tzn ilość próbek - trzeba tylko je przeliczyć w zależności od tego czy stereo czy 8 czy 16-bit) ;) doliczysz sobie tylko długość headera

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

czyli najpierw muszę odtworzyć ten plik i sprawdzić tak jego długość???? Mi chodziło o to aby sprawdzić długość pliku i zrobić taki suwak który będzie się przemieszczał równo z czasem...

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 20:21 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

programek napisał(a):
czyli najpierw muszę odtworzyć ten plik


zaiste dziwne kolega ma pomysły ;)

a po co odtworzyć żeby odczytać dane z nagłówka ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 20:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

no to jak mam to odczytać? bo już nie wiem :D

_________________
GreenBook i BlueBook



Ostatnio edytowano 7 wrz 2014, o 19:29 przez programek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sie 2013, o 20:59 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

W greenboku masz opisany przecież WAV HEADER (wiesz co to jest?)

no toż znajduje się na początku pliku

wystarczy go odczytać i wyłuskać potrzebne dane i je przeliczyć

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2013, o 14:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

chodzi o funkcje : load_header?

_________________
GreenBook i BlueBook



Ostatnio edytowano 7 wrz 2014, o 19:30 przez programek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sie 2013, o 16:17 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Ależ nie chodzi o żadną gotową funkcję. Masz opis Headera tak ?

czyli wiesz co gdzie się znajduje

teraz wystarczy napisać własną funkcję, która wczyta to do RAM, przeanalizuje dane i wypluje długość pliku. To będzie DUŻO SZYBSZY nawet sposób niż pf_lseek()

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2013, o 15:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

mirekk36 napisał(a):
Masz opis Headera tak ?


Czyli że co?

_________________
GreenBook i BlueBook



Ostatnio edytowano 7 wrz 2014, o 19:30 przez programek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2013, o 16:32 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Cytuj:
Czyli że co????


gdybym był nieuprzejmy to na takie pytanie mógłbym odpowiedzieć równie krótko:

że to !!!!

ale że nie jestem nieuprzejmy i liczę że ty też zmienisz podejście to jeszcze raz na spokojnie zapytam

masz GreenBooka ?

zaglądałeś do niego ?

do opisu formatu pliku WAV ?

czy nie zaglądałeś ? bo tam masz opisany ten nagłówek/header

więc proszę nie wyskakuj z takim czymś

Cytuj:
Czyli że co????

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2013, o 18:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

tak mam green booka... :D i znalazłem że 4 pierwsze bajty nagłówku pliku to identyfikator pliku RIFF, a następne 4 bbajty stanowią długość całego pliku z pominięciem pominięciem pierwszych 8 bajtów. I że format zapisu liczb w nagłówku jest typu little-endian, Potem następne 4 bajty określają format, kolejne 4 bajty zajmują kody ASCII napisu "fmt" i kolejne 4 mówią o rozmiarze części opisowej, a potem 2 bajty mówią o formie kompresji, następnie 2 bajty określające liczbę kanałów (czy mono czy stereo) Później 4 w których podana jest częstotliwość, potem znowu 4 bajty przedstawiające częstotliwość bajtów, w kolejnych 2 bajtach jest podany rozmiar pojedynczej próbki i 2 ostatnie bajty z informacją o rozdzielczości bitowej próbek....

Czyli że teraz z " wsk_buf " mam odczytać rozmiar pliku???

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2013, o 18:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

strona 199 i 200

na str 200 masz takie zdanie:

Cytuj:
Po części opisowej rozpoczyna się już część z danymi (próbkami), jednak
w pierwszych czterech bajtach ujrzymy kody ASCII napisu „data”, a następnie na
kolejnych czterech bajtach mamy do czynienia z liczbą mówiącą o łącznej liczbie bajtów
danych z próbkami.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 14:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

czy masz na myśli ten fragment:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


????

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 15:22 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

mirekk36 napisał(a):
a następnie na
kolejnych czterech bajtach mamy do czynienia z liczbą mówiącą o łącznej liczbie bajtów
danych z próbkami.


no czyli chyba jasno dosyć wynika że chodzi o kolejne cztery bajty po data

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 15:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

czyli jak mam teraz np. zmienną "dlugosc" która ma mi przechowywać długość pliku to mogę napisać coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sie 2013, o 17:20 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

programek napisał(a):
czyli jak mam teraz np. zmienną "dlugosc" która ma mi przechowywać długość pliku to mogę napisać coś takiego


Ale widzisz, kłopot polega na tym, że nie poćwiczyłeś w ogóle podstaw :(

i próbujesz robić na zasadzie "zgaduj zgadula" - może wyjdzie a może nie wyjdzie. Napiszę tak albo siak - kiedyś trafię.

Zacznij proszę od zapoznania się z:

1. typami danych w C - bo widać, że kompletnie to pominąłeś - a to PODSTAWA PODSTAW
2. wskaźnikami
3. przesunięciami bitowymi, ew strukturami/uniami

bo bez tego ani rusz ....

wiesz czym się różni np typ uint32_t od np uint8_t ?

wiesz czym się różni wskaźnik od zwykłej zmiennej ?

wiesz np jak rozbić SŁOWO na dwa bajty młodszy i starszy ?

Uwierz mi - nie odpowiesz na te pytania to i tak dalej nic nie zrobisz tylko będziesz pytał o każdą linijkę kodu ...

ja chętnie pomogę - no ale "wszystko po kolei"

bo co z tego, że ci podpowiadam jak nie rozumiesz z tego nic a nic

masz w 4 bajtach liczbę .... no to teraz jak ją wrzucić do zmiennej ? i co ważne zmiennej jakiego typu ? co ? (to kolejne pytanie do ciebie) - pytanie które ma ci pomóc

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 10:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

tak wiem czym sie różni zmienna typy uint32_t od np uint8_t.. :D Różnią się wielkością.

zmienne są to pewne fragmenty pamięci w których możne przechowywać liczby w zależności od ich typu.

A wskaźnik jest to rodzaj zmiennej tylko że nie służy do przechowywania informacji, tylko wskazuje adres pamięci w którym te informacje się znajdują.

jeśli chodzi o rozbijanie SŁOWA na dwa bajty młodszy i starszy to nie wiem

chciałem wrzucić do zmiennej 32 bit.

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sie 2013, o 11:06 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

programek napisał(a):
jeśli chodzi o rozbijanie SŁOWA na dwa bajty młodszy i starszy to nie wiem


no to na identycznej zasadzie robimy to z podwójnym słowem (DWORD) czyli zmienną uint32_t

zresztą masz przykłady np w bibliotece do GLCD - jak wrzucamy np kolor 24 bitowy do zmiennej uint32_t ... ale niech będzie przypomnę

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


tu akurat zatankowałem 3 bajty .... a ty teraz napełnij sobie 4 bajty

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2013, o 12:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

czyli tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


????

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2013, o 13:07 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

dokładnie tak - tylko najbardziej dziwi mnie to pytanie .... :(

czyżby ciężko było ci to samemu sprawdzić ? nie masz pomysłu jak to sprawdzić mając po ręką procesor i chociażby zwykły LCD czy terminal ?

pytania te nie zdaję po to żeby ci dogryźć tylko żeby sprowokować myślenie jak dalej sobie radzić w takich sytuacjach samemu. Dlatego mała podpowiedź

wyobraź sobie że robisz taki prosty test sobie.

1. wpisujesz do zmiennej wartość 0x01020408
2. teraz robisz swój przykład podany wyżej czyli napełniasz cztery swoje zmienne a,b,c,d
3. wyświetlasz wartość tych czterech zmiennych na LCD

i jakie wartości powinieneś w każdej z nich znaleźć ???

Toż to kilka linijek kodu a od razu miałbyś odpowiedź na swoje pytanie - na żywo .... więc rób takie testy sobie.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2013, o 15:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

no rzeczywiście proste :D

no to teraz mam coś takiego:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ale jak mam teraz z tego odczytać czas????

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2013, o 19:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

OK. już sobie poradziłem :). Ale nie wiem czemu Pan mi kazał rozbijać to na bajty????

jak można było tak :

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a potem podzielić to przez liczbę kanałów, potem przez liczbę bitów i na koniec przez częstotliwość:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i jest wynik w sekundach :D

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2013, o 20:10 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

programek napisał(a):
Ale nie wiem czemu Pan mi kazał rozbijać to na bajty????


Ja ci niczego nie kazałem, ja cię naprowadzałem. Jak widać udało się a przy okazji mam nadzieję, że się czegoś nauczyłeś

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO