Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #3239 > unrolled thread

binary to audio?

Started bybob <bob@coolfone.comze.com>
First post2013-04-10 11:52 -0700
Last post2013-04-11 02:10 +0000
Articles 11 — 6 participants

Back to article view | Back to comp.programming


Contents

  binary to audio? bob <bob@coolfone.comze.com> - 2013-04-10 11:52 -0700
    Re: binary to audio? Ian Collins <ian-news@hotmail.com> - 2013-04-11 07:50 +1200
    Re: binary to audio? Mark Storkamp <mstorkamp@yahoo.com> - 2013-04-10 14:54 -0500
      Re: binary to audio? bob <bob@coolfone.comze.com> - 2013-04-12 06:59 -0700
        Re: binary to audio? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-04-12 10:02 -0700
        Re: binary to audio? malcolm.mclean5@btinternet.com - 2013-04-16 07:31 -0700
          Re: binary to audio? bob <bob@coolfone.comze.com> - 2013-04-16 11:31 -0700
            Re: binary to audio? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-04-16 11:45 -0700
            Re: binary to audio? malcolm.mclean5@btinternet.com - 2013-04-16 16:43 -0700
    Re: binary to audio? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-04-10 15:29 -0700
    Re: binary to audio? Sjouke Burry <s@b> - 2013-04-11 02:10 +0000

#3239 — binary to audio?

Frombob <bob@coolfone.comze.com>
Date2013-04-10 11:52 -0700
Subjectbinary to audio?
Message-ID<cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com>
What is a good way to have a small amount of data (maybe 100 bytes) audio-encoded and sent to another computer by sound?  The other computer would read it into its microphone jack.

Thanks.

[toc] | [next] | [standalone]


#3240

FromIan Collins <ian-news@hotmail.com>
Date2013-04-11 07:50 +1200
Message-ID<aslu3eFkshpU2@mid.individual.net>
In reply to#3239
bob wrote:
> What is a good way to have a small amount of data (maybe 100 bytes)
> audio-encoded and sent to another computer by sound?  The other
> computer would read it into its microphone jack.

Google "acoustic modem".

-- 
Ian Collins

[toc] | [prev] | [next] | [standalone]


#3241

FromMark Storkamp <mstorkamp@yahoo.com>
Date2013-04-10 14:54 -0500
Message-ID<mstorkamp-ED45E1.14541510042013@news.eternal-september.org>
In reply to#3239
In article <cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com>,
 bob <bob@coolfone.comze.com> wrote:

> What is a good way to have a small amount of data (maybe 100 bytes) 
> audio-encoded and sent to another computer by sound?  The other computer 
> would read it into its microphone jack.
> 
> Thanks.

http://en.wikipedia.org/wiki/Frequency_shift_keying

[toc] | [prev] | [next] | [standalone]


#3251

Frombob <bob@coolfone.comze.com>
Date2013-04-12 06:59 -0700
Message-ID<b5831df1-404b-498e-bd0f-050119dabf21@googlegroups.com>
In reply to#3241
On Wednesday, April 10, 2013 2:54:16 PM UTC-5, Mark Storkamp wrote:
> In article <cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com>,
> 
>  bob <bob@coolfone.comze.com> wrote:
> 
> 
> 
> > What is a good way to have a small amount of data (maybe 100 bytes) 
> 
> > audio-encoded and sent to another computer by sound?  The other computer 
> 
> > would read it into its microphone jack.
> 
> > 
> 
> > Thanks.
> 
> 
> 
> http://en.wikipedia.org/wiki/Frequency_shift_keying

Thanks.

Encoding this is trivial.

I could just have a WAV file for the "one" and a WAV file for the "zero".

Then I could choose which one to play based on the data.

However, I'm pretty sure decoding is non-trivial especially considering noise (which hopefully can be minimized with a direct wire from audio output to microphone input).

Any tips regarding the decoding?

I have read of something called the Goertzel algorithm, but it seems rather complicated and possibly over my head.

Thanks.

[toc] | [prev] | [next] | [standalone]


#3253

