memroses sinyal input menjadi output dengan efek echo dengan tms320c6414

12
Tugas kuliah: Pemrosesan Sinyal, Tahun: 2013, Semester: VII 1 AbstractPemberian efek audio dapat dilakukan menggunakan DSP board. Efek audio memiliki berbagai jenis, yaitu fuzz, echo, dan reverb. Aplikasi dari efek audio ini banyak digunakan dalam musik dan industri hiburan. Pada proyek ini hanya akan dikerjakan efek audio dengan tipe echo. Echo itu sendiri merupakan cerminan suara yang datang ke pendengar dalam jumlah jangka waktu setelah suara asli. Suara echo akan dipantulkan dan akan terdengar lebih lambat daripada suara asli. Pengerjaan efek audio tipe echo ini menggunakan pemrograman C dengan software Code Composer Studio v3.1. Hasil dari pemrosesan sinyal efek echo ini dianalisis menggunakan software audio editor Cool Edit Pro v2.1. Hasil menunjukkan bahwa dengan menggunakan TMS320C6416 DSK, dapat dikembangkan menjadi aplikasi real-time untuk efek audio, khususnya pemrosesan sinyal efek audio echo. Index Termsefek audio, echo, DSP, Pemrograman C, TMS320C6416 DSK. I. PENDAHULUAN udio effect secara artifisial adalah membuat atau memodifikasi suara, atau memroses suara yang digunakan untuk menekankan artistik atau konten lain dari film, acara televisi, live performance, animasi, video game, musik, atau media lainnya. Dalam film dan produksi televisi, efek suara adalah suara yang direcord dan ditampilkan untuk membuat cerita tertentu lebih menarik. Efek audio adalah salah satu dari banyak aplikasi dari DSP. Prinsip efek audio untuk memanipulasi sinyal input ke sinyal keluaran baru seperti yang diharapkan. Dalam kehidupan sehari-hari, efek audio yang umum digunakan dalam industri hiburan. Sebelum era digital, efek audio dapat dibuat dengan menggunakan rangkaian analog, tetapi penggunaan rangkaian analog untuk efek audio dalam satu rangkaian membutuhkan rangkaian yang sangat kompleks. Rangkaian analog yang kompleks ini tidak efektif dari segi waktu, anggaran, dan fleksibilitas. Efek audio menggunakan prosesor DSP tidak serumit efek audio yang menggunakan rangkaian analog. Meskipun menggunakan prosesor DSP dapat membuat sinyal audio dalam satu proyek, rangkaian ini tidak secara signifikan mengubah atau menambahkan, tetapi program akan jauh lebih kompleks. Prosesor DSP yang digunakan dalam desain efek audio ini adalah DSK TMS320C6416. Dalam DSK, aplikasi membangun algoritma menggunakan bahasa C, atau bahasa Assembler. Jadi, hal pertama yang harus dilakukan adalah melakukan coding. Kemudian setelah coding dilakukan, algoritma dapat terlibat langsung ke DSK, dan kemudian output dan kinerja program dapat dianalisis. Secara umum, efek audio diklasifikasikan menjadi tiga jenis, yaitu Drive / Distortion, Modulation, dan Ambience. Sebelum menerapkan efek ini di TMS320C6416 DSK, kita harus tahu bagaimana efek audio bekerja. Mengetahui cara kerjanya akan membantu kita untuk membuat algoritma dari efek audio. Paper ini akan mengulas tentang kinerja desain efek real-time audio untuk echo. TMS320C6416 DSK digunakan untuk proses desain. Hasilnya menunjukkan bahwa perancangan menggunakan DSP board, dapat berkembang menjadi aplikasi real-time untuk efek audio dalam perangkat elektronik dan akustik. Jadi desain dapat ditulis dalam perangkat chip TMS320C6416. DSK TMS320C6416 adalah board DSP, sebuah platform di mana seseorang dapat membangun aplikasi pemrosesan sinyal dengan menulis sebuah program di board DSP [1]. Proses pada DSP board ini sangat sederhana, sinyal analog datang dari port di line in / mic. Selanjutnya, itu akan disampel menjadi sinyal digital oleh codec tersebut. Setelah itu, sinyal akan diproses secara digital oleh DSP. Bagaimana proses snial pada DSP ini tergantung pada bagaimana program pengguna board DSP. Kemudian, sinyal keluaran akan keluar melalui line out / headphone. Seperti disebutkan sebelumnya, pemrosesan sinyal oleh DSP tergantung pada algoritma program yang diberikan dari pengguna ke prosesor DSP. Menulis sebuah program dalam prosesor DSP adalah hampir sama dengan menulis program dalam prosesor lainnya, yang menggunakan bahasa mesin atau assembler. Sebagai alternatif, kita juga dapat menggunakan bahasa C untuk program prosesor DSP. Untuk pengembangan aplikasi dengan DSK, Texas Instrument menyediakan perangkat lunak yang disebut Code Composer Studio (CCS). CCS adalah perangkat lunak yang digunakan untuk antarmuka pengguna dan board DSP. CCS menyediakan lingkungan kerja yang berisi semua peralatan yang diperlukan untuk memprogram prosesor DSP [2]. Memroses Sinyal Input Menjadi Output dengan Efek Echo dengan TMS320C6416 (Echo Control) Arya Gamma Aditia (0906529615), Departemen Fisika, Universitas Indonesia A

Upload: arya-gamma-aditia

Post on 13-Aug-2015

1.174 views

Category:

Documents


