2Bu yazımda okulum KOÜ ELOHAB öğrencilerinden FURKAN AVCU , NİDA HORASANLI, MURAT TEMÜR ‘ın yapmış olduğu linux tabanlı işletim sistemlerinde oldukça ilgi gören Qt arayüzü üzerinden bir müzik tanıma sistemi tanıtımını onlar yerine yapacağım.

Günümüzde teknolojinin gelişmesiyle birlikte müzik tanıma uygulamaları cep telefonlarına kadar girmektedir. İnsanlar sahip oldukları akıllı telefonları ile radyodan dinleyip beğendikleri müzikleri, telefonlarındaki müzik tanıma uygulamalarına dinletmekte ve sanatçı, albüm  ve parça bilgilerine ulaşabilmektedir. Bu yazıda Beaglebone Black platformunda mikrofon aracılığı ile dinlediği müziği tanıyan ve istenilen radyo programlarını dinleyip çalınan müziklerin istatistiklerini tutan bir arayüz programının gerçekleştirilmesi anlatılacaktır.

Program radyo yayınlarında çalınan müzik bilgileri hakkında bir istatistik oluşturma amacıyla geliştirilmiştir. Özellikle bir şarkının medyada ve müzik listelerindeki durumunu ve popülaritesini belirlemek amacıyla kullanılabilir. Program yalnızca internet radyolarını değil mikrofon girişi sayesinde radyo çalarlar ve televizyonlarda yayın yapan müzik kanallarındaki çalınan şarkılar hakkında da istatistik tutabilmektedir. Program aynı zamanda mikrofon girişinden dinletilen müziğin belirlenmesini sağlayarak mevcut müzik tanımlama programlarıylada aynı işi yapabilmektedir. Program seçilen radyo yayınlarının istatistiğini tutarken aynı zamanda radyo yayınınıda dinletebilmektedir.

1.     ECHOPRINT

Echoprint açık kaynaklı bir müzik tanımlama kütüphanesidir. ECHONEST şirketi tarafından sürülen bu açık kaynaklı kütüphane bünyesinde 200 bin şarkıyı barındıran bir veri tabanına sahiptir. Geçmişte yada günümüzdeki aralarında Türkçe şarkılarında bulunduğu birçok müzik parçasını veri tabanında bulundurmaktadır.

Echoprint iki kısımdan oluşmaktadır. Codegen 11KHz mono PCM ses verisini alıp whitening filtreden geçirdikten sonra 8 bantlık alt bantlara ayırır. Bu bantlar oktavlardan ziyade nota bilgilerini içerir. 8 banta ayırma işlemi Short Time Disctrete Fourier Transform(STDFT) yapılarak gerçekleştirilir. Bu aşamadan sonra Acoustic Fingerprint çıkarımı Chromaprint yöntemiyle gerçekleştirilir. Çıkarılan Fingerprint’ler zaman bilgilerinide içeren hash kodlarına dönüştürülür ve sıkıştırılır. Sıkıştırılmış hash kodları ile ECHONEST’in sunucularına istek yapıldığında içerisinde artist ve parça bilgilerinin bulunduğu metadata gönderilir. Echoprint’in çalışma yapısı Şekil 1’de verilmektedir.

1

Şekil 1: Echoprint Genel yapısı

2.     Whitenin Filter

Mikrofon benzeri cihazlarla yapılan ses kayıtlarında istenmeyen gürültüler meydana gelmektedir. Bu gürültüler sesin kalitesini bozmaktadır. Ses kayıtlarını bu gürültülerden arındırmak için çeşitli filtreler kullanılmaktadır. Bu uygulamada ortam gürültüsünü bastırmak amacıyla Whitening filtre tercih edilmiştir. Filtre işareti beyaz gürültüye benzeterek gürültüyü bastırmaya çalıştığından dolayı ismini Whitening filtre olarak almıştır. Şekil 2’de Whitening filtrenin yapısı verilmiştir.

2

Şekil 2: Whitening Filtre

