8
votes

Générer un fichier son avec une tonalité de 15 kHz

Je joue avec des sons aiguës. Je souhaite générer un fichier MP3 avec une rafale de 1 seconde 15kHz. Y a-t-il un moyen simple de le faire de c ou de python? Je ne veux pas utiliser Matlab.


2 commentaires

Gardez à l'esprit qu'un ton de 15 kHz peut avoir de nombreuses formes, c'est-à-dire sine, carré, triangle, scie de scie, etc.


Je serais vraiment intéressé par une solution, qui génère le MP3 directement. Créer un fichier de vagues et la compresser avec boiteux est une solution assez évidente mais ennuyeuse. Certains petits gorgs qui génèrent un MP3 avec une tonalité (15 kHz ou autre) qui peut être joué par n'importe quel décodeur serait génial. Des geeks de fichier mp3 ici?


3 Réponses :


-1
votes

Avez-vous essayé:

#include<dos.h>
#include<iostream.h>
#include<conio.h>
main()
{
    sound(500); // Frequency
    delay(1000); // Time
    nosound(); // Stop
}


2 commentaires

Cette bibliothèque est tellement explosée du passé, mais quelles plateformes fonctionnent-elles aujourd'hui?


Comment cela est-ce upé? Non seulement les pratiques C désuées (valeurs de rendement implicites), mais spécifique à la plate-forme lorsqu'aucune plate-forme spécifiée dans les étiquettes ou la question n'a également rien à voir avec la génération de mp3.



2
votes

Je briserais cela en 2 morceaux:

  1. Créez un fichier Wave à l'aide d'une bibliothèque C ++ (comme bibliothèque libsndfile )
  2. Convertir le fichier Wave en MP3 à l'aide d'un utilitaire (comme boiteux ). Ceci est un outil de ligne de commande qui peut également être appelé à partir de votre programme C. Voir -t pour convertir une vague en mp3.

    Une chose à noter est de 15 kHz est très haute fréquence à être entendue par l'homme et je suppose que la plupart des locuteurs ne sont pas capables de la jouer car elle est au-delà de la fréquence de coupure. Alors ne soyez pas surpris si vous n'entendez pas le résultat.


1 commentaires

+1, mais sur la gamme de haut-parleurs, de nombreux écouteurs ont des fréquences de réponse allant jusqu'à 20 000 kz. Que vous puissiez ou non que ce soit une histoire différente!



14
votes

Vous pouvez utiliser Python's vague Module pour créer un fichier d'ondes que vous pourriez alors compresser au mp3. Pour créer une seconde onde sinusoïdale de 15 kHz: xxx


0 commentaires