3 download

DESCRIPTION

Abstract—Pemberian efek audio dapat dilakukan menggunakan DSP board. Efek audio memiliki berbagai jenis, yaitu fuzz, echo, dan reverb. Aplikasi dari efek audio ini banyak digunakan dalam musik dan industri hiburan. Pada proyek ini hanya akan dikerjakan efek audio dengan tipe echo. Proyek ini bertujuan untuk memroses sinyal input sehingga menghasilkan sinyal output berupa hasil modifikasi sinyal input dengan efek echo. Echo itu sendiri merupakan cerminan suara yang datang ke pendengar dalam jumlah jangka waktu setelah suara asli. Suara echo akan dipantulkan dan akan terdengar lebih lambat daripada suara asli. Pengerjaan efek audio tipe echo ini menggunakan pemrograman C dengan software Code Composer Studio v3.1. Hasil dari pemrosesan sinyal efek echo ini dianalisis menggunakan software audio editor Cool Edit Pro v2.1. Hasil menunjukkan bahwa dengan menggunakan TMS320C6416 DSK, dapat dikembangkan menjadi aplikasi real-time untuk efek audio, khususnya pemrosesan sinyal efek audio echo.

TRANSCRIPT

Page 1: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Tugas kuliah: Pemrosesan Sinyal, Tahun: 2013, Semester: VII 1

Abstract—Pemberian efek audio dapat dilakukan

menggunakan DSP board. Efek audio memiliki berbagai jenis,

yaitu fuzz, echo, dan reverb. Aplikasi dari efek audio ini

banyak digunakan dalam musik dan industri hiburan. Pada

proyek ini hanya akan dikerjakan efek audio dengan tipe echo.

Echo itu sendiri merupakan cerminan suara yang datang ke

pendengar dalam jumlah jangka waktu setelah suara asli.

Suara echo akan dipantulkan dan akan terdengar lebih lambat

daripada suara asli. Pengerjaan efek audio tipe echo ini

menggunakan pemrograman C dengan software Code

Composer Studio v3.1. Hasil dari pemrosesan sinyal efek echo

ini dianalisis menggunakan software audio editor Cool Edit Pro

v2.1. Hasil menunjukkan bahwa dengan menggunakan

TMS320C6416 DSK, dapat dikembangkan menjadi aplikasi

real-time untuk efek audio, khususnya pemrosesan sinyal efek

audio echo.

Index Terms—efek audio, echo, DSP, Pemrograman C, TMS320C6416 DSK.

I. PENDAHULUAN

udio effect secara artifisial adalah membuat atau

memodifikasi suara, atau memroses suara yang

digunakan untuk menekankan artistik atau konten lain dari

film, acara televisi, live performance, animasi, video game,

musik, atau media lainnya. Dalam film dan produksi televisi,

efek suara adalah suara yang direcord dan ditampilkan untuk

membuat cerita tertentu lebih menarik.

Efek audio adalah salah satu dari banyak aplikasi dari DSP.

Prinsip efek audio untuk memanipulasi sinyal input ke sinyal

keluaran baru seperti yang diharapkan. Dalam kehidupan

sehari-hari, efek audio yang umum digunakan dalam industri

hiburan. Sebelum era digital, efek audio dapat dibuat dengan

menggunakan rangkaian analog, tetapi penggunaan

rangkaian analog untuk efek audio dalam satu rangkaian

membutuhkan rangkaian yang sangat kompleks. Rangkaian

analog yang kompleks ini tidak efektif dari segi waktu,

anggaran, dan fleksibilitas. Efek audio menggunakan

prosesor DSP tidak serumit efek audio yang menggunakan

rangkaian analog. Meskipun menggunakan prosesor DSP

dapat membuat sinyal audio dalam satu proyek, rangkaian

ini tidak secara signifikan mengubah atau menambahkan,

tetapi program akan jauh lebih kompleks. Prosesor DSP

yang digunakan dalam desain efek audio ini adalah DSK

TMS320C6416. Dalam DSK, aplikasi membangun

algoritma menggunakan bahasa C, atau bahasa Assembler.

Jadi, hal pertama yang harus dilakukan adalah melakukan

coding. Kemudian setelah coding dilakukan, algoritma dapat

terlibat langsung ke DSK, dan kemudian output dan kinerja

program dapat dianalisis. Secara umum, efek audio

diklasifikasikan menjadi tiga jenis, yaitu Drive / Distortion,

Modulation, dan Ambience. Sebelum menerapkan efek ini di

TMS320C6416 DSK, kita harus tahu bagaimana efek audio

bekerja. Mengetahui cara kerjanya akan membantu kita

untuk membuat algoritma dari efek audio. Paper ini akan

mengulas tentang kinerja desain efek real-time audio untuk

echo. TMS320C6416 DSK digunakan untuk proses desain.

Hasilnya menunjukkan bahwa perancangan menggunakan

DSP board, dapat berkembang menjadi aplikasi real-time

untuk efek audio dalam perangkat elektronik dan akustik.

Jadi desain dapat ditulis dalam perangkat chip

TMS320C6416.

DSK TMS320C6416 adalah board DSP, sebuah platform di

mana seseorang dapat membangun aplikasi pemrosesan

sinyal dengan menulis sebuah program di board DSP [1].

Proses pada DSP board ini sangat sederhana, sinyal analog

datang dari port di line in / mic. Selanjutnya, itu akan

disampel menjadi sinyal digital oleh codec tersebut. Setelah