Ses sinyalleri incelendiğinde genellikle sesin olmadığı bölgelere raslanır. Bu bölgelerde anlamlı bir ses bulunmamakta ve sadece gürültü bilgisini içermektedir. Ses sinyali kısa zamanlı pencerelere ayrılarak bu kısa zamanlı pencerelerin enerjileri hesaplanır. Elde edilen sonuçlara göre sesin bulunduğu bölgeler sesin olmadığı bölgelere göre çok daha yüksek enerjilere sahip olmaktadır. Bir eşikleme yapılarak sesin olmadığı bölgeler sesin olduğu bölgelerden ayrılarak ses sinyalindeki gürültülü bölge seçilir. Bu gürültülü bölge STDFT yapılarak spektrumları çıkarılır. Elde edilen bu spektrumların ortalaması alınarak ortalama spektrum hesaplanır. Ortalama spektrum kayan ortalama alıcıdan geçirilerek pürüzsüzleştirilir ve tersi çevirilerek denkleştirilmiş spektrum elde edilir. Daha sonra denkleştirilmiş spektrum ters STDFT yapılarak konvolüsyon filtresi elde edilir. Elde edilen bu filtre ile ses işareti konvüle edilerek gürültü bastırılmaya çalışılır.

3.     Chromaprint

İnsanlar genelde sesi dalga formu biçiminde görür. Şekil 3’te sesin dalga formu gösterimi verilmiştir. Bu gösterim bir çok uygulamada kullanılır fakat analiz için kullanışlı değildir. Daha kullanışlı bir gösterim olarak spektrogramlar kullanılır. Spektrogram x ekseninde zamanın, y ekseninde frekansın konumlandığı bir gösterim tipidir. Bu gösterim sayesinde anlık birim zamanda hangi frekans değerlerinin olduğu gözlemlenebilir. Şekil 4’te spektrogram örneği verilmiştir.

3

4

Bu algoritmada, orjinal ses işareti birbiriyle örtüşen pencereler ile bölünüp her bir pencerenin Fourier dönüşümü alınır. Bu olaya kısa zamanlı Fourier dönüşümü(Short-Time Fourier Transform) denir. Giriş ses işareti, 11025Hz örnekleme oranına dönüştürülür(bir ses işaretinin 44.1kHz’de örneklendiğini varsayarak 4’te 1 oranında örnekleme oranı azaltılıyor). Çerçeve uzunluğu 4096(0.371sn) örnektir ve çerçeveler ⅔ oranında örtüşmektedir(Atlama Boyutu = Çerçeve Boyutu / 3).

Bazı uygulamalar zaman ve frekanstaki geçiş farklılıklarını karşılaştırarak, bazıları ise spektrogramdaki tepe noktalara bakarak fingerprint’i çıkartır.

Chromaprint ise frekans içerisindeki müzik notalarını dönüştürerek daha çok bilgi işler. Bu çalışmada oktavlarla ilgilenilmeyip sadece notalarla ilgilenilecektir. Tonal karşılaştırmalarda her bir nota için 12 perde sınıfı vardır. Bu bilgiye chroma özellikleri denir. Daha sonra spektrogram bazı filtreleme ve normalizasyon işlemlerinden geçer.

Ses işaretlerinin temsillerini eşleştirebilmek için kısa ve etkili bir forma ihtiyaç vardır. Bu form gürültülere, kayıplara karşı dayanıklı olmalı ve eşleştirmenin gerçeklenmesi zor olmamalıdır. Mevcut bir şarkının fingeprintini veri tabanında ararken bu kriterlere bağlı kalarak derli toplu bir formun oluşturulması gerekir. Bütün bir spektrograma, konvolüsyon aracılığıyla eşleştirme yapılabilir fakat bu yöntem hem yavaş hem de hatalı olabilir. Bunun yerine, belli filtreler ile spektrogramın karakteristiğini kestirmek mümkündür. Çıkan karakteristik verilere göre eşleştirme yapılabilir. Yine bu filtreler sayesinde, aynı şarkının orjinal ve bozulmuş seslerini yüksek oranda benzetmek hedeflenmiştir.

