K

ses kayıt devresi hk.

Başlatan kkir83, 26 Aralık 2011, 23:46:03

kkir83

Merhaba,

Bir ses kayıt devresi yapmak istiyorum.32 farklı nesnenin ismini kaydedip ayrı butonlarla bu sesleri söyletmeliyim.Ses kaydı yapılabilecek entegreleri inceledim APR9600,ISD serisi entegreler var.Bu entegrelerde hafıza alanının 8 e bölündüğünü gördüm.(8 ayrı buton ile 60 sn kayıt yapılabilecek devre elimde mevcut)

Ya 4 adet aynı devreden kullanarak bu işlemi yapacağım.(bu durumda maliyet 100 TL yi aşıyor) veya yapılabilecek farklı bir yöntem varmıdır? Maliyeti düşürmek açısından tek bir pic ile yapılabilir mi? 16F877 de yanılmıyosam 33 adet giriş-çıkış pini bulunuyordu.Her bir pini aktif ederek sadece ilgili nesnenin ses kaydı ve oynatmasını yapabilirmiyim?

Saygılarımla.

est32

bence onun yerine (100tl harcamaktansa) bir bit pazarına gidip kullanılmış çakma sony mp3 çalar almak daha uygun olur.

Önce ses kayıtları yüklenir,ister bilgisayarda hazırlanır yüklenir isnenirse cihazın kendi ses kaydı ile yapılır.

cihaz sökülür,sanki kendin kullanıyormuş gibi cihazın açılışından itibaren bu kayıtlara ulaşmak için neler yapoılıyorsa tuşlara lehimle pic bağlantısı yapılır ve o şekilde davranacak bir program yazılır.

Hangi ses çalınacak ise o ses kadar ileri geri yapar,nerde kaldıysa eeproma o kısmı kayıt eder ve yine ona göre davranarak menüden diğer seslere ulaşmaya devam eder.Yani cihazı pic kullanacak, direksiyona 8 pinli bir pic bile hakim olabilir(otomatik pilot)

Sakın ticari micari olmaz etmez gitmez demeyin,maksat sadece pratik bir şekilde ihtiyacı gidermek.

Bu şekilde sistem yavaş işlese de gayet ucuza yapılabilir, daha küçük bir kontrol kartı yapılabilir ve hatta basit bir telefon santrali olarak da görev yapabilir.

ete

Çok istememe rağmen ses kayıt entegreleri ile uğraşma fırsatım olmadı bir türlü. Ancak işin teorisini epeyce inceledim.
Buna göre çok kayıtlı bir sistem adresli kayıt şeklinde entegreye yapılacak ve sonra istenen adres aralığındaki kaydın çalıştırılması işlemci aracılığı ile yapılacaktır.  Entegrelerde hafıza sabit 8 e bölünmez diye düşünüyorum. Yapacağın kaydın uzunluğu ve örnekleme frekansına bağlı olarak entegre hafızasında yer tutacaktır. Böylece 8 e değil 32 ye bile bölünebilir. EN uzun kayda müsaade eden entegre alınır ve ona istenilken kayıtlar yapılabilir. Bence 4 ayrı devre kullanmaya gerek yok. Tek işlemci şayet tek ses entegresine sistem sığmıyor ise birden fazla kullanılarak istenilenler yaptırılabilir.
Nasıl diye soracak olursanız, önce entgereyi seçip sonra data sheet okuma işine girişmek lazım.
Bu işi yapabilmenin yolu bir adet prototip yapmaktanda geçiyor bunuda göz ardı etmemek gerekir.
Daha ucuz bir sistem olabileceğini pek sanmıyorum. Daha karmaşık yollar seçilebilir. Mesela bir SD karta ses kayıtları alınıp bunu çok hızlı ve en azında 24 bitlik Digital to Analog çevirici ile sese çevirmek ve sonra bir ufak anfi vasıtası ile hoparlöre vermekde bir yol ancak daha ucuz olurmu orasını bilemem.

ES32 nin önerdiği yol da bir yol ama epeyce zorlanılacak bir yol gibi geliyor bana. Ama denemeye değebilir.

Bir sistem üzerinde karar kılıp işi geliştirmeye başlayabiliriz. Önce işi isteyen kkir83 arkadaşımız bir prototip hazırlanması konusunda sorumluluk almalı. Devre şemasını birlikte burada geliştireceğiz elbette. Belkide elindeki hazır devreyide kullanabiliriz .
Ete


