לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 18-02-2007, 08:36
  Schala Schala אינו מחובר  
 
חבר מתאריך: 04.01.07
הודעות: 3
ייצור מנגינה בעזרת שפת C

אני צריכה לייצר מנגינה בעזרת שפת C, ע"י שינוי התדירות של הגל הריבועי.
אני צריכה את כל הצלילים של doh, re, mi וכו'.
בשביל זה אני אצטרך לבדוק את התדירות ולשמוע ע"פ הצליל איזה סוג צליל זה.
בנוסף, אני צריכה לכתוב פונקציה שתבצע את משך הזמן שהצליל צריך להשמיע.

מה שאני מבקשת הוא - איך כותבים תוכנית כזו, ומה התדירות שאני צריכה לכתוב בשביל כל צליל?

יש לי דוגמא רק לפונצקיה שיוצרת צליל "דו" -

קוד:
void doh(){ int i,j, for(i=1;1<200;i++){ outp(0x37a,1); for(j=1;j<=15000;j++); outp(0x37a,3); for(j=1;j<=15000;j++);

עכשיו אני רק צריכה פונקציות כאלה, רק לצלילים אחרים.
כפי שמצוין בפונקציה הזו, הדבר היחידי שאני צריכה לשנות הוא התדירות של j.
)j=15000)

אם יש לכם גם אתרי מידע לתוכניות כאלה בשפת C, אני אשמח לקבל כל מידע הקשור לזה.
תודה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 21-02-2007, 20:11
  almogeddon almogeddon אינו מחובר  
 
חבר מתאריך: 15.02.07
הודעות: 5
תראה....
בתגובה להודעה מספר 1 שנכתבה על ידי Schala שמתחילה ב "ייצור מנגינה בעזרת שפת C"

אני אישית בשביל צלילים משתמש בספריית DOS.H

דרכה אתה יכול ליצור צלילים לפי התדר שלהם, אתה יכול לקבוע השהיות....
זה יכול להיות מאוד נחמד...

בפקודה SOUND, בתוך הסוגריים אתה קובע את התדר שאותו אתה רוצה להפיק...
בפקודה DELAY, אתה קובע את זמן ההשהייה אותו אתה רוצה. [בזמן הזה, הפקודה האחרונה נשארת, כלומר, אם יצרת צליל, הוא ישאר עד לפקודה הבאה] הזמן שבתוך הסוגריים זה במילי שניות...
שמתי 1000 בשביל שניה אחת.

את הפקודה NOSOUND אני ממליץ בחום להשתמש... אחרת גם כשהתכנית מסתיימת, הוא ממשיך לעשות את הצליל האחרון...

הנה תוכנית קטנה, שסתם מוציאה צליל בתדר 1500HZ למשך שנייה אחת.

[הוספתי עוד ספריות מתוך הרגל, כי אני מהלימודים שלי עובד עם כולם. אין צורך בכולם. STDIO ו-DOS החשובות...]


קוד:
#include <stdio.h> #include <stdlib.h> #include <dos.h> #include <conio.h> #include <math.h> void main () { clrscr(); sound(1500); delay(1000); nosound(); flushall(); getchar(); }



ע"י שינוי התדר בפקודה SOUND תוכל ליצור לעצמך איזו מנגינה שרק תרצה.
זה אומנם ארוך ומייגע, אבל זה יותר פשוט מלולאות FOR למיניהן...

מקווה שעזרתי...
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 01-03-2007, 15:23
  Schala Schala אינו מחובר  
 
חבר מתאריך: 04.01.07
הודעות: 3
בתגובה להודעה מספר 2 שנכתבה על ידי almogeddon שמתחילה ב "תראה...."

ציטוט:
במקור נכתב על ידי almogeddon
אני אישית בשביל צלילים משתמש בספריית DOS.H

דרכה אתה יכול ליצור צלילים לפי התדר שלהם, אתה יכול לקבוע השהיות....
זה יכול להיות מאוד נחמד...

בפקודה SOUND, בתוך הסוגריים אתה קובע את התדר שאותו אתה רוצה להפיק...
בפקודה DELAY, אתה קובע את זמן ההשהייה אותו אתה רוצה. [בזמן הזה, הפקודה האחרונה נשארת, כלומר, אם יצרת צליל, הוא ישאר עד לפקודה הבאה] הזמן שבתוך הסוגריים זה במילי שניות...
שמתי 1000 בשביל שניה אחת.

את הפקודה NOSOUND אני ממליץ בחום להשתמש... אחרת גם כשהתכנית מסתיימת, הוא ממשיך לעשות את הצליל האחרון...

הנה תוכנית קטנה, שסתם מוציאה צליל בתדר 1500HZ למשך שנייה אחת.

[הוספתי עוד ספריות מתוך הרגל, כי אני מהלימודים שלי עובד עם כולם. אין צורך בכולם. STDIO ו-DOS החשובות...]


קוד:
#include <stdio.h> #include <stdlib.h> #include <dos.h> #include <conio.h> #include <math.h> void main () { clrscr(); sound(1500); delay(1000); nosound(); flushall(); getchar(); }



ע"י שינוי התדר בפקודה SOUND תוכל ליצור לעצמך איזו מנגינה שרק תרצה.
זה אומנם ארוך ומייגע, אבל זה יותר פשוט מלולאות FOR למיניהן...

מקווה שעזרתי...


יכול להיות שהתוכנית הזו לא תעזור לי, כי שכחתי לציין שהפקודות צריכות להשלח לLPT ולא לרמקולים של המחשב. כך שכנראה התוכנית הזו לא תעזור לי..

ציטוט:
דו: מסומן גם באות C. תדרו 262 הרץ.
רה: מסומן גם באות D. תדרו 294 הרץ.
מי: מסומן גם באות E. תדרו 330 הרץ.
פה: מסומן גם באות F. תדרו 349 הרץ.
סול: מסומן גם באות G. תדרו 392 הרץ.
לה: מסומן גם באות A. תדרו 440 הרץ.
סי: מסומן גם באות B. תדרו 495 הרץ.


לעומת זאת, זה ממש יעזור לי (: תודה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 08:58

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר