9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Gorka Guardiola <paurea@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] sound, graphics, tuner
Date: Sat, 15 Jan 2011 13:05:28 +0100	[thread overview]
Message-ID: <AANLkTin2XKzKvu5ejQLp9a3gfCvvaaYtRktkJTGJus24@mail.gmail.com> (raw)
In-Reply-To: <ef638938c20911b75df339db405f81c3@proxima.alt.za>

On Sat, Jan 15, 2011 at 11:38 AM,  <lucio@proxima.alt.za> wrote:
>> Can anybody comment this and/or possibly point me at some good documents?
>
> It looks kind of easy, although I've never gone there myself.  After
> all, you just need to display two lines, one fixed (you omitted to
> mention that you need to specify the tone you are after) and one that
> moves closer or further from the base line as the tuning is adjusted.
> Two points may suffice, but they may be hard to read.

Aliasing... You need to read more than two points, even if you produce
only two after. Essentially I would do something like:

Read N PCM samples from the sound card, this is just a read from the
audio in file, easy part.
The samples you can read from http://plan9.bell-labs.com/magic/man2html/3/audio
audio(3) or a similar interfaces provided by usb/audio usb(4).

Calculate some sort of windowed FFT.
Find the peak (I would correlate with a moving peak shape and find a big value).
Generate the read/estimated frequency, fin.

Then you can draw the margin for the frequency  error you tolerate
which are probably two lines fthlow, fthhigh or different colors
dividing the window/output in three
parts, too high, too low and acceptable and superpose the
line depicting fin over it (something like the letonian flag).
fthlow and fthhigh can come from the user clicking on the window and
moving up and down
or from some slider (I would do the first)..

This last part, I would use draw
http://plan9.bell-labs.com/magic/man2html/2/draw
draw(2). You can use control
http://plan9.bell-labs.com/magic/man2html/2/control control(2)
to add sliders but for what you are doing just drawing rectangles and
lines should be fine.

HTH.

G.



  reply	other threads:[~2011-01-15 12:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-15 10:04 Rudolf Sykora
2011-01-15 10:38 ` lucio
2011-01-15 12:05   ` Gorka Guardiola [this message]
2011-01-15 18:50     ` Rudolf Sykora
2011-01-15 19:00       ` John Floren
2011-01-15 20:30       ` Tristan Plumb
2011-01-16  3:52         ` Venkatesh Srinivas
2011-01-16  4:00           ` Jacob Todd
2011-01-16 19:20           ` [9fans] 9doom Lyndon Nerenberg (VE6BBM/VE7TFX)
2011-01-16 19:24             ` Jacob Todd
2011-01-16 19:27             ` John Floren
2011-01-16 20:29               ` Jacob Todd
2011-01-17  0:52                 ` Joel C. Salomon
2011-01-17  8:11                   ` James Tomaschke
2011-01-17 13:30           ` [9fans] sound, graphics, tuner Pavel Klinkovsky
2011-01-17 14:52             ` Jacob Todd
2011-01-17 16:53               ` Federico G. Benavento

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTin2XKzKvu5ejQLp9a3gfCvvaaYtRktkJTGJus24@mail.gmail.com \
    --to=paurea@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).