kkir83

Öncelikle fikirleriniz için teşekkür ederim.
Ete hocam dediğiniz gibi datasheet incelemesi yaptım.ISD serisi entegrelerin 60,90,120 saniye süreli kayıtlar yapabilen çeşitleri var.32 nesnenin sesli kaydını tek seferde yapabilirim.(Ör:90 saniyeye yayarak)Entegre üzerinde minimum 0,1 saniyelik çözünürlükle ses kayıtları depolanabiliyor.Entegrenin 1-10 pinleri arası binary değerler verilerek istenilen andan kayıt çalınabiliyor.Ör:10. saniyeden başlayarak kaydı başlatmak istiyorsak 10/0,1=100= b'01100100' bilgisini entegrenin 1 nolu pinden başlanarak ulaştırılması gerekiyor.

Entegrenin önüne pıc bağlayarak basılan butona göre başlaması gereken saniyeyi ayarlayabiliriz.Yanlız ilgili nesnenin ismi söylendikten sonra kaydın kesilmesi lazım.

elimde pıc16F877 var 10 pinini entegre için kullandığımda 23 pin kalıyor butonlara.Önerebileceğiniz farklı bir durum varmı?Pıc için gerekli olan program aslında zor değil gibi sadece binary bilgileri çıkışa aktarıcam takıldığım noktada yardımınızı beklerim.

Saygılarımla.

ete

Bir ara ISD entegreleri incelemiştim. O zaman edindiğim bilgiye göre ISD25xx serisi imalattan kaldırılmış yerine ISD17xx serisi getirilmiş. Şİmdi bu seriye şöyle bir baktımda senin ihtiyacına fazlası ile cevap verecek nitelikte. ISD1760 entegresi 120 sn ye ye kadar kayıt yapabilmekte. Tabiiki 4Khz lik örnekleme frekansında bu mümkün. Ses kalitesini artırmak için örnekleme frekansınıda artırmak gerekiyor. O zaman kayıt süresi 40 sn ye kadar düşebiliyor.
Sistemin güzelliği entegreyi neredeyse bir teyp gibi kullanabilme imkanınızın olması. Her bir kaydı REC pinini aktif ederek başlatıyor sonra istediğiniz noktada durduruyorsunuz. Her kayıtta alet o kayda mahsus bir pointer işaretliyor. Bu sayede aynı kayıtı çaldırmak için Play veya Forward pinlerini kullanıyorsunuz. Mesela iki defa forward pinine puls verirseniz iki kaydı atlayıp üçüğncü kayıttan başlıyor çalmaya ve kayıt sonu işareti gelince otomatik duruyor. Yani her kaydı bağımsız dinleme imkanı mevcut.
BU durumda senin 32 adet farklı kaydı biraz dikkatle alete kayıt ettikten sonra istediğin bir kayıd çaldırmak için yalnızva froward ve ply pinlerini kullanman yeterli.
Buna pic programı bile gerekmez ama 32 kayıt arasından istediğini çaldırmak için sanırım ufak bir işlemci ile gerekenler yapılabilir.

Ete

Mucit23

Hocam Ayrıca bu enteğre (ISD17XX) SPi olarak haberleşebiliyor. Daha önce hiç uğraşmadım. Aslında benim bi aralar Telesekreterli DTMF ton kontrol projesi dolanıyordu. Daha hiç ilgilinemedim. Öyle kafamda kaldı. Spi haberleşme ile bu dediklerinizi yapabilirmiyiz. Mesela istediğimiz adresten itibaren kayıt yapabilelim. İstediğimiz adresten itibaren kaydı çalabilelim. Bu konuyu düşünüyorum bende
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Bu entegre adresli kayıt için uygun değil. Daha doğrusu adres seçimini sana bırakmıyor.
Yalnızca her kayıt sonuna End Of Record yani kayıt sonu işareti koyuyor. Her kayıt yapıldıktan sonra kayt yeri işaretçisi bir sonraki kayıt adresini gösterdiği için kyıt oraya yapılıyor. ANlayacağın adrese gerek olmadan istediği gibi kullanıyor hafızasını.

Ete

Mucit23

Hocam aslında bu tür sistemlerde eeproma sesi kaydetmek daha esneklik sağlar. Ben bu konuda bir uygulama yapacağım ileriki zamanlarda.