itu, sinyal akan diproses secara digital oleh DSP. Bagaimana

proses snial pada DSP ini tergantung pada bagaimana

program pengguna board DSP. Kemudian, sinyal keluaran

akan keluar melalui line out / headphone. Seperti disebutkan

sebelumnya, pemrosesan sinyal oleh DSP tergantung pada

algoritma program yang diberikan dari pengguna ke prosesor

DSP. Menulis sebuah program dalam prosesor DSP adalah

hampir sama dengan menulis program dalam prosesor

lainnya, yang menggunakan bahasa mesin atau assembler.

Sebagai alternatif, kita juga dapat menggunakan bahasa C

untuk program prosesor DSP. Untuk pengembangan aplikasi

dengan DSK, Texas Instrument menyediakan perangkat

lunak yang disebut Code Composer Studio (CCS). CCS

adalah perangkat lunak yang digunakan untuk antarmuka

pengguna dan board DSP. CCS menyediakan lingkungan

kerja yang berisi semua peralatan yang diperlukan untuk

memprogram prosesor DSP [2].

Memroses Sinyal Input Menjadi Output

dengan Efek Echo dengan TMS320C6416

(Echo Control)

Arya Gamma Aditia (0906529615), Departemen Fisika, Universitas Indonesia

A

Page 2: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Tugas kuliah: Pemrosesan Sinyal, Tahun: 2013, Semester: VII 2

Gambar 1. Mekanisme efek echo

Alat-alat (tools) tersebut terintegrasi dengan CCS. CCS juga

merupakan perangkat lunak yang fleksibel yang dapat

bekerja sama dengan perangkat lunak populer, seperti

MATLAB, LabView, Visual Basic, dll

II. METODE

Echo merupakan pantulan suara yang datang ke pendengar

dalam jumlah jangka waktu setelah suara asli. Idealnya,

gema memiliki delay waktu yang relatif lama, yaitu lebih

dari 1 detik. Sehingga dalam efek gema, suara sejati dan

suara buatan jelas dipisahkan, sehingga pendengaran

manusia bisa membedakan. Mekanisme gema dapat dilihat

gambar 1. Seperti yang terlihat pada Gambar. 1, sinyal pergi

dari sumber ke pendengar dalam dua jalur [3]. Pertama,

sinyal dari sumber pergi langsung ke pendengar. Kedua,

sinyal pergi ke dinding dan kemudian dipantulkan kepada

pengguna. Proses kedua akan membutuhkan waktu lebih dari

proses pertama, sehingga pendengar akan mendengar dua

suara dalam periode waktu yang berbeda. Kekuatan sinyal

dari proses kedua akan dilemahkan karena proses refleksi.

Ada beberapa langkah kerja yang diambil dalam proyek ini.

Langkah pertama adalah untuk melakukan inisialisasi yang

di board. Ada banyak jenis inisialisasi. Kami

menginisialisasi komponen board yang kita gunakan untuk

proyek tersebut.

Misalnya, dalam proyek efek audio echo ini, codec untuk

input audio dan jack output dalam program harus

diinisialisasi. Jika komponen lain seperti switch dan LED

ingin digunakan, kita harus menginisialisasinya terlebih

dahulu. Inisialisasi dapat ditulis dalam bahasa C.

Langkah berikutnya adalah untuk menulis program utama.

Pada bagian ini, sinyal input akan dimanipulasi dengan

algoritma tertentu sehingga output akan menciptakan sinyal

seperti yang diharapkan.

Dengan bantuan fitur CCS dan alat analisis eksternal, kinerja

output seperti redaman, delay, dan noise dapat dianalisis.

Dari sini, kinerja DSP juga dapat dilihat, dan itu merupakan

efisiensi dari algoritma yang dibuat oleh pengguna.

Berikut adalah penggalan bahasa-bahasa pemrograman C

yang digunakan untuk audio efek echo pada proyek ini.

#include "DSK6416_AIC23.h"

Uint32 fs=DSK6416_AIC23_FREQ_8KHZ;

#define DSK6416_AIC23_INPUT_MIC 0x0015

#define DSK6416_AIC23_INPUT_LINE 0x0011

Uint16 inputsource=DSK6416_AIC23_INPUT_MIC

Pada bagian awal dari pemrograman ini dapat dilihat

terdapat inisialisasi board. Pada bagian inisialisasi paling

awal diinisialisasi terlebih dahulu DSK6416_AIC23.h,

inisialisasi ini adalah salah satu yang terpenting karena

inisialisasi ini adalah untuk menginisialisasi codec.

TLV320AIC23B adalah high-performance stereo audio

codec yang digunakan pada TMS320C6416 board. Sehingga

dapat dikatakan TLV320AIC23B ini adalah merupakan

salah satu IC yang paling penting yang terdapat pada

TMS320C6416 board. Codec adalah singkatan dari dari

“Compressor-Decompressor” atau bisa “Coder-Decoder,”

yaitu sebuah device atau program yang mampu

mengubah/mentransform sinyal atau aliran data. codec dapat

merubah stream atau sinyal kedalam bentuk yang ter-

”encode” (sering dipakai pada transmisi, storage, enkripsi)

kemudian diterima, atau dapat men-”decode” bentuk

tersebut agar dapat dilihat / dimanipulasi ke bentuk yang

lain. Panjang data-transfer untuk TLV320AIC23B adalah

16, 20, 24, dan 32 bit, dengan sampel rate dari 8 kHz sampai

96 kHz. Dalam proyek ini digunakan sampling rate sebesar 8

