Wykorzystanie Szybkiej Transformaty Fouriera do strojenia instrumentów gitarowych na urządzeniach mobilnych.

Podobne dokumenty
Podstawy Przetwarzania Sygnałów

Transformata Fouriera

Ćwiczenie 3. Właściwości przekształcenia Fouriera

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

8. Analiza widmowa metodą szybkiej transformaty Fouriera (FFT)

Algorytmy detekcji częstotliwości podstawowej

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

3. Przetwarzanie analogowo-cyfrowe i cyfrowo-analogowe... 43

Autorzy: Tomasz Sokół Patryk Pawlos Klasa: IIa

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Przygotowali: Bartosz Szatan IIa Paweł Tokarczyk IIa

7. Szybka transformata Fouriera fft

Zjawisko aliasingu. Filtr antyaliasingowy. Przecieki widma - okna czasowe.

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

dr inż. Artur Zieliński Katedra Elektrochemii, Korozji i Inżynierii Materiałowej Wydział Chemiczny PG pokój 311

Spis treści. 1. Cyfrowy zapis i synteza dźwięku Schemat blokowy i zadania karty dźwiękowej UTK. Karty dźwiękowe. 1

Ćwiczenie 3,4. Analiza widmowa sygnałów czasowych: sinus, trójkąt, prostokąt, szum biały i szum różowy

Transformata Fouriera i analiza spektralna

Wykorzystanie technologii.net do identyfikacji rodzaju głosu w aplikacjach mobilnych.

Generowanie sygnałów na DSP

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Kompresja dźwięku w standardzie MPEG-1

Teoria przetwarzania A/C i C/A.

Automatyczna klasyfikacja instrumentów szarpanych w multimedialnych bazach danych

ROZPOZNAWANIE GRANIC SŁOWA W SYSTEMIE AUTOMATYCZNEGO ROZPOZNAWANIA IZOLOWANYCH SŁÓW

Ćwiczenie 11. Wprowadzenie teoretyczne

Technika audio część 2

Analiza obrazów - sprawozdanie nr 2

Badanie widma fali akustycznej

Przekształcenie Fouriera i splot

SCENARIUSZ LEKCJI. Fale akustyczne oraz obróbka dźwięku (Fizyka poziom rozszerzony, Informatyka poziom rozszerzony)

Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Zastosowanie Informatyki w Medycynie

PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199

Cechy karty dzwiękowej

Ćwiczenie 12/13. Komputerowy hologram Fouriera. Wprowadzenie teoretyczne

PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających

POLITECHNIKA POZNAŃSKA

ANALIZA HARMONICZNA DŹWIĘKU SKŁADANIE DRGAŃ AKUSTYCZNYCH DUDNIENIA.

Konwersja dźwięku analogowego do postaci cyfrowej

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

uzyskany w wyniku próbkowania okresowego przebiegu czasowego x(t) ze stałym czasem próbkowania t takim, że T = t N 1 t

Julia 4D - raytracing

DYSKRETNA TRANSFORMACJA FOURIERA

Systemy akwizycji i przesyłania informacji

Automatyczna klasyfikacja zespołów QRS

Adam Korzeniewski p Katedra Systemów Multimedialnych

Ćwiczenie nr 65. Badanie wzmacniacza mocy

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

Transformaty. Kodowanie transformujace

DYSKRETNE PRZEKSZTAŁCENIE FOURIERA C.D.

Metodyka i system dopasowania protez słuchu w oparciu o badanie percepcji sygnału mowy w szumie

Symulacja sygnału czujnika z wyjściem częstotliwościowym w stanach dynamicznych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Maciej Piotr Jankowski

Zastowowanie transformacji Fouriera w cyfrowym przetwarzaniu sygnałów

2. Arytmetyka procesorów 16-bitowych stałoprzecinkowych

Analiza i przetwarzanie obrazów

Sprawdzian wiadomości z jednostki szkoleniowej M3.JM1.JS3 Użytkowanie kart dźwiękowych, głośników i mikrofonów

Laboratorium MATLA. Ćwiczenie 6 i 7. Mała aplikacja z GUI

FFT i dyskretny splot. Aplikacje w DSP

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

Laboratorium optycznego przetwarzania informacji i holografii. Ćwiczenie 4. Badanie optycznej transformaty Fouriera

Transformacja Fouriera i biblioteka CUFFT 3.0

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

Ćwiczenie 4: Próbkowanie sygnałów

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

Klasyfikacja metod przetwarzania analogowo cyfrowego (A/C, A/D)

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Sprawozdanie z laboratoriów HTK!

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