16×12 birimlik piksel boyutunda geniş pencereler alınır ve bu pencereler görüntünün üzerinde soldan sağa doğru kaydırılır. Bu sayede bir çok alt görüntü oluşacaktır. Her bir alt görüntüye 16 tane ön tanımlanmış filtre uygulanır. Bu filtreler nota ve zaman içerisinde yoğunluk farklılıklarını yakalayabilirler. Filtreler, matematiksel olarak belli alanlarda alt görüntüleri gri ölçekte toplar. Daha sonra bu toplamlar karşılaştırılır.

Alanları düzenlemek için 6 farklı örnek filtre şekil 5’teki gibidir.

5

Şekil 5: Aday filtreler

Temel olarak bu filtrelerden herhangi biri seçilebilir. Bu filtreler alt görüntülerin herhangi bir yerine yerleştirebilir ve yine 16×12 piksellik alt görüntünün boyunu geçmeyecek şekilde istenilen büyüklükte alınabilir. Müzik tanımlama için çarpraz filtreler kullanılabilir(4.filtre). Bu filtre ile zaman ve frekansta komşu değerler arasındaki fark hesap edilmiş olur.  Filtreler, alt görüntülerdeki beyaz ve siyah alanların toplamını hesaplar ve bu ikisini birbirinden çıkarırlar. Sonuç olarak gerçek tek bir sayı elde edilir. Her bir filtre 3 katsayıya sahiptir ve bu gerçek sayı nasıl kuantalama olduğunu söyler. Nihai sonuç 0 ile 3 arasındadır. Bu filtreler ve katsayılar kütüphanein gelişimi sırasında ses dosyalarının ayarlanmış bir eğitim verileri üzerinde bir makine öğrenme algoritması tarafından seçilir.

16 tane filtre vardır ve her bir filtre bir sayı üretir. Bu sayılar 2 bit ile temsil edilir(Gray kodlamayı kullanarak). Bütün filtrelerin sonucu birleştirilirse sonuç olarak 32-bitlik bir sayı elde edilmiş olur. Eğer bu durum 16×12 piksellik pencerelerin görüntü üzerinde kayıdırılmasıyla oluşan her bir alt görüntü için uygulanılırsa bütün sesin fingerprint’i elde edilmiş olur. Bu tür parmak izlerini karşılaştırmanın basit yolu bit hata oranının hesaplanmasıdır. Yöntem olarak ‘Hamming Distance’ kullanılır. Bu yöntemde, eşit uzunluktaki verilerin farklı olan karakterleri belirlenip hata oranı tespit edilir. Eşleşen fingerprint’i bulurken iki fingerprint arasındaki farklılıklara bakılır. Elde edilen fark belli eşik değerlerine göre karşılaştırılıp eşleşmenin olup olmadığına dair karar verilir.

Sonuçlar:

Şekil 6’da aynı şarkının farklı formatlarda fingerprint’leri ve şekil 7’de bunlar arasındaki fark ile aynı şarkının  bazı enstürmanlardaki fingerprint farklılıkları gösterilmiştir. Şekilden de görüldüğü üzere formatlar veya enstürman farklılıkları olsa bile benzerlik büyük oranda korunmuştur.

6

Şekil 6: Fingerprintler ve farkları

 7

Şekil 7: Fingerprintler ve farkları

Şekil 8’de ise mevcut şarkının başka bir şarkının fingerprint’i ile karşılaştırılması gösterilmiştir. Yine şekilde görüldüğü üzere farklı şarkıların fingerprintleri arasında büyük fark vardır ve bu sayede şarkıların ayırt edilebildiği gözükmektedir.

8

Şekil 8: Fingerprintler ve farkları

4.     Tasarım Ve QT Kullanıcı Arayüzü

Projenin Qt kullanıcı arayüzü hazırlama aşamasında Şekil 9’da gösterilen akış şeması üzerinden yola çıkılmıştır.

9

Şekil 9: Akış Şeması

4.1.        BBB- Beagle Bone Black

4.1.1.   Mplayer Ve İnternet Radyo Yayını

Özgür ve açık kaynak kodlu bir ortam oynatıcısı olan mplayer BBB gömülü sistem platformunda koşan angstrom işletim sisteminin paket yöneticisi olan opkg yazılımı ile