kHz.

Selanjutnya dideklarasikan beberapa parameter dalam

bentuk float, short, dan int. Data float memiliki panjang data

sebesar 4 bytes atau 32 bits, data short memiliki panjang

data sebesar 2 bytes atau 16 bits, dan data int memiliki

panjang data sebesar 2 bytes atau 16 bits. Yang

dideklarasikan sebagai data float adalah gain, yang

dideklarasikan sebagai data short antara lain buflength,

buffer, input, output, dan delayed. Dan yang dideklarasikan

sebagai data int adalah i. Untuk parameter gain dan

buflength nilainya dapat divariasikan dengan file gel yang

akan dijelaskan selanjutnya

#define MAX_BUF_SIZE 8000

float gain = 0.5;

short buflength = 1000;

short buffer[MAX_BUF_SIZE];

short input,output,delayed;

int i = 0;

Setelah dideklarasikan parameter-parameter yang berperan

dalam pemrosesan sinyal echo efek seperti delayed, gain,

dan buffer. Maka selanjutnya adalah program utamanya.

Dalam program utama ini dibentuk bahasa C yang

memroses atau memodifikasi nilai input sehingga dapat

menghasilkan sinyal output berupa efek audio echo. Dan

dibawah ini merupakan bagian main program pada bahasa C

proyek ini.

interrupt void c_int11()

{

input = input_left_sample();

delayed = buffer[i];

Page 3: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Tugas kuliah: Pemrosesan Sinyal, Tahun: 2013, Semester: VII 3

output = input + delayed;

output_left_sample(output);

buffer[i] = input + delayed*gain;

if(++i >= MAX_BUF_SIZE)

i = MAX_BUF_SIZE - buflength;

return;

}

Pada bagian interrupt service routine (ISR) harus ditulis atau

dinamakan ISR-nya sebagai "c_int11 ()", karena nama ini

sudah didefinisikan dalam file "Vectors_intr.asm".

Input dari program ini adalah dari line in di TMS320C6416.

Function yang mengambil sinyal input ini adalah

input_left_sample(),input_left_sample() ini merupakan

fungsi untuk mengambil data sampling input dari AIC23

codec yang selanjutnya akan mentransmisikan sinyal audio

dari line in pada TMS320C6416 sehingga menjadi sinyal

yang dapat diproses pada board, fungsi ini telah terdefinisi

dan tersedia dari CCS sehingga pengguna langsung dapat

menggunakannya hanya dengan mendeklarasikan fungsi ini.

Setelah input maka selanjutnya adalah nilai delayed, output

dan buffer. Delayed berperan untuk menentukan panjang

delay pada proyek ini, namun untuk nilai delayed yang

pertama kali atau delayed pada saat bufer[0] nilai delayed ini

adalah nol sehingga ketika diberikan sinyal pertama kali,

maka pada waktu yang bersamaan output yang keluar akan

sama dengan input. Hal ini karena output sama dengan nilai

input ditambah dengan delayed. Nilai delayed ini dapat

bertambah karena nilai i-nya bertambah sehingga buffer

akan ada nilainya. Pada lanjutannya nilai i akan bernilai

sama dengan MAX_BUF_SIZE dikurang buflength jika nilai

i ini lebih besar sama dengan MAX_BUF_SIZE. Dengan

adanya nilai delayed ini maka akan terdengar atau terlihat

bentuk sinyal dari efek audio echo. Output yang dihasilkan

akan dikirim ke AIC23 codec yang selanjutnya AIC23 ini

akan mentranmisikan nilai output sebagai sinyal audio yang

dikeluarkan pada line out pada TMS320C6416. Fungsi yang

mengantarkan nilai output ke AIC23 codec adalah fungsi

output_left_sample(). Sama seperti fungsi

input_left_sample(), fungsi output_left_sample() ini juga

telah terdefinisi dan tersedia dari CCS sehingga pengguna

langsung dapat menggunakannya hanya dengan

mendeklarasikan fungsi ini.

Selanjutnya pada bgaian akhir program dilanjutnkan dengan

pembersihan nilai buffer dan inisialisasi dari DSK, codec,

McBSP.

void main()

{

for(i=0 ; i<MAX_BUF_SIZE ; i++)

buffer[i] = 0;

comm_intr();

while(1);

}

Yang berperan untuk menginisialisasi DSK, codec, McBSP

adalah fungsi “comm_intr()”, fungsi ini harus selalu ditulis

dalam setiap pemrograman untuk menggunakan DSK. Pada

bagian paling akhir terdapat while(1), fungsi ini berfungsi

untuk menjaga agar program akan terus berjalan dan akan

mengulang program ketika ada interrupt pada

TMS320C6416 sampai kapanpun hingga program distop.

Dan berikut adalah program gel yang digunakan untuk

memvariasikan nilai gain dan delay untuk memroses sinyal

input menjadi output dengan efek echo

//echo_control.gel

menuitem "echo control"

slider gain(0,18,1,1,gain_parameter)

{

gain = gain_parameter*0.05;

}

slider delay(1,20,1,1,delay_parameter)

{

buflength = delay_parameter*100;

}

Dalam file gel diatas dibuat parameter-parameter yang dapat

diubah, antara lain nilai gain dan delaynya. Nilai gain yang

dapat divariasikan adalah dalam rentang 0 hingga 18,

dengan setiap satu-satu kenaikan. Nilai gain yang dapat

divariasikan dengan slider ini dikalikan terlebih dahulu