FromDaniel Pitts <newsgroup.nospam@virtualinfinity.net>
Date2013-04-12 10:02 -0700
Message-ID<M6X9t.5070$iT2.2026@newsfe01.iad>
In reply to#3251
On 4/12/13 6:59 AM, bob wrote:
> On Wednesday, April 10, 2013 2:54:16 PM UTC-5, Mark Storkamp wrote:
>> In article <cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com>,
>>
>>   bob <bob@coolfone.comze.com> wrote:
>>
>>
>>
>>> What is a good way to have a small amount of data (maybe 100 bytes)
>>
>>> audio-encoded and sent to another computer by sound?  The other computer
>>
>>> would read it into its microphone jack.
>>
>>>
>>
>>> Thanks.
>>
>>
>>
>> http://en.wikipedia.org/wiki/Frequency_shift_keying
>
> Thanks.
>
> Encoding this is trivial.
>
> I could just have a WAV file for the "one" and a WAV file for the "zero".
>
> Then I could choose which one to play based on the data.
>
> However, I'm pretty sure decoding is non-trivial especially considering noise (which hopefully can be minimized with a direct wire from audio output to microphone input).
>
> Any tips regarding the decoding?
>
> I have read of something called the Goertzel algorithm, but it seems rather complicated and possibly over my head.
>
> Thanks.
>
If you are thinking that "encoding" is as simple as having wave files 
for one and zero, then I think this whole exercise may be over your head.

There are many different modulation schemes. FSK was suggested up 
thread, and may be the easiest to implement.

What is your real goal? Is this just a "Hey, I bet this could be done 
and I want to try", or is it a real need you have?

If it is a real need, then why audio? Why not infrared? Why not a real 
wire? Why not ethernet, wifi, or bluetooth?

[toc] | [prev] | [next] | [standalone]


#3255

Frommalcolm.mclean5@btinternet.com
Date2013-04-16 07:31 -0700
Message-ID<867d2360-5096-4160-9b09-3e36daeb3460@googlegroups.com>
In reply to#3251
On Friday, April 12, 2013 2:59:55 PM UTC+1, bob wrote:
> On Wednesday, April 10, 2013 2:54:16 PM UTC-5, Mark Storkamp wrote:
> 
> > In article <cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com>,
> 
>
> Encoding this is trivial.
>  
> I could just have a WAV file for the "one" and a WAV file for the "zero".
>  
> Then I could choose which one to play based on the data.
> 
> However, I'm pretty sure decoding is non-trivial especially considering 
> noise (which hopefully can be minimized with a direct wire from audio output > to microphone input).
> 
The snag is that you get what we call aliasing, or extra frequencies, at 
the joins between your two wav files. Which makes it hard for the decoder
to know what it is playing. 
Look up Fourier transforms first. Sounds are essentially waves, which the
computer handles as samples. So the central idea is to encode the data in
the frequency domain, as waves, convert it to samples, send it to the other 
computer (which means a loss of data), convert back to waves, and retrieve 
the data. Since noise shows itself as small waves superimposed on the big
ones, you ignore these, and the system is robust.   

[toc] | [prev] | [next] | [standalone]


#3256

Frombob <bob@coolfone.comze.com>
Date2013-04-16 11:31 -0700
Message-ID<c2634d1e-05d6-4401-8494-a22ad49d8543@googlegroups.com>
In reply to#3255
On Tuesday, April 16, 2013 9:31:28 AM UTC-5, malcolm...@btinternet.com wrote:
> On Friday, April 12, 2013 2:59:55 PM UTC+1, bob wrote:
> 
> > On Wednesday, April 10, 2013 2:54:16 PM UTC-5, Mark Storkamp wrote:
> 
> > 
> 
> > > In article <cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com>,
> 
> > 
> 
> >
> 
> > Encoding this is trivial.
> 
> >  
> 
> > I could just have a WAV file for the "one" and a WAV file for the "zero".
> 
> >  
> 
> > Then I could choose which one to play based on the data.
> 
> > 
> 
> > However, I'm pretty sure decoding is non-trivial especially considering 
> 
> > noise (which hopefully can be minimized with a direct wire from audio output > to microphone input).
> 
> > 
> 
> The snag is that you get what we call aliasing, or extra frequencies, at 
> 
> the joins between your two wav files. Which makes it hard for the decoder
> 
> to know what it is playing. 
> 
> Look up Fourier transforms first. Sounds are essentially waves, which the
> 
> computer handles as samples. So the central idea is to encode the data in
> 
> the frequency domain, as waves, convert it to samples, send it to the other 
> 
> computer (which means a loss of data), convert back to waves, and retrieve 
> 
> the data. Since noise shows itself as small waves superimposed on the big
> 
> ones, you ignore these, and the system is robust.