Laboratorium EAM. Instrukcja obsługi programu Dopp Meter ver. 1.0

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Cyfrowy miernik poziomu dźwięku

Fizyka skal muzycznych

AKUSTYKA. Matura 2007

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

dr inż. Artur Zieliński Katedra Elektrochemii, Korozji i Inżynierii Materiałowej Wydział Chemiczny PG pokój 311

Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L

Przetwarzanie sygnału cyfrowego (LabVIEW)

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Ćwiczenie: "Mierniki cyfrowe"

Badanie widma fali akustycznej

Dźwięk podstawowe wiadomości technik informatyk

Tranzystor bipolarny LABORATORIUM 5 i 6

Przetwarzanie sygnałów

Dlaczego skrzypce nie są trąbką? o barwie dźwięku i dźwięków postrzeganiu

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Laboratorium optycznego przetwarzania informacji i holografii. Ćwiczenie 6. Badanie właściwości hologramów

Publiczna Szkoła Podstawowa nr 14 w Opolu. Edukacyjna Wartość Dodana

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Transkrypt:

Wykorzystanie Szybkiej Transformaty Fouriera do strojenia instrumentów gitarowych na urządzeniach mobilnych. Kamil Nieradkiewicz Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, Rok II kamil.nieradkiewicz@gmail.com Streszczenie W poniższej pracy pokazano metodę wyznaczania dominujacej częstotliwości w wejściowym sygnale dźwiękowym oraz określenia częstotliwości bazowej na podstawie składowych częstotliwości sygnałów harmonicznych. Zebrane w ten sposób informacje wykorzystano do Strojenia instrumentów gitarowych. 1 Wstęp Aplikacja została zaprojektowana z myślą o smartfonach. Wybrano system BADA samsunga, który umożliwia tworzenie aplikacji z użyciem języka C++. Program ma za zadanie znalezienie częstotliwości granej struny, porównanie jej z częstotliwością poszczególnych dźwięków oraz umożliwienie użytkownikowi wyregulowania jej naciągu w taki sposób, aby dostroić każdą strunę do pożądanego dźwięku. 2 Dźwięki i strój gitary Tak jak zdecydowaną większość instrumentów, tak i gitarę stroi się do dźwięku kamertonu, który jest nazwany dźwiękiem a1 i ma dokładnie 440Hz. Gitary: klasyczna, akustyczna, elektroakustyczna oraz elektryczna posiadają 6 strun nazwanych (od najniższej) E, A, d, g, h, e1. W standardowym stroju gitary, który będzie tutaj omówiony, dźwięk kamertonu (a1) znajduje się na piątym progu najcieńszej struny (e1). Strojąc gitarę do dźwięku kamertonu, uzyskujemy nastrojoną najwyższą strunę. Posłuży nam ona jako referencja dla strojenia kolejnych, niższych strun. Na każdej niższej strunie, da się wydobyć dźwięk struny od niej wyższej i dzięki temu jedna nastrojona struna wystarczy do nastrojenia całej gitary. W tym momencie jednak najważniejsze jest, jak konkretne struny (dźwięki strun) odpowiadają sobie wzajemnie. Do tej pory bowiem określono częstotliwość dźwięku granego na piątym progu struny e1 (dźwięk a1-440hz). Aby wydobyć ze struny niższej dźwięk struny wyższej od niej należy strunę niższą przycisnąć na odpowiednim progu. I tak, aby uzyskać dźwięk czystej struny e1 na strunie h, należy tę strunę nacisnąć na piątym progu. [1] Cały strój pokazuje rys. 1 1

Rys.1 Należy teraz zaznajomić się z bardzo potrzebnym pojęciem oktawy. Oktawa jest to odległość dzieląca dźwięk od dźwięku o częstotliwości dwukrotnie wyższej lub niższej. Oktawa dzieli się na 6 tonów czyli 12 półtonów. Co ważne, półton jest odwzorowany jako jeden próg na gitarze. [2] Wiedząc, że oktawa dzieli dźwięki o częstotliwościach dwukrotnie wyższych lub niższych, oraz, że na gitarze, oktawie odpowiada 12 progów, łatwo policzyć, że zmiana częstotliwości o jeden próg to iloczyn bądź iloraz częstotliwości początkowej i 12 2. Znając już zmianę częstotliwości na każdym progu gitary oraz ilość progów różniących dźwięki na poszczególnych strunach, można w prosty sposób obliczyć częstotliwości każdej z nich. [3] Wynik przedstawia rys. 2. Rys.2 3 Dźwięk a dane cyfrowe Teraz należy spojrzeć na dźwięk z nieco innej perspektywy. Urządzenia cyfrowe, a w tym przypadku telefon komórkowy zbierają i zapisują sygnał dźwiękowy jako możliwe i proste do zinterpretowania dane. Sygnał dźwiękowy jest próbkowany z częstotliwością Fs i wartość amplitudy próbkowanego sygnału w każdej próbce jest zapisywana jako dane rzeczywiste (bądź całkowite) w postaci wektora bądź innej reprezentacji jednowymiarowego bufora danych. Co ważne i niestety niekorzystne dla realizacji tego projektu, takie podejście do przechwytywania sygnału daje bezpośredni dostęp jedynie do amplitudy sygnału w danym momencie czasu. Aby znaleźć składowe częstotliwości dźwięków należy wykonać na sygnale wejściowym dyskretną transformatę Fouriera (DST). DST pozwala na przejście z zapisu amplitudowego do zapisu częstotliwościowego[4] sygnału. Bezpośrednie wykonanie DST wiąże się jednak z ogromną złożonością obliczeniową O (n 2 ). 2