dengan 0.05 untuk dapat digunakan dalam script utamanya.

Sedangkan untuk nilai delay yang dapat divariasikan adalah

dalam rentang 1 hingga 20, dengan setiap satu-satu

kenaikan. Nilai delay yang dapat divariasikan dengan slider

ini dikalikan terlebih dahulu dengan 100 untuk dapat

digunakan dalam script utamanya.

Hasil keluaran dari line out TMS320C6416 dihubungkan

menggunakan kabel audio ke line in pada laptop sehingga

output dari TMS320C6416 yang berupa sinyal echo effect

Gambar 2. Sinyal Input dalam domain waktu

Page 4: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Tugas kuliah: Pemrosesan Sinyal, Tahun: 2013, Semester: VII 4

Gambar 3. Sinyal input dalam domain frekuensi

Gambar 4. Salah satu sampel sinyal output dalam frekuensi

dapat terbaca atau terekam di laptop dengan menggunakan

software Cool Edit Pro v2.1. Cool Edit Pro merupakan salah

satu software power-packed digital sound editor yang

digunakan untuk PC berbasis Windows. Semua fungsi yang

diperlukan untuk mengambil proyek audio dari konsepsi

sampai selesai dimasukkan dalam Cool Edit Pro. Selain itu

software ini dapat digunakan untuk editing sound atau

editing suara dengan bermacam-macam extensi file suara

seperti mp3, wav, cda, cel dan yang lainnya. Di dalam cool

edit pro banyak terdapat menu effect. Cool Edit Pro juga

dapat membuat suara rekaman yang bisa disisipkan lagu atau

yang sering kita kenal dengan istilah backsound.Dengan

menggunakan Cool Editing Pro kita juga bisa membuat

sebuah kombinasi musik dari beberapa lagu yang dijadikan

satu, misanya untuk backsound pembuatan film, slide

presentasi, atau untuk dance.

III. HASIL DAN PEMBAHASAN

Hasil dari aplikasi ini dianalisis dengan software Cool Edit

Pro seperti yang telah dijelaskan sebelumnya. Sebuah sinyal

suara dengan bentuk sinyal seperti pada Gambar 2. Pada

Gambar 2 ini merupakan bentuk sinyal input yang diberikan

dalam domain waktu, sedangkan jika dalam domain

frekuensi dapat dilihat pada gambar 3. Sinyal input ini

digunakan sebagai input ke board. Sinyal ini dihasilkan

dengan menggunakan microphone yang terhubung ke line in

di DSP board. Kemudian output dari DSP board dikirim ke

komputer untuk dianalisis dalam software audio editor.

Pada Gambar 3 menunjukkan sinyal dalam domain frekuensi

grafik input tanpa menggunakan algoritma efek audio

dimana sumbu x mewakili frekuensi sinyal dalam Hertz dan

sumbu y mewakili kekuatan sinyal dalam dB. Hal ini dapat

dilihat dari grafik bahwa dalam keluarannya ada beberapa

komponen frekuensi lain selain frekuensi dasar. Komponen-

komponen frekuensi yang tidak diinginkan ini dikenal

sebagai noise. Tetapi jika kita melihat dari intensitas sinyal,

sinyal noise memiliki daya yang sangat rendah dibandingkan

dengan sinyal utama, yang menyebabkan efek noise tidak

signifikan. Selanjutnya, jika input dan output dibandingkan,

maka akan ditemukan bahwa ada redaman antara sinyal

tersebut. Atenuasi ini terjadi karena karakteristik tipe audio

yang digunakan dan pengaturan dari board.

Gambar 5. Sinyal output efek echo dalam domain waktu

Page 5: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Tugas kuliah: Pemrosesan Sinyal, Tahun: 2013, Semester: VII 5

Gambar 6. Sinyal output efek echo dalam bentuk spectral

Gambar 4 menunjukkan sinyal output dalam FFT, sinyal

output dalam Gambar 4 ini merupakan salah satu sample

yang diambil. Pada Gambar 5 menunjukkan sinyal keluaran

dari efek echo. Sinyal asli di bagian paling kiri sedangkan

sinyal-sinyal terpantulnya adalah yang terdapat di sisi kanan.

Waktu delay yang diukur dari awal sinyal pertama untuk

sinyal kedua sebesar sekitar 0.090 detik. Selain itu dapat

dilihat pula bahwa seiring berjalannya waktu maka waktu

delay antar sinyal pantul akan semakin bertambah besar.

Redaman antara sinyal asli dengan sinyal terpantulnya dapat

diukur dengan membandingkan grafik FFT.

Gambar 6 menunjukkan sinyal output dalam bentuk spectral.

Dengan bentuk spectral ini dapat terlihat sinyal-sinyalnya

dengan lebih jelas. Pada spectral graph ini dapat dilihat

perbedaan antara, sinyal dengan sinyal yang terdapat suara

dengan sinyal yang tidak terdapat suara. Dan pada spectral

graph ini dapat dilihat bahwa semakin lama atau seiring

berjalannya waktu maka waktu delay antar suara pantul akan

terlihat lebih lama dan frekuensi tinggi akan semakin hilang.

IV. KESIMPULAN

Desain efek audio echo dapat diterapkan kepada DSP board

TMS320C56426 dengan berhasil. Hal ini juga dapat

digunakan dalam aplikasi real time. Kinerja yang diukur

pada dasarnya memberikan hasil yang baik dan tujuan desain

terpenuhi. Pada pengembangannya proyek ini dapat

