echhh
nie ma sie czym chwalić... niepotrafię zmieniać tonacji w lab view.. chybatrzeba zrobić FFT .... a tego nie umie...
Jedyne co jakoś mi wychodzi opiera sie na pojedynczych próbkach a nie tonacji...
Analiza dźwięku
Analiza dźwięku
Witam
A może mi ktoś podpowiedzieć jak zamienić wave na txt w labview.
Z góry dziękuj.
A może mi ktoś podpowiedzieć jak zamienić wave na txt w labview.
Z góry dziękuj.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Analiza dźwięku
Zmienić rozszerzenie pliku?
Albo wczytać wava do tablicy funkcją do wczytywania wave'a, a potem zapisać do pliku np. za pomocą Save To Spreadsheet File.
Albo wczytać wava do tablicy funkcją do wczytywania wave'a, a potem zapisać do pliku np. za pomocą Save To Spreadsheet File.
Analiza dźwięku
A jeśli chciałbym Mozart-em:) odczytać dominującą częstotliwość z mikrofonu(dostaje również szumy)?
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Analiza dźwięku
Łatwiej odczytać częstotliwość z sygnału, niż z mikrofonu.
Innymi słowy, jaki sygnał zbierasz za pomocą mikrofonu?
Innymi słowy, jaki sygnał zbierasz za pomocą mikrofonu?
Re: Analiza dźwięku
Kolego z dźwiękiem to nie tak hopsiup, aby go analizować trzeba wiedzieć czym on jest, a po drugie znać podstawy JTFA (Joint Time-Frequency Analisys).
Żaden naturalny dźwięk nie jest czystym tonem, nawet zagrany na pianinie jeden dźwięk to tak naprawdę zbiór harmonicznych jednego tonu (np. dĹşwięk a5 na gitarze to 440Hz i harmoniczne), dlatego każdy instrument brzmi inaczej. Ludzki głos to już w ogóle zbiór wielu częstotliwości na raz.
Wyłuskanie częstotliwości dominującej nic nie pomoże, a dlaczego? Ponieważ sygnały nagrywane nie są deterministyczne, co oznacza że NIE pozostają niezmienne w czasie. Jak zapodasz sinusoidę, albo zsumujesz ich kilka ze sobą i puścisz to masz sygnał deterministyczny. Robisz na tym klasyczne przekształcenie Furiera (FFT - Fast Fourier Transform) czyli przenosisz się z dziedziny czasu w dziedzinę częstotliwości i widzisz częstotliwości wszystkich sinusoid w raz z ich mocą. Wszystko pięknie. Ale sinusoidy pozostają w czasie niezmienne. Jak nagrasz dĹşwięki realne i wykonasz na tym FFT to uzyskasz widmo uśrednione z całego odcinka czasu, czyli widzisz wszystkie częstotliwości ale nie masz pojęcia kiedy wystąpiły.
I tu wkracza JTFA, ponieważ do klasycznego FFT dodaje jeszcze trzeci wymiar, czyli czas. Oprócz obserwacji widma częstotliwościowego wiesz kiedy te częstotliwości wystąpiły. Najprostszym takim przekształceniem jest krótkoczasowa transformacja Fouriera (STFT) są też inne np. transformacja Gabora, falki...
To nawet coś w stylu tego co Jogurt napisał, czyli pokazanie tonów wraz ze zmieniającym się numerem próbki.
Jeśli już będziesz wiedział jak się rozkładają częstotliwości w czasie, możesz coś z tym zrobić. Możesz wykonać dekompozycję falkową aby wyłuskać odpowiednie pasmo z sygnału, zrobić na tym STFT i dalej kombinować. W ten sposób rozpoznaje się mowę, odszumia, wyłuskuje ukryte sygnały.
Bez przejścia w dziedzinę częstotliwości tak naprawdę z samego sygnału w dziedzinie czasu niewiele się dowiesz.
A tak praktycznie, jeśli nagrywasz ten swój flecik przez chwilę i jest to "jednolite" nagranie bez żadnych zmian częstotliwości, to możesz założyć że masz sygnał deterministyczny, zrób na tym FFT i poobserwuj, jak załapiesz o co chodzi to będziesz wiedział co z tym zrobić.
Pozdrawiam
Kacper
Żaden naturalny dźwięk nie jest czystym tonem, nawet zagrany na pianinie jeden dźwięk to tak naprawdę zbiór harmonicznych jednego tonu (np. dĹşwięk a5 na gitarze to 440Hz i harmoniczne), dlatego każdy instrument brzmi inaczej. Ludzki głos to już w ogóle zbiór wielu częstotliwości na raz.
Wyłuskanie częstotliwości dominującej nic nie pomoże, a dlaczego? Ponieważ sygnały nagrywane nie są deterministyczne, co oznacza że NIE pozostają niezmienne w czasie. Jak zapodasz sinusoidę, albo zsumujesz ich kilka ze sobą i puścisz to masz sygnał deterministyczny. Robisz na tym klasyczne przekształcenie Furiera (FFT - Fast Fourier Transform) czyli przenosisz się z dziedziny czasu w dziedzinę częstotliwości i widzisz częstotliwości wszystkich sinusoid w raz z ich mocą. Wszystko pięknie. Ale sinusoidy pozostają w czasie niezmienne. Jak nagrasz dĹşwięki realne i wykonasz na tym FFT to uzyskasz widmo uśrednione z całego odcinka czasu, czyli widzisz wszystkie częstotliwości ale nie masz pojęcia kiedy wystąpiły.
I tu wkracza JTFA, ponieważ do klasycznego FFT dodaje jeszcze trzeci wymiar, czyli czas. Oprócz obserwacji widma częstotliwościowego wiesz kiedy te częstotliwości wystąpiły. Najprostszym takim przekształceniem jest krótkoczasowa transformacja Fouriera (STFT) są też inne np. transformacja Gabora, falki...
To nawet coś w stylu tego co Jogurt napisał, czyli pokazanie tonów wraz ze zmieniającym się numerem próbki.
Jeśli już będziesz wiedział jak się rozkładają częstotliwości w czasie, możesz coś z tym zrobić. Możesz wykonać dekompozycję falkową aby wyłuskać odpowiednie pasmo z sygnału, zrobić na tym STFT i dalej kombinować. W ten sposób rozpoznaje się mowę, odszumia, wyłuskuje ukryte sygnały.
Bez przejścia w dziedzinę częstotliwości tak naprawdę z samego sygnału w dziedzinie czasu niewiele się dowiesz.
A tak praktycznie, jeśli nagrywasz ten swój flecik przez chwilę i jest to "jednolite" nagranie bez żadnych zmian częstotliwości, to możesz założyć że masz sygnał deterministyczny, zrób na tym FFT i poobserwuj, jak załapiesz o co chodzi to będziesz wiedział co z tym zrobić.
Pozdrawiam

Kacper