Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.
AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.
En programmation informatique, une fonction variadique est une fonction d'arité indéfinie, c'est-à-dire qui accepte un nombre variable de paramètres. De nombreuses opérations mathématiques et logiques peuvent se représenter sous forme de fonctions variadiques. Par exemple, l'addition de nombres ou la concaténation de chaînes de caractères peuvent s'appliquer à un nombre arbitraire d'opérandes. Le langage C permet la définition de fonctions variadiques. Les exemples les plus connus sont les fonctions standard d'entrée-sortie printf et scanf. La récupération des arguments se fait grâce au type va_list et aux macros va_start(), va_arg() et va_end() de . La fonction doit alors trouver un moyen de connaître le type des arguments qui lui ont été fournis, ceux-ci étant choisis par l'utilisateur. Néanmoins, le prototype d'une fonction variadique doit comporter au moins un paramètre muet dont le type est connu. Exemple : la fonction suivante illustre l'utilisation de . #include #include /* Renvoie la moyenne des valeurs réelles passées en paramètres. Le premier paramètre, le nombre de valeurs, doit être strictement positif. Les suivants doivent être des nombres réels (de type float ou double, pas int) / double moyenne(int nb_valeurs, double valeur1, ...) { double somme = valeur1; va_list params; // pointeur de la liste des paramètres va_start(params, valeur1); // initialise le pointeur grâce // au dernier paramètre fixe for (int i = 1 ; i < nb_valeurs ; ++i) { // récupérer le paramètre suivant de la liste: double valeur_suiv = va_arg(params, double); somme += valeur_suiv; } va_end(params); // fermeture de la liste return somme / nb_valeurs; } int main(void) { // exemple d'utilisation : printf ("%.3f\n", moyenne(3, 14.5, 18.0, 17.5)); // affiche 16.667 return 0; } La fonction suivante écrit les données fournies sur l'entrée standard, les types étant décrits dans une chaîne de format (comme avec printf) : #include / Pour va_list / #include / Pour printf / / À noter que
[2]Paolo Prandoni, [3]LCAV, EPFL
This notebook shows a simple way to process audio files (in WAV format)
in a block-by-block fashion; this is useful in two cases
1. when you want to process a data stream in real time but you can
accept a small processing delay; in this case a buffered approach
can yield computational gains
2. when you need to process a large file that does not fit entirely
into [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will design and use filters to extract specific
audio frequencies from a music file.
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import IPython
import scipy.signal as sp
from scipy.io import wavfile
infringment...)
In [2]:
IPython.display.Audio(s, rate=SF)
Out[2]:
Your browser does not support the audio element.