[-,speaker-test,1/1] speaker-test: add --force-frequency option to allow hz outside range
diff mbox

Message ID CAN5Z5QH3o=m9rbwuFtMu8DZpDN2xfy_KsC7F6jamwG=_jcXcaA@mail.gmail.com
State Accepted
Delegated to: Takashi Iwai
Headers show

Commit Message

Erik Ackermann Feb. 25, 2014, 7:49 p.m. UTC
Updated the english po and de/fr/ja translations courtesy of Google
translate. Is there any sign-off required beyond the header git
format-patch adds?

Thanks,
Erik


On Mon, Feb 24, 2014 at 7:15 AM, Takashi Iwai <tiwai@suse.de> wrote:

> At Mon, 24 Feb 2014 07:04:27 -0800,
> Will R wrote:
> >
> > What is the reasoning behind the limit, protecting speaker hardware,
> > hearing?
>
> I guess so.
>
> > I think common speakers have frequency response up to 15 or 16kHz
> > or so, so maybe a bit higher default limit of 8kHz would be okay.
>
> Agreed.
>
> > I was doing some tests around 20kHz - 22kHz (to test my hearing and freq
> > response of my 25kHz rated headphones), so still see the merit in a force
> > option for people who are certain they want to test that high.
> >
> > New patch: Added min of 1.0Hz for force option, changed default max to
> > 8kHz, fixed typo in flag name:
>
> The changes look good to me.
>
> But could you update the man page, and give your sign-off, too?
>
>
> thanks,
>
> Takashi
>
>
> >
> > diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
> > index 261f399..61396f2 100644
> > --- a/speaker-test/speaker-test.c
> > +++ b/speaker-test/speaker-test.c
> > @@ -106,6 +106,7 @@ static snd_pcm_uframes_t  period_size;
> >  static const char *given_test_wav_file = NULL;
> >  static char *wav_file_dir = SOUNDSDIR;
> >  static int debug = 0;
> > +static int force_frequency = 0;
> >  static int in_aborting = 0;
> >  static snd_pcm_t *pcm_handle = NULL;
> >
> > @@ -1015,6 +1016,7 @@ static void help(void)
> >      "-w,--wavfile Use the given WAV file as a test sound\n"
> >      "-W,--wavdir Specify the directory containing WAV files\n"
> >      "-m,--chmap Specify the channel map to override\n"
> > +    "-X,--force-frequency force frequencies outside the 30-8000hz
> range\n"
> >      "\n"));
> >    printf(_("Recognized sample formats are:"));
> >    for (fmt = supported_formats; *fmt >= 0; fmt++) {
> > @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) {
> >      {"wavfile",   1, NULL, 'w'},
> >      {"wavdir",    1, NULL, 'W'},
> >      {"debug",   0, NULL, 'd'},
> > +    {"force-frequency",   0, NULL, 'X'},
> >  #ifdef CONFIG_SUPPORT_CHMAP
> >      {"chmap",   1, NULL, 'm'},
> >  #endif
> > @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) {
> >    while (1) {
> >      int c;
> >
> > -    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d"
> > +    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X"
> >  #ifdef CONFIG_SUPPORT_CHMAP
> >    "m:"
> >  #endif
> > @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) {
> >        break;
> >      case 'f':
> >        freq = atof(optarg);
> > -      freq = freq < 30.0 ? 30.0 : freq;
> > -      freq = freq > 5000.0 ? 5000.0 : freq;
> >        break;
> >      case 'b':
> >        buffer_time = atoi(optarg);
> > @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) {
> >      case 'd':
> >        debug = 1;
> >        break;
> > +    case 'X':
> > +      force_frequency = 1;
> > +      break;
> >  #ifdef CONFIG_SUPPORT_CHMAP
> >      case 'm':
> >        chmap = optarg;
> > @@ -1190,6 +1194,13 @@ int main(int argc, char *argv[]) {
> >      exit(EXIT_SUCCESS);
> >    }
> >
> > +  if (!force_frequency) {
> > +    freq = freq < 30.0 ? 30.0 : freq;
> > +    freq = freq > 8000.0 ? 8000.0 : freq;
> > +  } else {
> > +    freq = freq < 1.0 ? 1.0 : freq;
> > +  }
> > +
> >    if (test_type == TEST_WAV)
> >      format = SND_PCM_FORMAT_S16_LE; /* fixed format */
> >
> > --
> > 1.8.3.2
> >
> >
> > On Mon, Feb 24, 2014 at 1:59 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > > At Sat, 22 Feb 2014 16:09:57 -0800,
> > > erik@caspar.alsa-project.org wrote:
> > > >
> > > > From: Erik Ackermann <domohawk@gmail.com>
> > > >
> > > > Signed-off-by: Erik Ackermann <domohawk@gmail.com>
> > >
> > > But still it should have some sanity checks like freq <= 0, as freq is
> > > used as a divisor.
> > >
> > > Or, we may simply relax the frequency range.  What value do you want
> > > to take in your use case?
> > >
> > >
> > > Takashi
> > >
> > > >
> > > > diff --git a/speaker-test/speaker-test.c
> b/speaker-test/speaker-test.c
> > > > index 261f399..22927f2 100644
> > > > --- a/speaker-test/speaker-test.c
> > > > +++ b/speaker-test/speaker-test.c
> > > > @@ -106,6 +106,7 @@ static snd_pcm_uframes_t  period_size;
> > > >  static const char *given_test_wav_file = NULL;
> > > >  static char *wav_file_dir = SOUNDSDIR;
> > > >  static int debug = 0;
> > > > +static int force_frequency = 0;
> > > >  static int in_aborting = 0;
> > > >  static snd_pcm_t *pcm_handle = NULL;
> > > >
> > > > @@ -1015,6 +1016,7 @@ static void help(void)
> > > >          "-w,--wavfile        Use the given WAV file as a test
> sound\n"
> > > >          "-W,--wavdir Specify the directory containing WAV files\n"
> > > >          "-m,--chmap  Specify the channel map to override\n"
> > > > +        "-X,--force-frequency        force frequencies outside the
> > > 30-5000hz range\n"
> > > >          "\n"));
> > > >    printf(_("Recognized sample formats are:"));
> > > >    for (fmt = supported_formats; *fmt >= 0; fmt++) {
> > > > @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) {
> > > >      {"wavfile",   1, NULL, 'w'},
> > > >      {"wavdir",    1, NULL, 'W'},
> > > >      {"debug",          0, NULL, 'd'},
> > > > +    {"force-frequncy",         1, NULL, 'X'},
> > > >  #ifdef CONFIG_SUPPORT_CHMAP
> > > >      {"chmap",          1, NULL, 'm'},
> > > >  #endif
> > > > @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) {
> > > >    while (1) {
> > > >      int c;
> > > >
> > > > -    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d"
> > > > +    if ((c = getopt_long(argc, argv,
> "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X"
> > > >  #ifdef CONFIG_SUPPORT_CHMAP
> > > >                        "m:"
> > > >  #endif
> > > > @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) {
> > > >        break;
> > > >      case 'f':
> > > >        freq = atof(optarg);
> > > > -      freq = freq < 30.0 ? 30.0 : freq;
> > > > -      freq = freq > 5000.0 ? 5000.0 : freq;
> > > >        break;
> > > >      case 'b':
> > > >        buffer_time = atoi(optarg);
> > > > @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) {
> > > >      case 'd':
> > > >        debug = 1;
> > > >        break;
> > > > +    case 'X':
> > > > +      force_frequency = 1;
> > > > +      break;
> > > >  #ifdef CONFIG_SUPPORT_CHMAP
> > > >      case 'm':
> > > >        chmap = optarg;
> > > > @@ -1190,6 +1194,11 @@ int main(int argc, char *argv[]) {
> > > >      exit(EXIT_SUCCESS);
> > > >    }
> > > >
> > > > +  if (!force_frequency) {
> > > > +    freq = freq < 30.0 ? 30.0 : freq;
> > > > +    freq = freq > 5000.0 ? 5000.0 : freq;
> > > > +  }
> > > > +
> > > >    if (test_type == TEST_WAV)
> > > >      format = SND_PCM_FORMAT_S16_LE; /* fixed format */
> > > >
> > > > --
> > > > 1.8.3.2
> > > >
> > >
> > [1.2  <text/html; ISO-8859-1 (quoted-printable)>]
> >
> > From 3d9ceb42e1205618b29479077b0bd3f2d71c64db Mon Sep 17 00:00:00 2001
> > From: Erik Ackermann <domohawk@gmail.com>
> > Date: Mon, 24 Feb 2014 06:53:08 -0800
> > Subject: [PATCH - speaker-test 1/1] speaker-test: add --force-frequency
> option
> >  to allow hz outside range
> >
> > Signed-off-by: Erik Ackermann <domohawk@gmail.com>
> >
> > diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
> > index 261f399..61396f2 100644
> > --- a/speaker-test/speaker-test.c
> > +++ b/speaker-test/speaker-test.c
> > @@ -106,6 +106,7 @@ static snd_pcm_uframes_t  period_size;
> >  static const char *given_test_wav_file = NULL;
> >  static char *wav_file_dir = SOUNDSDIR;
> >  static int debug = 0;
> > +static int force_frequency = 0;
> >  static int in_aborting = 0;
> >  static snd_pcm_t *pcm_handle = NULL;
> >
> > @@ -1015,6 +1016,7 @@ static void help(void)
> >          "-w,--wavfile        Use the given WAV file as a test sound\n"
> >          "-W,--wavdir Specify the directory containing WAV files\n"
> >          "-m,--chmap  Specify the channel map to override\n"
> > +        "-X,--force-frequency        force frequencies outside the
> 30-8000hz range\n"
> >          "\n"));
> >    printf(_("Recognized sample formats are:"));
> >    for (fmt = supported_formats; *fmt >= 0; fmt++) {
> > @@ -1057,6 +1059,7 @@ int main(int argc, char *argv[]) {
> >      {"wavfile",   1, NULL, 'w'},
> >      {"wavdir",    1, NULL, 'W'},
> >      {"debug",          0, NULL, 'd'},
> > +    {"force-frequency",        0, NULL, 'X'},
> >  #ifdef CONFIG_SUPPORT_CHMAP
> >      {"chmap",          1, NULL, 'm'},
> >  #endif
> > @@ -1078,7 +1081,7 @@ int main(int argc, char *argv[]) {
> >    while (1) {
> >      int c;
> >
> > -    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d"
> > +    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X"
> >  #ifdef CONFIG_SUPPORT_CHMAP
> >                        "m:"
> >  #endif
> > @@ -1114,8 +1117,6 @@ int main(int argc, char *argv[]) {
> >        break;
> >      case 'f':
> >        freq = atof(optarg);
> > -      freq = freq < 30.0 ? 30.0 : freq;
> > -      freq = freq > 5000.0 ? 5000.0 : freq;
> >        break;
> >      case 'b':
> >        buffer_time = atoi(optarg);
> > @@ -1173,6 +1174,9 @@ int main(int argc, char *argv[]) {
> >      case 'd':
> >        debug = 1;
> >        break;
> > +    case 'X':
> > +      force_frequency = 1;
> > +      break;
> >  #ifdef CONFIG_SUPPORT_CHMAP
> >      case 'm':
> >        chmap = optarg;
> > @@ -1190,6 +1194,13 @@ int main(int argc, char *argv[]) {
> >      exit(EXIT_SUCCESS);
> >    }
> >
> > +  if (!force_frequency) {
> > +    freq = freq < 30.0 ? 30.0 : freq;
> > +    freq = freq > 8000.0 ? 8000.0 : freq;
> > +  } else {
> > +    freq = freq < 1.0 ? 1.0 : freq;
> > +  }
> > +
> >    if (test_type == TEST_WAV)
> >      format = SND_PCM_FORMAT_S16_LE; /* fixed format */
> >
> > --
> > 1.8.3.2
> >
>

Comments

Takashi Iwai Feb. 26, 2014, 7:14 a.m. UTC | #1
At Tue, 25 Feb 2014 11:49:46 -0800,
Erik Ackermann wrote:
> 
> Updated the english po and de/fr/ja translations courtesy of Google
> translate. Is there any sign-off required beyond the header git
> format-patch adds?

Thanks, applied the patch now.
Could you update the man page, too?


Takashi

Patch
diff mbox

From 198c7dc70afe04a6072059ddc997417c3ceca3e2 Mon Sep 17 00:00:00 2001
From: Erik Ackermann <kurterikackermann@gmail.com>
Date: Tue, 25 Feb 2014 11:45:24 -0800
Subject: [PATCH - speaker-test 1/1] speaker-test: add --force-frequency option
 to allow hz outside range

Signed-off-by: Erik Ackermann <kurterikackermann@gmail.com>

diff --git a/po/de.po b/po/de.po
index 0c47c65..586bde2 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1487,6 +1487,7 @@  msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 "Verwendung: speaker-test [Option]...\n"
@@ -1504,6 +1505,7 @@  msgstr ""
 "-s,--speaker    teste einen einzelnen Lautsprecher; 1=links, 2=rechts, usw.\n"
 "-w,--wavfile    benutze WAV-Datei als Testton\n"
 "-W,--wavdir     benutze Verzeichnis mit darin enthaltenen WAV-Dateien\n"
+"-X,--force-frequency\termöglichen Frequenzen außerhalb der 30-8000Hz Bereich\n"
 "\n"
 
 #: speaker-test/speaker-test.c:921
diff --git a/po/fr.po b/po/fr.po
index a6028a4..876c9a3 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1474,6 +1474,7 @@  msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 "Utilisation: speaker-test [OPTION]...\n"
@@ -1492,6 +1493,7 @@  msgstr ""
 "\t\tValeurs 1=Gauche, 2=Droite, et c.\n"
 "-w,--wavfile\tUtiliser le fichier WAV spécifié pour le test\n"
 "-w,--wavdir\tSpécifier le répertoire contenant les fichiers WAV\n"
+"-X,--force-frequency\tpermettre fréquences en dehors de la gamme 30-8000Hz\n"
 "\n"
 
 #: ../speaker-test/speaker-test.c:852
diff --git a/po/ja.po b/po/ja.po
index 2c234f4..d8ef706 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1429,6 +1429,7 @@  msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 "???: speaker-test [?????]...\n"
@@ -1447,6 +1448,7 @@  msgstr ""
 "-s,--speaker         ??????????  1=? ??? 2=?\n"
 "-w,--wavfile         ???WAV???????????????\n"
 "-W,--wavdir          WAV????????????????\n"
+"-X,--force-frequency\t30-8000Hz?????\n"
 "\n"
 
 #: speaker-test/speaker-test.c:835
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index 261f399..61396f2 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -106,6 +106,7 @@  static snd_pcm_uframes_t  period_size;
 static const char *given_test_wav_file = NULL;
 static char *wav_file_dir = SOUNDSDIR;
 static int debug = 0;
+static int force_frequency = 0;
 static int in_aborting = 0;
 static snd_pcm_t *pcm_handle = NULL;
 
@@ -1015,6 +1016,7 @@  static void help(void)
 	   "-w,--wavfile	Use the given WAV file as a test sound\n"
 	   "-W,--wavdir	Specify the directory containing WAV files\n"
 	   "-m,--chmap	Specify the channel map to override\n"
+	   "-X,--force-frequency	force frequencies outside the 30-8000hz range\n"
 	   "\n"));
   printf(_("Recognized sample formats are:"));
   for (fmt = supported_formats; *fmt >= 0; fmt++) {
@@ -1057,6 +1059,7 @@  int main(int argc, char *argv[]) {
     {"wavfile",   1, NULL, 'w'},
     {"wavdir",    1, NULL, 'W'},
     {"debug",	  0, NULL, 'd'},
+    {"force-frequency",	  0, NULL, 'X'},
 #ifdef CONFIG_SUPPORT_CHMAP
     {"chmap",	  1, NULL, 'm'},
 #endif
@@ -1078,7 +1081,7 @@  int main(int argc, char *argv[]) {
   while (1) {
     int c;
     
-    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d"
+    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X"
 #ifdef CONFIG_SUPPORT_CHMAP
 			 "m:"
 #endif
@@ -1114,8 +1117,6 @@  int main(int argc, char *argv[]) {
       break;
     case 'f':
       freq = atof(optarg);
-      freq = freq < 30.0 ? 30.0 : freq;
-      freq = freq > 5000.0 ? 5000.0 : freq;
       break;
     case 'b':
       buffer_time = atoi(optarg);
@@ -1173,6 +1174,9 @@  int main(int argc, char *argv[]) {
     case 'd':
       debug = 1;
       break;
+    case 'X':
+      force_frequency = 1;
+      break;
 #ifdef CONFIG_SUPPORT_CHMAP
     case 'm':
       chmap = optarg;
@@ -1190,6 +1194,13 @@  int main(int argc, char *argv[]) {
     exit(EXIT_SUCCESS);
   }
 
+  if (!force_frequency) {
+    freq = freq < 30.0 ? 30.0 : freq;
+    freq = freq > 8000.0 ? 8000.0 : freq;
+  } else {
+    freq = freq < 1.0 ? 1.0 : freq;
+  }
+
   if (test_type == TEST_WAV)
     format = SND_PCM_FORMAT_S16_LE; /* fixed format */
 
-- 
1.8.3.2