> opkg install mplayer

komutu kullanılarak angstrom sunucularından indirilerek sisteme yüklenmiştir.Çoklu ortam kullanmına destek veren bu yazılım LinuxUnix-benzeriWindows ve Mac-OS dahil olmak üzere bir çok işletim sisteminde çalışabilmektedir. MPlayer GNU Genel Kamu Lisansının 2. sürümü altında dağıtılır.Hemen hemen tüm media biçimlerini desteklemesininyanında internetteki tüm genel aktarım biçimlerini oynatabilir ve dosyaya kaydedebilir.[1]

İnternet radyo yayını alımında mplayer process’i çalıştırılıp radyo yayınlarının url adresleri kullanılarak müzik parçasının gerçek zamanlı olarak dinlenebilmesi ve bu müzik parçalarının istenildiğinde mp3 dosyası olarak kaydının gerçekleştirilmesi sağlanmıştır.

4.1.2.   BBB Platformuna Echoprint-codegen yazılımının ve Qt paketlerinin yüklenmesi

Echo-print codegen yazılımının kaynak kodları [2] sitesinden,

>git clone –b release-4.12 git://github.com/echonest/echoprint-codegen.git

komutu ile BBB’ e indirilerek, öncelikle kullandığı library dosyaları

>opkg install ffmpeg libboost1.42-dev libtag1-dev zlib1g-dev

komutu ile kurularak daha sonra aşağıdaki komut satırları çalıştırılıp compile ve yükleme işlemleri yapıldıktan sonra echoprint-codegen yazılımı kullanıma hazır hale getirilmiştir.

>cd /paths_of_download_file/echoprint-codegen/src
> ./configure
./make

Echoprint-codegen process ‘inin çalıştırılıp fingerprint verisinin oluşturulması aşamasında code etiketiyle oluşturulan fingerprint bir dosyaya kaydedilerek Qt arayüzünün bu dosyadan fingerprint’i okuması gerçekleştirilmiştir. O yüzden kaynak kodlarında yapılan her değişiklikten sonra yukarıdaki compile işlemlerinin tekrarlanması gerekmektedir.

Qt arayüzünün BBB’ de çalışması için arayüzün gereksinim duyduğu library paketlerinin yüklenmesi angstrom shell ekranında aşağıdaki komutun çalıştırılması ile sağlanmıştır.

> opkg installqt4-embedded

4.2.        Host Pc Qt Creator Yüklenmesi Ve BBB Cross-Compile Ortamının Hazırlanması

Projede  host pc tarafında ubuntu linux 13.10 işletim sistemine [3] sitesinden Qt 5.1 sürümünün .run uzantılı dosyası indirilerek Qt Cretor 5.1 ve library dosyaları yüklenmiştir.  Bu aşamadan sonra [4] ‘de paylaşılan siteki adımlar tek tek izlenerek BBB platformu için Cross-Compile ortamı hazırlanmıştır.

Öncelikle angstrom-distribution-org sunucusu son 1 aydır kullanılamadığından [5] verilen adreste angstrom toolchain indirilerek aşağıdaki komut çalıştırılmalıdır.

$ tar -C / -xjf angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2

Daha sonra gömülü platformlar için hazırlanan everywhere-opensource-src-Qt 4.8.5 sürümü indirilerek BBB platformu için derlenerek host pc ye yüklenmiştir.

$ wget http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz
 
$ tar -xzf qt-everywhere-opensource-src-4.8.5.tar.gz
 
$ mv qt-everywhere-opensource-src-4.8.5 qt-4.8.5-beagle

$ cd qt-4.8.5-beagle

$ mkdir ./mkspecs/qws/linux-am335x-g++

$ cp ./mkspecs/qws/linux-arm-g++/qplatformdefs.h ./mkspecs/qws/linux-am335x-g++

$ touch ./mkspecs/qws/linux-am335x-g++/qmake.conf

qmake.conf oluşturulduktan sonra aşağıdaki satırlar qmake.conf’a kopyalanmalıdır.

#
 
# qmake configuration for building with arm-linux-g++
 
#
 
include(../../common/linux.conf)
 
