الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحريك الصور بالاوامر الصوتيه

بدأه ولهـ نجد في 10 فبراير 2010 · 7 رد · 2,336 مشاهدة · في DirectX
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اود عمل برنامج يقوم بادخال الصوت عن طريق المايك ويقوم بتحليله و من ثم يحرك صوره  

( سرعه الحركه تعتمد على شده الصوت )

البرنامج لا يحلل الكلمات انما الحركه تعتمد على شده الصوت وانخفاضه بغض النظر عن الكلمه المنطوقه مفهومه ام لا

هنا فيديو توضيحي لبرنامج شبيه للبرنامج المطلوب  http://www.youtube.com/watch?v=W98HCLsPTHk

السؤال هو هل DirectX تسهل علي عمل هذا البرنامج ؟

و هل يوجد مكتبات متخصصه بتحليل الصوت ؟

ماهو الافضل ( بحيث يجمع بين القوه وسهوله التعلم )

DirectX

XNA

OpenGL

#2

هناك مكتبات متخصصه في استخدام كارت الصوت جيداً ، نرجوا البحث .

الدايركت اكس هناك مكون يآتي معه للتعامل مع كارت الصوت و الفيديو اسمه DirectAudio /Show ، يستطيع فعل ما تريده .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#3

أ. أحمد صالح

لدي ذات الرغبه ولكن اربد فقط تححديد مستوى الصوت المدخل وبعد بحث طوبل قررت استخدام الدايركت اكس

http://www.programmersheaven.com/mb/DirectSound/248000/248000/directsound---recording-sound-from-microphone-and-playing-it/

http://social.msdn.microsoft.com/Forums/en-US/gametechnologiesdirectx101/thread/b217416f-c1bc-4df8-aec7-754cc41391f5

http://www.codeproject.com/KB/audio-video/Mp3SoundCapture.aspx

http://khason.net/blog/sound-tone-and-dtmf-generation-by-using-managed-directsound-and-c-and-sine-tone-detection-with-pure-managed-goertzel-algorithm-implementation/

http://social.msdn.microsoft.com/Forums/en-US/gametechnologiesdirectx101/thread/b217416f-c1bc-4df8-aec7-754cc41391f5

http://khason.net/blog/capturing-and-streaming-sound-by-using-directsound-with-c/

http://geekswithblogs.net/tamir/archive/2008/12/25/capturing-and-streaming-sound-by-using-directsound-with-c.aspx

ماريد بالضبط الحصول عليه هو مستوى الصوت المدخل بمثال شبيه تماما لهذا المكتوب بلغة الفيجوال بيسك ولكن أريده بالسي شارب

http://vb4arab.com/vb/showpost.php?p=340176&postcount=13

وبعد كل ذاك مازالت هنا اخطاء أجهلها

فهل ان لك او لأي عضو كريم أن يساعدني بكيف احقق هدفي

وكل الشكر لك ..

#4

هناك عدة طرق لحساب شدة الصوت ، ابسط طريقة مثلا تخزني عدد من العينات samples من إشاره الدخل لفترة زمنية(يجب ان يكون مقلوب هذه الفترة اي التردد اكبر من مرتين او اكثر من تردد الاشارة التي ستقيسيها و يسمي هذا مبدا نيكوست ) مثلا 0.045 من ثانية ، ثم تقومي بجمع "مربعات " عدد العينات علي عددهم RMS ( Root Mean Square)،ثم القسمة علي عددهم و اخذ الجذر التربيعي للناتج ، يعطيكي متوسط قمة الاشارة الصوتية .

للمزيد :

http://en.wikipedia.org/wiki/Root_mean_square

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#5

شكرا أ.أحمد صالح

كيف استخدم هذه الطريقة برمجيا ؟

هل لك ان تزيد في التوضيح او تعطي مثال يسهل ذاك المفهوم: )

لاحرمك ربي الاجر

واسعدك بالجنة ..

#6
//  assume 16 bit sampling i.e 16 bit audio file, hence the highest sample value is 65536 


long int  sample; 
;
long int  sum=0;
long int average =0;
for (int i=0; i<1024; i++)

sample= read_sample()
sum+=sample*sample; 
Sleep(0.045)       // wait  0.045s
{
average = sum>>10;

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#7

شكرا استاذي القدير

ردك وتوضيحك فتح لي ابواب لم اصل لها من قبل

ولكن كانت الخطوة الاولى هي التاكدي من تخزين الصوت

وقد جربت الكثير من الاكواد الموجوده ع الانترنت ولكن بلا جدوى

وآخرها هذا الكود

http://www.tek-tips.com/faqs.cfm?fid=4782

نعم لايظهر خطاء ويخزن الصوت في ويف فايل ولكن لاسمع أي صوت هناك ؟!

هل لاحد معرفة المشكلة وايجاد الحل ؟

وشكرا جزيلا..

#8

لو الموضوع صعب ، استخدمي Windows Mulitmedia library WINMM لتسجيل الصوت ..إلخ .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

مواضيع مشابهة