dilengkapi dengan penggunaan RTDX sehingga dapat

dihubungkan dengan LabVIEW™. Pada pengaplikasianya

audio effect echo ini umumnya digunakan pada industri

hiburan atau musik.

REFERENCES

[1] “TMS320C6713 DSK Technical Reference”, Spectrum

Digital, Inc., Mei 2003

[2] “Code Composer Studio Help”, Texas Instrument, 2003

[3] Sikora R.,“Implementing Echo and Reverberation using

the Audio Daughter Card and the TMS320C5402 DSK

and the TMS320C6711 DSK”, 22 July 2001

Arya Gamma Aditia, lahir di

Jakarta, tanggal 22 Mei 1991,

pada saat ini sedang

menyelesaikan pendidikan S-1 di

Departemen Fisika, Universitas

Indonesia

Page 6: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Lampiran Arya Gamma Aditia 0906529615

Penjelasan Proyek

Memroses Sinyal Input Menjadi Output dengan Efek Echo dengan

TMS320C6416

(Echo Control)

Proyek ini bertujuan untuk memroses sinyal input sehingga menghasilkan sinyal output berupa hasil

modifikasi sinyal input dengan efek echo. Alat dan bahan yang diperlukan untuk menyelesaikan proyek

ini antara lain DSP board (TMS320c6416), seperangkat PC yang telah terinstal code composer studio

v3.1, seperangkat PC dengan Software Cool Edit Pro v2.1, microphone, speaker/headphone. Untuk

memprogram TMS320c6416 menggunakan bahasa C yang dibuat dengan code composer studio v.31,

dan dengan code composer studio v.31 ini juga saya menanamkan program echo control saya ke

TMS3206416. Setelah TMS320c6416 terprogram dengan program echo control maka TMS320c6416

telah siap digunakan untuk memroses sinyal dengan efek echo, sinyal input yang diberikan berupa sinyal

suara, dengan suara yang diberikan adalah suara manusia (saya sendiri) yang menyebut “A”, panjang

suara “A” yang diberikan ini terukur di software Cool Edit Pro v2.1 sepanjang 0,166 s. Suara yang

digunakan sebagai sinyal input ini di interface dengan TMS320c6416 menggunakan microphone yang

terhubung dengan line in yang terdapat di TMS320c6416. Sedangkan untuk line outnya dihubungkan ke

PC/laptop yang telah siap dengan software Cool Edit Pro v2.1, dengan software ini kita dapat melihat

sinyal yang dihasilkan dari TMS320c6416 yang telah terproses dengan efek echo. Dengan Cool Edit Pro

v2.1 ini kita dapat melihat sinyal dengan domain waktu dan frekuensi. Untuk melihat delay dari sinyal

echo ini kita dapat menggunakan sinyal dengan domain waktu yang berbasis waveform maupun

spectral. Dari sinyal yang terbentuk dapat dilihat bahwa delay yang terbentuk adalah rata-rata sekitar

0,090 s. Dan dari sinyal yang berdomain frekuensi dapat dilihat bahwa sinyal output yang terbentuk

menghasilkan nilai kekuatan sinyal (db) yang semakin mengecil seiring dengan berjalannya waktu.

Untuk membuat TMS320c6416 terprogram agar memroses sinyal dengan efek echo dibuatlah code

dengan bahasa C. Berikut adalah bahasa pemrograman C yang digunakan untuk audio efek echo pada

proyek ini.

//echo_control.c echo with variable delay and feedback

#include "DSK6416_AIC23.h" //codec support

Uint32 fs=DSK6416_AIC23_FREQ_8KHZ; //set sampling rate

#define DSK6416_AIC23_INPUT_MIC 0x0015

#define DSK6416_AIC23_INPUT_LINE 0x0011

Uint16 inputsource=DSK6416_AIC23_INPUT_MIC; // select input

#define MAX_BUF_SIZE 8000 // this sets maximum length of delay

float gain = 0.5;

short buflength = 1000;

short buffer[MAX_BUF_SIZE]; // storage for previous samples

short input,output,delayed;

int i = 0; // index into buffer

interrupt void c_int11() // interrupt service routine

{

input = input_left_sample(); // read new input sample from ADC

delayed = buffer[i]; // read delayed value from buffer

output = input + delayed; // output sum of input and delayed values

Page 7: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

output_left_sample(output);

buffer[i] = input + delayed*gain; // store new input and a fraction

// of the delayed value in buffer

if(++i >= MAX_BUF_SIZE) // test for end of buffer

i = MAX_BUF_SIZE - buflength;

return; // return from ISR

}

void main()

{

for(i=0 ; i<MAX_BUF_SIZE ; i++) // clear buffer

buffer[i] = 0;

comm_intr(); // init DSK, codec, McBSP

while(1); //infinite loop

}

Berikut adalah penjelasan dari bagian-bagian yang tertulis dalam bahasa pemrograman C yang

digunakan pada proyek echo control ini :

#include "DSK6416_AIC23.h"

Uint32 fs=DSK6416_AIC23_FREQ_8KHZ;

#define DSK6416_AIC23_INPUT_MIC 0x0015

#define DSK6416_AIC23_INPUT_LINE 0x0011

Uint16 inputsource=DSK6416_AIC23_INPUT_MIC

Pada bagian awal dari pemrograman ini dapat dilihat terdapat inisialisasi board. Pada bagian inisialisasi

paling awal diinisialisasi terlebih dahulu DSK6416_AIC23.h, inisialisasi ini adalah salah satu yang

