Harmoniklerin kulağımızdaki etkisi

Başlatan z, 29 Aralık 2015, 16:21:57

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

peko

" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "


z

Çip ürün sanıp heyecanlandım.

İşin içine PC girdimi sorun yok. Speech synthesizer çiplerini işlemcili kartınıza lehimledinizmi kartınız şakır şakır konuşmaya başlıyor.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mihri

Artık Speech synthesizer çiplerine gerek var mı? Mikro işlemcinin DAC ya da PWM çıkışları ile yapılabilir.
"Eppur si muove!"

z

#5
Hiç ses sentelezleyici çiple çalıştın mı?

Ses sentezleme çipine "A" "R" "A" "B" "A" verileri yolladığında sesle sana araba der ve ARABA kelimesi ses olarak yaklaşık olarak yarım saniyede söylenir.

Ses sentezleme çipi kulanmayıp bahsettiğin gibi DAC ile vs yapmaya kalksak 8Khz sample alırsak ARABA sesi yaklaşık 4K yer kaplar.

Halbuki ses sentezleme çipi kullanarak ARABA sesi üretmek için işlemcide sadece 6 byte saklaman gerekir.

Diğer türlü 20 ..30 saniyelik ses çipin tüm flashını yer.

Bahsettiğin gibi DAC kullanarak STM32F407 ile ses üretmiştik. Fakat ses verileri çok fazla yer kaplıyordu.

https://www.picproje.org/index.php/topic,35896.msg267758.html#msg267758



mesaj birleştirme:: 29 Aralık 2015, 16:17:39


http://spatula-city.org/~im14u2c/chips/SP0256B_Datasheet.pdf
Bana e^st de diyebilirsiniz.   www.cncdesigner.com


mihri

#7
Ses sentezleyici chip ile çalışmadım.

Akla ilk gelen örneği vermişsiniz 8K örnekleme frekansı ile sesi kaydedip lookup table ile tekrar DAC kullanarak ses oluştarmayı düşünmüşsünüz. Yinede çok yer kaplaması sorun değil bence. Çünki ses sentezleyici entegre kullanmak yerine harici spi flash kullanarak hafıza sorunu çok rahat aşılır. Daha esnek tasarım olur.

İkinci yöntem ise video da açıkladığınız gibi sesin 1 peryodunun fourier açılımını alıp harmonikleri genlikleri ile kaydedilebilir. Ses tekrar oluşturulmak istendiğinde ise her bir harmoniğin Z dönüşümü alınıp paralel programlama yöntemiyle DAC'a verildiğinde hafızada o kadar da büyük yer kaplamaz.

Hatta sadece 1 peryodu örnekleyip peryodik olarak DAC'tan vermekte çok basit çözüm olur. 1 harfin 1 peryodunu örneklemek 10byte yer kaplasa 4sn değil de 4 saatte çalınsa yine 10byte yer kaplar.


"Eppur si muove!"

z

İşte bu dediğin işlerle herkes uğraşmaz. Üstelik bu işler 8 bit mikrolarla yapılamaz.

Baba bir işlemci kullanarak bahsettiğin işleri yapan yazılımı bir çipe sığdırır ve bu çipi basit MCUlarla kolayca haberleştirebilir hale getirirsen bu yazılım yüklediğin çipin adına speech synthesizer denir.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mihri

Aslında 8 bit işlemcilerle yapılabilir , at sahibine göre kişner:)
"Eppur si muove!"

z

Müsait bir zamanında FFT li falan bir kişnet görelim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bocek

#11
Hocam şu adamın yaptığını incelediniz mi?
http://www.romanblack.com/picsound.htm
Alıntı YapWhat is it?
The BTC Sound Encoder is software I have written for the purpose of converting sound (in wave files) to a 1-bit format that can be played back on very cheap hardware, like a microprocessor chip (ie PIC, Atmel, Motorola etc)...
1 ya da 0. işte 'bit'ün mesele..

z

#12
Delta sigma modülasyonu ses üretmede çokça kullanılan bir teknik. Sesi teybe kaydeder gibi kaydediyoruz fakat çok fazla hafıza istiyor.

Zamanında hiç işlemci kullanmadan sadece eprom, counter ve data selektor ile bu tip çalışmalar yapmıştım. Bunlara sentezleyici değilde digital teyp demek daha doğru olur.

Fii tarihinde Ankara'da askeri bölgelere konmuş hayvan gövdeli konuşan çöp kutularında bu tekniği kullanmıştım.

UTES oto alarm firması için Microchip MCU ve 1Mbit eprom ile konuşan oto alarmları da yapmıştım. O çalışma da digital teypden öte bir şey değildi. Fazladan bazı ortak kelimeleri farklı yerlerde kullanmak üzere ses montajı yapabiliyordu.

Ses sentezleyiciler çok ayrı.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Sesli harfler kolay. Sessiz harfler bu kadar kolay olmayacak.

https://youtu.be/3PYfgtuvWns
Bana e^st de diyebilirsiniz.   www.cncdesigner.com