4 Szybka transformata Fouriera Szybka Transformata Fouriera (FFT) jest zoptymalizowaną, przyspieszoną metodą obliczania Dyskretnej Transformaty Fouriera (DST). Istnieje wiele implementacji metody obliczania FFT. Wynikiem działania Transformaty Fouriera jest wektor liczb zespolonych przechowujący w części rzeczywistej moc składowej sygnału o danej częstotliwości, natomiast w części urojonej jej przesunięcie fazowe. Pomimo, że dla realizacji naszego celu, informacje dotyczące przesunięcia fazowego są zupełnie zbędne, operacje na liczbach zespolonych są konieczne do obliczenia Transformaty. W związku z tym nie było możliwe zrezygnowanie z obliczania przesunięć fazowych oraz operacji na liczbach zespolonych na rzecz szybkości obliczeń. Jedyną przeprowadzoną optymalizacją jest zmiana typu danych struktury liczby urojonej na dane pojedyńczej precyzji. Z racji dużej ilości mnożeń, znaczących dla wyniku danych, przez liczby mniejsze od 1, dalsze zmniejszanie dokładności z typu zmiennoprzecinkowego pojedyńczej precyzji do typu liczb całkowitych również nie było możliwe. Do obliczenia Szybkiej Transformaty Fouriera został użyty algorytm Cooley-Tukey zaimplementowany przez: LIBROW, wraz z wyżej opisanymi zmianami. [5] Najważniejszym warunkiem wstępnym użycia algorytmu Cooley-Tukey jest rozmiar transformaty (rozmiar danych wejściowych) który musi być potęga liczby 2! Pierwszym krokiem algorytmu Cooley-Tookey jest odpowiednie uporządkowanie danych. Polega ono na odwróceniu numerów indeksów danych wejściowych zapisanych w systemie binarnym. Przykład obrazuje rys. 3 Rys.3 Podstawową operacją algorytmu FFT jest tzw. motylek(ang. butterfly). Zasadę działania motylka przedstawia rys. 4 Rys.4 3

Dla transformaty o rozmiarze (2 n ) należy wykonać n szeregów operacji motylkowych, jak pokazano na rys. 5. Rys.5 5 Aplikacja BADA i obsługa strumienia audio Aplikacja została zaprojektowana i napisana pod system Samsung Bada. Jest to system operacyjny dla smartfonów samsunga. Do testów aplikacji posłużył model Samsung Wave S8500 z systemem BADA 1.2. Środowisko BADA zapewnia wsparcie i obsługę podstawowych funkcji takich jak odtwarzanie audio, nagrywanie do pliku bądź nagrywanie do bufora danych. W aplikacji została użyta ostatnia funkcjonalność. Zapewnia ją klasa AudioIn. System umożliwia pełną obsługę zdarzeń takich jak np: niski stan baterii, wstrzymanie/wygaszenie ekranu bądź przerwania (np. ROZMOWA PRZYCHODZACA). Obsługę przerwania AudioIn przez połączenie przychodzące pokazuje rys. 6 Rys.6 [6] 4

