|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
[C++] Fibonacci's music
#include<math.h>
#include<iostream.h> #include<stdlib.h> #include<windows.h> using namespace :: std; int main(){ char esc; int i,primo[10000],vi,vf,num,numno; float nota[10000],s[10000],f,pause;//f è la nota di riferimento in Hertz primo[0]=primo[1]=1; cout<<"Da quale posizione della serie si vuol far partire il brano?[0-9999] "; cin>>vi; cout<<"A che posizione della serie si vuol concludere l'esecuzione?[1-10000]"; cin>>vf; cout<<"Inserire la durata di ogni nota (in millisecondi)"; cin>>pause; cout<<"Inserisci il numero di note"; cin>>numno; cout<<"inserisci la nota fondamentale [Hertz]"; cin>>f; num=vi; for(i=2;i<10000;i++){ primo[i]=primo[i-1]+primo[i-2]; s[i]=primo[i]%numno;} for(i=vi;i<vf;i++){ nota[i]=pow(2,s[i]/12)*f; num=num+1; cout<<nota[i]<<"\t\t\t"<<num<<"\n"; Beep(nota[i],pause);} cin>>esc; return 0; } Compilatelo e fatemi sapere le vostre opinioni Per un ascolto ne troppo veloce ne troppo lento l'impostazione della durata delle note si aggira intorno ai 100 ms Perchè la riproduzione con 16 note è l'unica che sembra essere regolare? ![]() Questo è il link per scaricare il programma http://www.megaupload.com/?d=YY75VK6A Ultima modifica di coidrok : 31-01-2009 alle 19:13. Motivo: link per scaricare il .exe |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
mhuamahuamahua che figata!
![]() giusto un appunto, devi includere <iostream> (senza l'estensione) altrimenti non compila ![]() senti, ma qual é un valore ragionevole per l'ultimo parametro? (frequenza della nota fondamentale) |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Dec 2007
Messaggi: 1486
|
Quote:
bio |
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
Io di solito imposto il Re che equivale a 293.7 [Hz]
comunque vanno bene tutte tranne quelle troppo basse o troppo alte.Un range potrebbe essere [80-500] comunque dipende dal numero di note, se le note sono molte, diciamo più di 40, e metti un valore della frequenza di riferimento che si discosta troppo dalla media del range, alcune note risulterebbero non udibili, in quanto troppo basse o troppo alte Hai ascoltato quella a 16 note? strano che sia l'unica ad avere una certa regolarita ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
|
Ma si dovrebbe sentire qualche suono???
Perchè io non sento assolutamente nulla ![]() ![]() ![]() Provato sia con Code::Blocks che con visual c++ 2008 express ![]()
__________________
iMac 27" 5K |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
non sò perchè ma a volte devo cliccare sull'icona del volume per ascoltarlo
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Però così dovrei per forza andare su Windows per provarlo, non è giusto... facciamogli fare un .wav in output!
![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
qual'è il codice per produrre un .wav?
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Avevo sentito parlare di una qualche libreria. Se trovo qualcosa te lo linko.
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 4683
|
Quote:
![]()
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito. |
|
![]() |
![]() |
![]() |
#12 |
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
ma che figata...è intrippantissimo....
![]() |
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
si, hanno tutte la stessa durata.
Se avete qualche idea per assegnare tempi diversi a note diverse fatevi avanti, potremmo iniziare con dei valori casuali. risposta a Danielec88: nel caso in cui io riuscissi a creare un file .wav sarebbe soltanto una composizione tra le infinite possibili ascoltabili utilizzando il .exe quindi trovo meglio inserire nella discussione come creare l'exe in linux (presumo che tu utilizzi linux) anche se non sò come ciò si possa fare.Chi lo sa si faccia avanti cosicchè anche danielec88 e gli utenti del "sistema free" possano ascoltare la musica di Fibonacci. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Se facciamo un codice "standard" possiamo far compilare il programma a chiunque e far generare .wav a tutte le piattaforme...
![]() Chi si fa avanti? ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
nessuno ha ancora un idea sul perchè la riproduzione con 16 note ha rispetto alle altre una regolarità più elevata?Quale potrebbe essere il motivo secondo voi?
La mia ipotesi è che forse la serie di Fibonacci prediliga il sistema numerico a base esadecimale.secondo voi questa spiegazione ha qualche fondamento?avete letto qualcosa a riguardo? |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Che intendi per "regolarità più elevata"? Io ancora non ho potuto provarlo.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#17 | |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
ripetizione simile di un intervallo di note a intervalli di tempo successivi.E la magia stà nella ripetizione similare ma NON identica... mentre per tutte le altre riproduzioni la regolarità è assai minore.
Quote:
|
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Evitando chiamate specifiche per un certo sistema operativo ed usando ciò che il linguaggio offre.
![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#19 |
Member
Iscritto dal: Jan 2009
Messaggi: 123
|
link for fibonacci's_music.exe
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Per divertirmi un po' ho sviluppato un piccolo codice in grado di scrivere file wave PCM/non compressi (ma è veramente minimale, è in grado solo di salvare file mono, s16le, 44100hz). Ad ogni modo dovrebbe bastare al nostro scopo - dovrebbe usare solo chiamate standard o pressapoco, quindi lo si può eventualmente riadattare per far generare un wave al programmino per la sequenza di Fibonacci.
![]() Come test gli ho fatto generare un file con 10 note causali da un secondo ognuna. Enjoy! ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! Ultima modifica di DanieleC88 : 06-02-2009 alle 00:34. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:45.