include(../../common/gcc-base-unix.conf)
 
include(../../common/g++-unix.conf)
 
include(../../common/qws.conf)
 
# modifications to g++.conf
 
#Toolchain
 
#Compiler Flags to take advantage of the ARM architecture
 
QMAKE_CFLAGS_RELEASE =   -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
 
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
 
QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc
 
QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
 
QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
 
QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
 
# modifications to linux.conf
 
QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs
 
QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy
 
QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip
 
load(qt_config)
 
./configure -v -opensource -confirm-license -prefix /opt/qt -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-am335x-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -little-endian -host-big-endian -no-pch -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-webkit -no-qt3support -nomake examples -nomake demos -nomake docs -nomake translations

 

Ve aşağıdaki komut satırıyla da host pc’ye yüklenmiştirDaha sonra aşağıdaki komutla BBB için derlenmiştir.

$ make -j 4

$ sudo make install

En son olarak qt angstrom için oluşturulan qt lib dosyalarının kopyalanması işlemi gerçekleştirilmiştir.

root@beaglebone:/# mkdir /opt

root@beaglebone:/# mkdir /opt/qt

Ve /etc/profile dosyasına aşağıdaki satır eklenerekbash’in bu dosyaları kullanması sağlanmıştır.

$scp-r/opt/qt/libroot@192.168.7.2:”/opt/qt

PATH=”…:/opt/qt/lib”

Host Pc’de Qt Creator açılmadan önce, aşağıdaki komut yazılarak angstrom toolchain dosyalarının source edilmesi sağlanmalıdır.

$./usr/local/angstrom/arm/environment-setup

Qt Creator açıldıktan sonra da IDE arayüzünde aşağıdaki işlemler gerçekleştirilerek BBB cross-compile platformu hazırlanarak kodlar gerçek zamanlı olarak BBB’ e deploy edilebilerek debug yapabilme imkanı kazanılmıştır.  Böylece arayüz hazırlama ortamı hazırlanması tamamlanmıştır.Bu adımların ingilizce paylaşılmasının sebebi Qt Creator IDE arayüzünün de ingilizce olmasından kaynaklanmaktadır.

  • Open Qt Creator and
  • Configure Qt version
  • Go to Tools->Options->Build & Run->Qt Versions and click Add
  • Select qmake.conf from /opt/qt/bin
  • Click Ok
  • Configure target device connection
  • Go to Tools->Options->Devices
  • Click Add and select Generic Linux Device
  • Add IP 192.168.7.2, User: root // Beagle bone ssh bağlantısında kullanılan IP
  • Set name to “Beaglebone”
  • Click Ok
  • Configure Compiler
  • Go to Tools->Options->Build & Run->Compilers and click Add->GCC
  • Select compiler path: /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++
  • Click Ok
  • Configure Kit
  • Go to Tools->Options->Build & Run->Kits and click Add
  • Call new kit Beaglebone
  • Select device type: “Generic Linux Device”
  • Select the device you previously created
  • Select compiler you created
  • Select Qt version you created
  • Select GDB path as /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gdb
  • Click Ok

4.3.        Qt Arayüzü ve Özellikleri

Qt kullanıcı arayüzü Şekil10’da gösterilmektedir. Bu GUI beagle bone shell ekranında

>./Beagle -qws

komutuyla çalıştırılıp kullanıcının müzik tanıma sistemini kolaylıkla kullanabilmesi için hazırlanmıştır.

10

Şekil 10: Qt Kullanıcı Arayüzü

4.3.1.   Dinle Seçeneği

İstenilen Radyo kanalı seçildikten sonra usb audio adapter aracılığıyla radyo yayının kulaklıktan veya hoparlörden dinlenebilmesi

4.3.2.   Mikrofon Kayıt Seçeneği

Mikrofon kayıt seçeneğiyle usb audio adapter’a takılan bir mikrofon aracılığıyla dış dünyadan 1 dakikalık müzik parçasının wav dosyası olarak kaydı yapıldıktan sonra fingerprint oluşturulup veri tabanındaki verilerle match edildikten sonra cevabın ayıklanıp şarkı ve sanatçı bilgisinin log ekranına kaydedilmesi