Dikkatimi çekti. 24C64 ve daha az hafızaya sahip olan eepromlarda A0,A1 ve A2 olmak üzere 3 adet adres bacağı mevcut. Buda 8 adet eepromu farklı adreslerle aynı hata bağlayabiliriz anlamına geliyor demektir. Ama 24C128,256 ve 24C512de ise aadresleme için A0 ve A1 bacakları çıkartılmış.  Buda 4 adet eepromu farklı adreslerle aynı bus hattına bağlıyabiliriz anlamına geliyor. Buraya kadar Tamam ama 24C1024 de ise Sadece A1 bacağı dışarıya çıkarılmış . Buda Sadece iki adet 24C1024 ü aynı hata bağlayabiliriz anlamına geliyor. Ben biraz 24C1024 ün datasheedini inceledim. Sebebi çok mantıklı. 24C1024 iki adet 64Kb lık sayfadan oluşmaktadır. Bizim hangi sayyafa veri göndereceğimizi Device Adress kısmındaki P0 biti belirliyor. Eğer 3 Adet Adres bacağı çıkarılsaydı 8 adet eepromu aynı hata bağlayabilirdik ve her bir eeprom iki adet 64 kb lık hafızaya sahip olduğu için tam olarak 1024Kb hafızaya sahip olurduk. Üreticileri Neden böyle yapmışlar diye sorgulamıyorum ama bir yandanda anlam veremiyorum. Anladığım kadarıyla Tüm eepromlardaki Device adresini 7.,6. ve 5. biti sabit olarak 101 olmak zorundadır. Bunu bir standart haline getirdikleri içinmi böyle böyle bir durum oluşuyor. Halbuki buradaki device adresini belirleyen 3 biti Bizim A0, A1 ve A2 olmak üzere bizim kullanımıza sunsalardı yine 8 adet eepromu aynı hata bağlayabilirdik.

Gerçi hepsinin bir sebebi vardıt. Galiba bunu bir standart olarak belirlemelerinin sebebi I2C hattına bağlanan başka cihazlarla adreslerinin çakışmaması için olabilir değilmi?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Eproma ses kaydı zahmetli bir iş. Üstelik 8 bit data kayıt edebilirsiniz demektir.
8 bitlik ses ise kalite yönünden epeyce düşüktür. Bence pek uğraşmaya değmez ama uğraşı uğraşıdır.

Eprom cihaz adresini standart %1010 gibi düşünme farklı da çıkabilir karşına. Bu bir ortak kararda olabilir. Farklısına rastlamadım ama olabilirde.

Adres çakışması önemli bir problem. Bunu önlemek için adresleme kullanılıyor. Böylece aynı hatta bağlı farklı cihazlar kavga etmeden haberleşebiliyorlar. Güzel bir şey aslında.

Ete

Mucit23

Aslında çoğu ses dosyasında 16 bit çözünürlük kullanılıyor. Fakat bende kayıt süresini yarı yarıya düşürerek en azından picin adc ve hpwm modülünün el verdiği çözünürlükte yani 10 bit çözünürlükle birazdaha iyi bir sonuç elde edilebileceğini düşünüyorum. Pice mikrofon bağlantısı nasıl yapılır. Elinde Örnek bir şema olan varmı
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

feyz21

Alıntı yapılan: Mucit23 - 27 Aralık 2011, 19:04:36
Aslında çoğu ses dosyasında 16 bit çözünürlük kullanılıyor. Fakat bende kayıt süresini yarı yarıya düşürerek en azından picin adc ve hpwm modülünün el verdiği çözünürlükte yani 10 bit çözünürlükle birazdaha iyi bir sonuç elde edilebileceğini düşünüyorum. Pice mikrofon bağlantısı nasıl yapılır. Elinde Örnek bir şema olan varmı
Yandaki sitede faydalı bilgiler var...http://www.biltek.tubitak.gov.tr/gelisim/elektronik/6.htm

TA5AAT

Selamlar sevgili arkadaşlar bu APR 9600 ses kalitesi nasıl deneyenler varmı ben denedim ses kalitesi düşük devrede bir hatamı var aceba..

fofo

APR9600 ses kalitesi düşük. Bildiğim kadarıyla ISD serisi daha kaliteli ama denemedim bu arada ISD4002 ile çalışma yapan oldu mu?

F®T

ben kullanmıştım.teyp kaseti kalitesinde bir kayıt kalitesi var.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

TA5AAT

ISD 4002 varmı türkiyede..

Powered by EzPortal