It sounds like FSK is hard to decode, and encoding is of unclear difficulty.

I'm thinking a more appropriate solution may be morse code.  There will be two sounds - one short in length and one long in length - 'zero' and 'one' respectively.  Then the WAV files will be as such:

zero.wav   - short silence, a short sound, short silence

one.wav  - short silence, a long sound, short silence

If anyone has anything simpler, please let me know.

Thanks.

[toc] | [prev] | [next] | [standalone]


#3257

FromDaniel Pitts <newsgroup.nospam@virtualinfinity.net>
Date2013-04-16 11:45 -0700
Message-ID<Y_gbt.285124$%_6.159947@newsfe22.iad>
In reply to#3256
On 4/16/13 11:31 AM, bob wrote:
> It sounds like FSK is hard to decode, and encoding is of unclear difficulty.
>
> I'm thinking a more appropriate solution may be morse code.  There will be two sounds - one short in length and one long in length - 'zero' and 'one' respectively.  Then the WAV files will be as such:
>
> zero.wav   - short silence, a short sound, short silence
>
> one.wav  - short silence, a long sound, short silence
>
> If anyone has anything simpler, please let me know.

How do you plan on decoding that? Why are you even talking about "wav" 
files.

Also, why didn't you answer my earlier questions about what your real 
goal is?

[toc] | [prev] | [next] | [standalone]


#3261

Frommalcolm.mclean5@btinternet.com
Date2013-04-16 16:43 -0700
Message-ID<c12835bd-b95d-4f0d-b78a-6b6b2e93e7c9@googlegroups.com>
In reply to#3256
On Tuesday, April 16, 2013 7:31:15 PM UTC+1, bob wrote:
>  
>
> I'm thinking a more appropriate solution may be morse code.  There will 
> be two sounds - one short in length and one long in length - 'zero' and 
> 'one' respectively.  Then the WAV files will be as such:
> 
> zero.wav   - short silence, a short sound, short silence
> 
> one.wav  - short silence, a long sound, short silence
>  
> If anyone has anything simpler, please let me know.
> 
That scheme might work. You've got two problems, the first of which is
that your "silence" will consist of a region of low-valued samples,
not zero-valued samples, unless the audio really is very good. The second
rather more difficult problem is that the "sound" regions consist of 
high valued and low-valued samples, in correlated waves. However neither
of those should be insurmountable.

You've also got to consider how to code message start and message end. 
Often this is non-trivial.

[toc] | [prev] | [next] | [standalone]


#3242

FromDaniel Pitts <newsgroup.nospam@virtualinfinity.net>
Date2013-04-10 15:29 -0700
Message-ID<2Jl9t.528235$Q91.501442@newsfe26.iad>
In reply to#3239
On 4/10/13 11:52 AM, bob wrote:
> What is a good way to have a small amount of data (maybe 100 bytes) audio-encoded and sent to another computer by sound?  The other computer would read it into its microphone jack.
>
> Thanks.
>
That's what a modem does, basically ;-)

[toc] | [prev] | [next] | [standalone]


#3243

FromSjouke Burry <s@b>
Date2013-04-11 02:10 +0000
Message-ID<XnsA19F2AF71E0C2sjoukeburrysoesterbe@213.75.12.10>
In reply to#3239
bob <bob@coolfone.comze.com> wrote in
news:cc773d77-afb1-48a4-bc6a-e79b4e50bd46@googlegroups.com: 

> What is a good way to have a small amount of data (maybe 100 bytes)
> audio-encoded and sent to another computer by sound?  The other
> computer would read it into its microphone jack. 
> 
> Thanks.
> 

A phone modem, encoding and decoding done automatically.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming


csiph-web