4.3.3.   Radyo Yayın Seçeneği

Radyo yayını mplayer ortam oynatıcısı ile başlatılıp 20 saniyelik bir process çalışma süresi içinde mp3 dosya formatında kaydedilen müzik parçası echoprint-codegen process’ine gönderilerek fingerprint’i oluşturulduktan sonra veri tabanı erişimi sağlanarak şarkı ve sanatçı bilgisinin anlık olarak log ekranında gösterilmesi gerçekleştirilmektedir.

İkinci bir seçenek olan combo seçeneğiyle radyo yayını tek kanal üzerinden alınmayıp seçili olan radyo kanalı ve seçilen combo sayısı kadar sonraki kanallar da 1 dk da bir timeout a düşen timer ile taranıp şarkı ve sanatçı bilgisi alınmaktadır.Bu seçeneğin amacı genel olarak müzik parçalarının uzunluğu ortalama 4 dakika olduğu bilindiği için her 1 dakikada bir aynı radyo yayınını taramak yerine (çünkü böylece 3 veya 4 defa aynı parça bilgisini bulacaktır) 4 dk boyunca farklı radyo kanalları taranarak sistemin daha verimli çalışması sağlanmaktadır.

4.3.4.   Web Ara Seçeneği

Web ara seçeneğiyle de basit bir web browser form ekranı hazırlanıp ana sayfası www.lyrics.com yapılarak kullanıcının istediği şarkının şarkı sözlerine erişiminin sağlanması hedeflenmiştir. Bu web browser da kullacı ayrıca text alanını kullanarak google arama yapabilir.

4.3.5.   Yenile Seçeneği ve bug fix

Sistemin gerçek zamanlı olarak çalışması test edilirken uzun bir zamandan sonra http isteklerinin cevaplanamadığı farkedilmiştir ve beagle bone shell ekranında ping 8.8.8.8 komutu ile internet erişimi test edildiğinde kitin internet erişimini sağlayamadığı görülmüştür. Udhcpc (mikro dhcp client) yazılımı çalıştırılarak internet erişiminin sağlandığı görülmüştür. Böylece kullanıcının radyo yayını kesintisiz dinlemesi için yenile butonu eklenmiş ve burada udhcpc process i tekrardan çalıştırılmıştır. Radyo yayını parça bilgisi çıkarma işleminde ise http cevabında eğer bir hata tespit edilirse bu udhcpc yenile seçeneğinin otomatik olarak gerçekleştirilmesi sağlanmıştır ki müzik tanıma sistemi kesintiye uğramasın. Bu bug sadece host pc internet erişimi paylaşılarak yapıldığında görülmüştür, beagle bone kitini direk olarak modeme bağladığımızda saatlerce test edildiğinde bile böyle bir hata ile karşılaşılmamıştır.

4.3.6.   Log Ekranı

Http reply metadata verisinden şarkı ve sanatçı bilgisinin ayıklanıp zaman etiketiyle log ekranında gösterilmesi Qt arayüzünün plaintextedit sınıfı kullanılarak arayüz ekranında gösterilmektedir. Bu veri yayın durdurulduktan (durdur butonuna basıldıktan) sonra log ekranı log_data.txt dosyasına kaydedilmektedir.

4.3.7.   Screenshot Seçeneği

Bu seçenekle kullanıcı istediği zaman pencere ekran görüntüsünü .png formatında kaydedip BBB /home/root/ klasöründen screenshot.png dosyası olarak host pc ye download edebilmektedir.

Kaynakça

[1].http://tr.wikipedia.org/wiki/MPlayer

[2].https://github.com/echonest/echoprint-codegen

[3].http://qt-project.org/downloads

[4].https://googledrive.com/host/0B3Z340LOBulvMG5NRmNlZEppSEE/

[5].http://www.cloud-rocket.com/2013/07/building-qt-for-beaglebone/

 

Proje dökümanlarına ulaşmak için : BBB-Qt_ile_Muzik_TanimaSistemi

______

Gökhan TARIM

tarim.gokhan@gmail.com