terpenting karena inisialisasi ini adalah untuk menginisialisasi codec. TLV320AIC23B adalah high-

performance stereo audio codec yang digunakan pada TMS320C6416 board. Sehingga dapat dikatakan

TLV320AIC23B ini adalah merupakan salah satu IC yang paling penting yang terdapat pada

TMS320C6416 board. Codec adalah singkatan dari dari “Compressor-Decompressor” atau bisa “Coder-

Decoder,” yaitu sebuah device atau program yang mampu mengubah/mentransform sinyal atau aliran

data. codec dapat merubah stream atau sinyal kedalam bentuk yang ter-”encode” (sering dipakai pada

transmisi, storage, enkripsi) kemudian diterima, atau dapat men-”decode” bentuk tersebut agar dapat

dilihat / dimanipulasi ke bentuk yang lain. Panjang data-transfer untuk TLV320AIC23B adalah 16, 20,

24, dan 32 bit, dengan sampel rate dari 8 kHz sampai 96 kHz. Dalam proyek ini digunakan sampling

rate sebesar 8 kHz.

Selanjutnya dideklarasikan beberapa parameter dalam bentuk float, short, dan int. Data float memiliki

panjang data sebesar 4 bytes atau 32 bits, data short memiliki panjang data sebesar 2 bytes atau 16 bits,

dan data int memiliki panjang data sebesar 2 bytes atau 16 bits. Yang dideklarasikan sebagai data float

adalah gain, yang dideklarasikan sebagai data short antara lain buflength, buffer, input, output, dan

delayed. Dan yang dideklarasikan sebagai data int adalah i. Untuk parameter gain dan buflength nilainya

dapat divariasikan dengan file gel yang akan dijelaskan selanjutnya

#define MAX_BUF_SIZE 8000

float gain = 0.5;

short buflength = 1000;

short buffer[MAX_BUF_SIZE];

Page 8: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

short input,output,delayed;

int i = 0;

Setelah dideklarasikan parameter-parameter yang berperan dalam pemrosesan sinyal echo efek seperti

delayed, gain, dan buffer. Maka selanjutnya adalah program utamanya. Dalam program utama ini

dibentuk bahasa C yang memroses atau memodifikasi nilai input sehingga dapat menghasilkan sinyal

output berupa efek audio echo. Dan dibawah ini merupakan bagian main program pada bahasa C proyek

ini.

interrupt void c_int11()

{

input = input_left_sample();

delayed = buffer[i];

output = input + delayed;

output_left_sample(output);

buffer[i] = input + delayed*gain;

if(++i >= MAX_BUF_SIZE)

i = MAX_BUF_SIZE - buflength;

return;

}

Pada bagian interrupt service routine (ISR) harus ditulis atau dinamakan ISR-nya sebagai "c_int11 ()",

karena nama ini sudah didefinisikan dalam file "Vectors_intr.asm".

Input dari program ini adalah dari line in di TMS320C6416. Function yang mengambil sinyal input ini

adalah input_left_sample(),input_left_sample() ini merupakan fungsi untuk mengambil data sampling

input dari AIC23 codec yang selanjutnya akan mentransmisikan sinyal audio dari line in pada

TMS320C6416 sehingga menjadi sinyal yang dapat diproses pada board, fungsi ini telah terdefinisi dan

tersedia dari CCS sehingga pengguna langsung dapat menggunakannya hanya dengan mendeklarasikan

fungsi ini. Setelah input maka selanjutnya adalah nilai delayed, output dan buffer. Delayed berperan

untuk menentukan panjang delay pada proyek ini, namun untuk nilai delayed yang pertama kali atau

delayed pada saat bufer[0] nilai delayed ini adalah nol sehingga ketika diberikan sinyal pertama kali,

maka pada waktu yang bersamaan output yang keluar akan sama dengan input. Hal ini karena output

sama dengan nilai input ditambah dengan delayed. Nilai delayed ini dapat bertambah karena nilai i-nya

bertambah sehingga buffer akan ada nilainya. Pada lanjutannya nilai i akan bernilai sama dengan

MAX_BUF_SIZE dikurang buflength jika nilai i ini lebih besar sama dengan MAX_BUF_SIZE.

Dengan adanya nilai delayed ini maka akan terdengar atau terlihat bentuk sinyal dari efek audio echo.

Output yang dihasilkan akan dikirim ke AIC23 codec yang selanjutnya AIC23 ini akan mentranmisikan

nilai output sebagai sinyal audio yang dikeluarkan pada line out pada TMS320C6416. Fungsi yang

mengantarkan nilai output ke AIC23 codec adalah fungsi output_left_sample(). Sama seperti fungsi

input_left_sample(), fungsi output_left_sample() ini juga telah terdefinisi dan tersedia dari CCS

sehingga pengguna langsung dapat menggunakannya hanya dengan mendeklarasikan fungsi ini.

Selanjutnya pada bgaian akhir program dilanjutnkan dengan pembersihan nilai buffer dan inisialisasi

dari DSK, codec, McBSP.

void main()

{

Page 9: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

for(i=0 ; i<MAX_BUF_SIZE ; i++)

buffer[i] = 0;

comm_intr();

while(1);

}

Yang berperan untuk menginisialisasi DSK, codec, McBSP adalah fungsi “comm_intr()”, fungsi ini

harus selalu ditulis dalam setiap pemrograman untuk menggunakan DSK. Pada bagian paling akhir