W trakcie inicjalizacji AudioIn, przed rozpoczęciem nagrywania, muszą zostać zdefiniowane parametry nagrania takie jak. Fs - częstotliwość próbkowania ( 8000 Hz 48000 Hz ) Typ próbki : 8 bit bez znaku / 16 bit ze znakiem Ilość kanałów: 1-mono, 2-stereo Urządzenie wejściowe: mikrofon Ponadto, dla funkcjonalności aplikacji, kluczową rolę odgrywają takie parametry jak: Wielkość ramki (bufora danych) Wielkość transformaty Należy uzmysłowić sobie jaki wpływ mają na wydajność i dokładność poszczególne parametry. Aby uzyskać satysfakcjonujący rezultat należy znaleźć kompromis pomiędzy dokładnością wyznaczanej częstotliwości a czasem analizy sygnału. Biorąc pod uwagę ograniczone możliwości obliczeniowe telefonu komórkowego, bardzo ważne jest aby starannie dobrać parametry nagrywania. Kluczowymi dla końcowego efektu wielkościami charakteryzującymi analizę naszego sygnału jest jej dokładność oraz czas uzyskania jednego wyniku. Dokładność analizy można określić na podstawie kroku częstotliwości różniącego kolejne próbki sygnału wynikowego transformaty. Freq = t 2* Fs FFT size (1) Fs Bu f f orsize (2) Czas otrzymania wyniku jest mniejszy bądź równy dwukrotności czasu potrzebnego na zapełnienie jednego bufora danych. Jest to spowodowane tym, że w trakcie nagrywania (zapełniania bufora) nie możemy zacząć go jeszcze analizować. Natomiast czas analizy bufora nie może być dłuższy od czasu nagrywania bufora kolejnego, co spowodowałoby rosnącą w nieskończoność ilość danych do analizy i w efekcie zawieszenie urządzenia. Kluczowym więc dla nas czasem dostępnym na analizę jednego bufora będzie czas: T max = Fs Bu f f orsize (3) Po dużej ilości prób i optymalizacji, udało się znaleźć wartości parametrów nagrywania oraz transformaty, które spełniły oczekiwania czasowe i dokładnościowe: Fs : 11025 Wielkość ramki : 2048 Wielkość transformaty : 16384 Typ próbki : 8 bit bez znaku Ilość kanałów: 1-mono Co daje: Freq = 0,672 Hz T max = 0,185 sec 5

6 Częstotliwość bazowa Znalezienie maksymalnej wartości częstotliwości składowych sygnału nie jest wystarczające do określenia częstotliwości granego dźwięku (szarpniętej struny). Dźwięki harmoniczne a w szczególności sygnały instrumentów strunowych cechuje właściwość niezmiernie utrudniająca rozpoznanie strojonej struny. Problemem jest interpretacja wyników analizy sygnału, gdyż zagrana częstotliwość może wystąpić wielokrotnie w wynikach analizy. Tzn. grając dźwięk o częstotliwości 110 Hz w wyniku analizy możemy zobaczyć składowe harmoniczne o częstotliwościach równych wielokrotności 110 Hz czyli: 110Hz, 220Hz, 330Hz itd. Co jeszcze ważniejsze częstotliwość bazowa wcale nie musi pojawić się w wyniku analizowanego sygnału, jest to tzw. paradoks Missing Fundamental [7]. Zjawisko to jest powszechnie wykorzystywane i pozwala m.in. na granie tonów odbieranych przez słuchacza za niskie przez głośniki średniotonowe. Przypuśćmy, że słuchając zwykłego radia grana jest piosenka z linią melodyczną zawierającą dźwięki basowe o częstotliwości 80 Hz. Radio nie jest wyposażone w głośnik niskotonowy a najniższą możliwą do zagrania przez nie częstotliwością jest 110Hz. Aby poradzić sobie z odtworzeniem niższych tonów radio spreparuje sygnał i zagra wielokrotności jego częstotliwości tj: 160Hz, 240Hz, 320Hz, 400Hz,... Pozwoli to na zinterpretowanie przez słuchacza tak zagranego dźwięku jako dźwięk o częstotliwości 80Hz mimo, że nie został on tak na prawdę zagrany. Odbiorca rozróżni ten dźwięk i uzna za niższy od dźwięku np. 120 Hz.[8] Jednak to, co pomaga producentom niższej klasy sprzętu audio, zdecydowanie przeszkadza przy badaniu częstotliwości bazowej sygnału. Biorąc pod uwagę, że aplikacja musi sprawdzić się w warunkach rzeczywistych, nieidealnych, nawet wielokrotności częstotliwości bazowej mogą pojawiać się nieco nieregularnie. 7 Algorytm określajacy częstotliwość bazową Program implementuje autorski algorytm mający za zadanie określić częstotliwość bazową analizowanego sygnału na podstawie wyróżnionych, dominujących częstotliwości składowych. W uproszczeniu znajduje on kolejne znaczące (o dużej mocy) częstotliwości analizowanego sygnału oraz sprawdza ile z nich jest wielokrotnością którejś z poprzednich znalezionych częstotliwości. Na wypadek braku częstotliwości bazowej sprawdza on również wielokrotności połowy częstotliwości pierwszego, drugiego lub obu pierwszych częstotliwości (w zależności od ilości znaczących częstotliwości znalezionych w analizowanym sygnale). Częstotliwość która ma najwięcej wielokrotności w analizowanym sygnale zostaje uznana za bazową. Jednak w przypadku analizy wielokrotności połowy pierwszej/drugiej znalezionej częstotliwości(która nie ma odzwierciedlenia w wynikach transformaty jako częstotliwość składowa), ilość ta musi przekraczać ilość znalezionych wielokrotności sygnału, który został znaleziony jako częstotliwość składowa o co najmniej 2. 6

