byter | 8-bit computer built from 7400 series ICs
kandi X-RAY | byter Summary
kandi X-RAY | byter Summary
Byter is an 8-bit computer built mostly out of 7400 series HC and HCT integrated circuits. It features a 16-bit address bus, 64Kb RAM, up to 32Kb ROM, 8 input ports, and 8 output ports. The custom architecture includes a hardware stack pointer, program counter, accumulator, index register (page + offset). CPU clock rates of up to 1Mhz are supported, however by default the clock is scaled down to 2KHz. The instruction set is stack-based. Available peripherals include a 16x2 LCD display, a 4x4 hex keypad, a timer and 8 debug LEDs. The current implementation includes 77 ICs and ~70m of wiring, spread across 5 solderless breadboards, grouped into 5 modules of 3 boards each (I/O, SP, PC, ALU + Flags + MDR/MSR, RAM + uCode + ROM).
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Assemble the instruction
- Embeds the given pattern
- Encode the state of the chip
- Return a binary representation of a number
- Generate a binary number
- Returns the total size in bytes
byter Key Features
byter Examples and Code Snippets
Community Discussions
Trending Discussions on byter
QUESTION
I am currently trying to make a .wav file that will play sos in morse.
The way I went about this is: I have a byte array that contains one wave of a beep. I then repeated that until I had the desired length. After that I inserted those bytes into a new array and put bytes containing 00 (in hexadecimal) to separate the beeps.
If I add 1 beep to a WAVE file, it creates the file correctly (i.e. I get a beep of the desired length). Here is a picture of the waves zoomed in (I opened the file in Audacity): And here is a picture of the entire wave part:
The problem now is that when I add a second beep, the second one becomes completely distorted: So this is what the entire file looks like now:
If I add another beep, it will be the correct beep again, If I add yet another beep it's going to be distorted again, etc. So basically, every other wave is distorted.
Does anyone know why this happens?
Here is a link to a .txt file I generated containing the the audio data of the wave file I created: byteTest19.txt
And here is a lint to a .txt file that I generated using file format.info that is a hexadecimal representation of the bytes in the .wav file I generated containing 5 beeps (with two of them, the even beeps being distorted): test3.txt
You can tell when a new beep starts because it is preceded by a lot of 00's.
As far as I can see, the bytes of the second beep does not differ from the first one, which is why I am asking this question.
If anyone knows why this happens, please help me. If you need more information, don't hesitate to ask. I hope I explained well what I'm doing, if not, that's my bad.
EDIT Here is my code:
...ANSWER
Answered 2021-Jun-04 at 09:07The problem
Your .wav file is Signed 16 bit Little Endian, Rate 44100 Hz, Mono
- which means that each sample in the file is 2 bytes long, and describes a signed amplitude. So you can copy-and-paste chunks of samples without any problems, as long as their lengths are divisible by 2 (your block size). Your silences are likely of odd length, so that the 1st sample after a silence is interpreted as
QUESTION
I'm trying to write one function that can deinterleave 8/16/24/32 bit audio data, given that the audio data naturally arrives in an 8 bit buffer.
I have this working for 8 bit, and it works for 16/24/32, but only for the first channel (channel 0). I have tried so many +
and *
and other operators that I'm just guessing at this point. I cannot find the magic formula. I am using C++ but would also accept a memcpy
into the vector if that's easiest.
Check out the code. If you change the demux
call to another bitrate you will see the problem. There is an easy math solution here I am sure, I just cannot get it.
ANSWER
Answered 2021-Jan-27 at 07:21You're actually pretty close. But the code is confusing: specifically the variable names and what actual values they represent. As a result, you appear to be just guessing the math. So let's go back to square one and determine what exactly it is we need to do, and the math will very easily fall out of it.
First, just imagine we have one sample covering each of the five channels. This is called an audio frame for that sample. The frame looks like this:
QUESTION
I am trying to write to wav by taking data from the microphone input, and other headers, and putting that into the wav file. I do that, but it still says corrupted file. One note about the code is that in the struct with the headers, it's not in the correct order. In the WriteToWav function I entered it in the correct order based on the chunk and sub chunks. Here's the code:
...ANSWER
Answered 2020-Nov-26 at 20:18So the issue was that I had to keep in mind formatting and Endianess. Instead of using << or .write, you have to have a precise format for it. A way to write to the file in the correct format is to use the following function I used below, and enter the same WAV headers.
QUESTION
I am working on a project where I need to take input from a microphone in c++, and create a wav file that stores the recorded microphone. Right now, I made a simple function that just reads from the microphone, and dumps it into a bin file. I can open it in audacity and hear what I said, but I wish to convert it to sound through my program in lets say a function. Is there anyway I can create a function to convert a binary file into a wav format? It doesn't have to be wav, it can be any popular sound format such as mp3. This is my function for getting the sound --
...ANSWER
Answered 2020-Oct-18 at 19:15Okay so I managed to find an article that walks you through how to do it. You need to have a bin value in order to do this, so you could use my code to get the bin from your microphone if you wish. Here is the article, and good luck! -- http://blog.acipo.com/generating-wave-files-in-c/. Also here is another site that did help me quite a lot on the understanding of why we need these headers -- http://soundfile.sapp.org/doc/WaveFormat/.
QUESTION
I'm trying to create a custom BodyPublisher
that would deserialize my JSON object. I could just deserialize the JSON when I'm creating the request and use the ofByteArray
method of BodyPublishers
but I would rather use a custom publisher.
ANSWER
Answered 2020-Aug-10 at 16:06You are right to avoid making a byte array out of it, as that would create memory issues for large objects.
I wouldn’t try to write a custom publisher. Rather, just take advantage of the factory method HttpRequest.BodyPublishers.ofInputStream.
QUESTION
I am using wavesurfer.js to create a multitrack player online and want to export a remixed version of the combined tracks with levels panning etc.
First I have an array of audioFiles and use this to create an array of wavesurfer elements.
...ANSWER
Answered 2020-Jun-05 at 13:31Given that you currently have an array of AudioBuffer
objects, you can interleave the Float32Array PCM data contained within each AudioBuffer
, and then use that interleaved PCM to create a RIFF/Wav file to download. If each AudioBuffer
is a track, then all of the left/right channels in the array must be combined separately and interleaved at the end. Here's how to start with one AudioBuffer
track:
QUESTION
I'm trying to create a software that stores the metadata of a wav file.
Here's an MWE:
...ANSWER
Answered 2020-May-16 at 10:01 fread(&WAV_FILE_0,sizeof(WAV_FILE_0),1,READ_WAV_FILE);
QUESTION
I am looking for a fast, preferably standard library mechanism to determine the bit-depth of wav file e.g. '16-bit' or '24-bit'.
I am using a subprocess call to Sox to get a plethora of audio metadata but a subprocess call is very slow and the only information I can only currently get reliably from Sox is the bit-depth.
The built in wave module does not have a function like "getbitdepth()" and is also not compatible with 24bit wav files - I could use a 'try except' to access the files metadata using the wave module (if it works, manually record that it is 16bit) then on except call sox instead (where sox will perform the analysis to accurately record its bitdepth). My concern is that that this approach feels like guess work. What if a an 8bit file is read? I would be manually assigning 16-bit when it is not.
SciPy.io.wavefile also is not compatible with 24bit audio so creates a similar issue.
This tutorial is really interesting and even includes some really low level (low level for Python at least) scripting examples to extract information from the wav files headers - unfortunately these scripts don't work for 16-bit audio.
Is there any way to simply (and without calling sox) determine what bit-depth the wav file I'm checking has?
The wave header parser script I'm using is as follows:
...ANSWER
Answered 2017-Sep-15 at 13:54I highly recommend the soundfile module (but mind you, I'm very biased because I wrote a large part of it).
There you can open your file as a soundfile.SoundFile object, which has a subtype attribute that holds the information you are looking for.
In your case that would probably be 'PCM_16'
or 'PCM_24'
.
QUESTION
Recently I started to code using Scapy. Basing on the example from:
Scapy Sniffing with Custom Actions
I capture multicast UDP datagrams, but besides the amount of captured packets per second, I would like to store the size(in bytes) of packets captured each second(by that I'd multiply the result by 8 and I'd have bitrate).
The problem is that capturedPacketsSize
seems to be undefined nevertheless I defined it before def custom_action()
.
I tried to define capturedPacketsSize
in different places for e.g. before sniffing in while 1
loop. The same result.
ANSWER
Answered 2019-Aug-06 at 14:40Use the global
keyword for the variable names inside the function-
QUESTION
I am testing an application in C# that receives a live audio stream and then saves it to a WAV file. The audio stream has these characteristics: frequency or sampling rate: 16000, channels: 1, frame Samples Per Channel: 320, play Delay in Ms: 200. The audio frames come as floats, and I am collecting the float frames and storing them into a Memorystream with Binarywriter. After that, I convert the content of the Memorystream into an array, and that array then is converted to a Float array again. With the float array, I start the process to assemble the WAV file.
I have compared the float frames values received with the ones inside the float array that I am using to build the WAV file and are the same. I am having trouble processing the float array to assemble the WAV file. I am not sure if I am doing the data conversion wrong with the ConvertAndWrite()
method, or if the WAV header is not well formatted according to the characteristics of the audio stream.
I can see the WAV file being created, but there is no content inside apart from the header I think. Any guidance will be much appreciated. I put together this sample code for you to test what I am doing:
...ANSWER
Answered 2018-May-12 at 07:25I have updated your code into an extension method
The idea was so you could append you data to a stream, like a file stream or memory stream, obviously this wont work for non seekable streams , So you could probably add error checking and validation
I think i got the header right after looking at the specs, it seems to play at least. Note this is not really cross platform because of the endianeness
I'm not really sure what the rescaleFactor
however ill have to trust you there
However, you should be able to modify this to accept data in different formats
Lastly, i am updating the header at the end of the append, you could probably do this separately, i.e keep adding to the stream and then update it once when finished, add pepper and salt to taste.
Usage
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install byter
You can use byter like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page