terdapat while(1), fungsi ini berfungsi untuk menjaga agar program akan terus berjalan dan akan

mengulang program ketika ada interrupt pada TMS320C6416 sampai kapanpun hingga program distop.

Dan berikut adalah program gel yang digunakan untuk memvariasikan nilai gain dan delay untuk

memroses sinyal input menjadi output dengan efek echo

//echo_control.gel

menuitem "echo control"

slider gain(0,18,1,1,gain_parameter)

{

gain = gain_parameter*0.05;

}

slider delay(1,20,1,1,delay_parameter)

{

buflength = delay_parameter*100;

}

Dalam file gel diatas dibuat parameter-parameter yang dapat diubah, antara lain nilai gain dan delaynya.

Nilai gain yang dapat divariasikan adalah dalam rentang 0 hingga 18, dengan setiap satu-satu kenaikan.

Nilai gain yang dapat divariasikan dengan slider ini dikalikan terlebih dahulu dengan 0.05 untuk dapat

digunakan dalam script utamanya. Sedangkan untuk nilai delay yang dapat divariasikan adalah dalam

rentang 1 hingga 20, dengan setiap satu-satu kenaikan. Nilai delay yang dapat divariasikan dengan slider

ini dikalikan terlebih dahulu dengan 100 untuk dapat digunakan dalam script utamanya.

Langkah-langkah memprogram TMS320C6416 dengan Code Composer Studio v3.1

1. Menjalankan Program Code Composer Studio v3.1 pada PC

2. Menghubungkan TMS320C6416 dengan PC dengan kabel USB

3. Membuka file project echo control

4. Memasukkan file library: rts6400.lib, csl6416.lib dan dsk6416bsl.lib dengan mengikuti alamat

berikut

C:\CCStudio\c6000\cgtools\lib\rts6400.lib

C:\CCStudio\c6000\bios\lib\csl6416.lib

C:\CCStudio\c6000\dsk6416\lib\dsk6416bsl.lib

5. Memasukkan file linker command

6. Mengeset compiler option

Mengeset compiler option dengan cara seperti dibawah ini

Page 10: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Memasukan Include Search Path dengan “C:\CCStudio\c6000\dsk6416\include”

7. Mengeset linker option

Mengeset linker option dengan cara seperti dibawah ini

Memasukkan Library search path dengan “C:\CCStudio\c6000\dsk6416\lib”

Memasukkan Include Library dengan “rts6400.lib;csl6416.lib;dsk6416bsl.lib”

8. Menanam program ke TMS320C6416 board.

Pertama, select Project>Build. Selanjutnya, select Debug>connect, select File>Load program

(pilih echo_control.out) ,select File>Gel Program (pilih echo_control.gel). Dan terakhir select

Debug>Run.

9. Program telah siap melakukan pemrosesan sinyal echo control. (dan memastikan line in dan line

out pada TMS320C6416 telah terhubung dengan device yang dibutuhkan)

Pada proyek ini saya menghubungkan line in dengan menggunakan microphone dan line out

dengan speaker dan PC dengan software Cool Edit Pro v.2.1 sebagai perekam sinyal output.

Page 11: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

Bentuk Sinyal Pada Proyek Memroses Sinyal Input Menjadi Output dengan Efek Echo dengan

TMS320C6416

Sinyal Input

Sinyal input ini merupakan sinyal yang dihasilkan oleh suara saya sendiri yang mengucapkan “A”

dengan panjang sekitar 0,170 s.

Sinyal Output dalam domain waktu

o Sinyal output efek echo dalam domain waktu berbentuk waveform

o Sinyal output efek echo dalam bentuk spectral

Sinyal Output dalam bentuk waveform dan Spectral tersebut menunjukkan bahwa delay antar

sinyal suara adalah rata-rata sekitar 0,090 s dan menunjukkan dari sinyal input yang diberikan

Page 12: Memroses Sinyal Input Menjadi Output Dengan Efek Echo Dengan TMS320c6414

hingga sinyal suara pantulan(gema)nya menghilang membutuhkan waktu 2 s (sesuai dengan

nilai delay yang diberikan pada gel yang sebesar 2000 ms)

Perbandingan Sinyal Input dan Output dalam domain frekuensi

o Sinyal Input

o Salah Satu Sampel Sinyal Output

Jika input dan output dibandingkan, maka akan ditemukan bahwa ada redaman antara sinyal

tersebut. Atenuasi ini terjadi karena karakteristik tipe audio echo yang digunakan dan

pengaturan dari board.

Sinyal-sinyal diatas ditampilkan menggunakan software Cool Edit Pro v2.1

Cool Edit Pro merupakan salah satu software power-packed digital sound

editor yang digunakan untuk PC berbasis Windows. Semua fungsi yang

diperlukan untuk mengambil proyek audio dari konsepsi

sampai selesai dimasukkan dalam Cool Edit Pro. Selain itu software ini

dapat digunakan untuk editing sound atau editing suara dengan bermacam-

macam extensi file suara seperti mp3, wav, cda, cel dan yang lainnya. Di

dalam cool edit pro banyak terdapat menu effect. Cool Edit Pro juga dapat

membuat suara rekaman yang bisa disisipkan lagu atau yang sering kita

kenal dengan istilah backsound.Dengan menggunakan Cool Editing Pro

kita juga bisa membuat sebuah kombinasi musik dari beberapa lagu yang dijadikan satu, misanya untuk

backsound pembuatan film, slide presentasi, atau untuk dance.