Rys.7 Na rys.7 widać graf przedstawiający moc składowych częstotliwości sygnału analizowanego. Można dostrzec 4 wierzchołki, z których najwyższy jest drugi a ostatni leży poniżej poziomej, czerwonej linii (czyli poniżej przyjętego poziomu szumu). Analizując ten sygnał, algorytm znajdzie i zapisze częstotliwości 3 wierzchołków. Widać wyraźnie, że są one rozmieszczone w równych odstępach (początek wykresu nie zaczyna się od 0Hz lecz ok 60Hz). Zdecydowanie dominującą częstotliwością w analizowanym sygnale jest częstotliwość drugiego wierzchołka. Jednak sprawdzając wielokrotności znalezionych częstotliwości program zidentyfikuje poprawnie częstotliwość wierzchołka pierwszego jako częstotliwość bazową. Jest to możliwe, dzięki zliczaniu i porównywaniu ilości wielokrotności częstotliwości kandydującego wierzchołka. Przeprowadzona również zostanie analiza częstotliwości będącej połową częstotliwości pierwszego wierzchołka. I tak, o ile wierzchołek pierwszy ma 2 wielokrotności (wierzchołki 2 i 3), tak połowa jego częstotliwości miałaby 3 wielokrotności (wierzchołki 1, 2 oraz 3). Jednak dzięki dodatkowemu warunkowi, opisanemu wyżej nie zostanie ona rozpoznana jako częstotliwość bazowa. Ponadto, program poddaje analizie dane z zakresu 60HZ-460Hz, dzięki czemu pomija zazwyczaj duże szumy na niskich częstotliwościach i umożliwia z zadawalającym marginesem stroić najwyższe struny gitary. Dodatkowym zabezpieczeniem jest rezygnacja z analizy sygnału, jeżeli jego moc nie będzie wystarczająca. Pozwala to na zaoszczędzenie obciążenia procesora i zwiększenie wydajności energetycznej urządzenia, poprzez zaniechanie analizy sygnału w momentach, kiedy żadna ze strun nie wydaje dźwięku. Kolejnymi istotnymi mechanizmami, pozwalającymi na dokładniejsze strojenie instrumentu są: wykorzystanie pojawiających się wielokrotności częstotliwości do określenia częstotliwości bazowej poprzez analizę nie tylko wierzchołka częstotliwości bazowej ale również różnic częstotliwości pomiędzy kolejnymi wierzchołkami. 7

zachowywanie poprzednich wyników częstotliwości i wyświetlanie wyniku średniego z 4 ostatnich prób. 8 Podsumowanie Dzięki rosnącym możliwościom, prężnie rozwijającego się przemysłu smartfonów i telefonów komórkowych. Oraz dzięki dużemu potencjałowi obliczeniowemu dzisiejszych urządzeń tego typu, aplikacja na telefony z systemem BADA może z powodzeniem pozwolić na strojenie gitary z zadawalającą precyzją. Umożliwia to wykorzystanie szybkiej metody obliczania Dyskretnej Transformaty Fouriera oraz złożona analiza otrzymanych wyników. Nie można jednak uznać, że dorównuje ona profesjonalnym stroikom muzycznym. Mimo tego, jest to dobra alternatywa dla osób które w przeciwieństwie do stroika, telefon noszą przy sobie zawsze. Literatura [1] http://gitaradlapoczatkujacych.pl/metody-strojenia-gitary.html [2] http://gitaradlapoczatkujacych.pl/krotka-historia-poltonow.html [3] http://gitaradlapoczatkujacych.pl/zakres-czestotliwosci.html [4] http://elektronikab2b.pl/technika/3096-dyskretna-transformata-fouriera [5] http://www.librow.com/articles/article-10 [6] http://developer.bada.com/help/index.jsp?topic=/com.osp.devguide.help/ [7] http://www.hydrogenaudio.org/forums/lofiversion/index.php/t40690.html [8] http://www.ihear.com/pitch/paradoxical.html 8